WordPress themes and plugins DO NOT inherit the GPL v2


Last week, the WordPress scene once again exploded with debate about the GPL v2.  The fuse?  A WordPress developer was removed from the CodePoet.com directory because he actively supported the commercial theme “Thesis” 1.  The community ruckus  spawned several articles about the subject, including this article I wrote as a response to the situation.

This post is an update to my previous article.  Though I think I made a valid argument, I no longer think it’s accurate and it’s doesn’t cover the “whole truth” which I’m going to do here.

While reading all the articles that have been written recently, I came to an epiphany!  Most of these articles, including my own, make one critical error:  They missed facts and focused on beliefs.

I’ll have to thank Matt Mullenweg for pointing out this fantastic quote:

“In reality, we often base our opinions on our beliefs, which can have an uneasy relationship with facts. And rather than facts driving beliefs, our beliefs can dictate the facts we chose to accept. They can cause us to twist facts so they fit better with our preconceived notions. Worst of all, they can lead us to uncritically accept bad information just because it reinforces our beliefs. This reinforcement makes us more confident we’re right, and even less likely to listen to any new information.”

– Joe Keohane in How facts backfire.

One of the most well written articles on the subject of Derivative Works and WordPress would probably be Mark Jaquith’s “Why WordPress Themes are Derivative of WordPress” 2.  It spends most of it’s space explaining why WordPress themes should be considered “derivative works” without ever quoting a single line of the GPL v2.  He spent 2,000+ words on defining what makes something derivative but he missed one fact that qualifies, or in this case, disqualifies his entire opinion.

I commented:

Your article does a detailed job of describing your opinion. I truly appreciate hearing your point of view.

That said, I can’t help but notice that you don’t mention which part of GPLv2 you’re basing this opinion on. I think it’d be helpful to the readers to see what part of the license brings you to your conclusions.

Mark responded with the following:

The crux of it, to me, is this:

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works

I do not consider themes independent and separate works. They form one work, when combined with WordPress, and necessarily contain WordPress code and WordPress-derivative code.

BAM!  There it was.  The qualifier.  Not the quote from the GPL v2, but his words:  “when combined with WordPress”.  As Matt Mulenweg’s post quoting Joe Keohane helped me realize, Mark Jaquith twisted some facts by omitting this one statement from his entire article.  Perhaps he did this intentionally, or maybe it was just his beliefs driving his facts.

Mark made some very valid points throughout his article and it is VERY well written.  Points about how themes are run, how they interact with WordPress the same way that WordPress interacts with itself and how a theme uses the same functions as the core uses.

Yes, valid and convincing points indeed, except none of his points qualified until after a theme is distributed.  The GPL v2 is a distribution license, after all.  Until a theme is combined with WordPress, none of his points are valid.  If you go back and re-read his post, adding “when combined with WordPress” to each point, the article takes on a completely different meaning than what it’s title implies.

Now lets take a second to review James Vasile’s “official legal opinion” 3 as posted on WordPress.org back in July of 2009.  Since his legal opinion tends to be the de facto go-to when issues of WordPress and commercial themes come into question, I think it’s a very important read for everyone.  Since Mark and several others pointed to this Legal Opinion, I decided to read it one more time — really trying to absorb it this time, opening my mind to any new information that I may have missed in the past.

Now, I’m guessing I can’t be the first person to notice this — and I’m sure someone will point it out (please do).  James Vasile qualifies his entire legal argument with the following statement:

On the basis of that version of WordPress, and considering those themes as if they had been added to WordPress by a third party, it is our opinion that the themes presented, and any that are substantially similar, contain elements that are derivative works of the WordPress software as well as elements that are potentially separate works.

As James sates, it’s his official legal opinion is that themes AS IF THEY HAD BEEN ADDED TO WORDPRESS BY A THIRD PARTY are derivative works.

How the HELL did I miss this the first 10 time I read it?  Perhaps because I wasn’t expecting the go-to, “Official Opinion”, to support my opinion of commercial themes and plugins as they are currently distributed.  I read right over that statement because I was looking at the information and trying to find ways to refute it rather than agree with it.

So, there ya go – I now officially agree with the official WordPress.org published legal opinion of James Vasile.

WordPress themes and plugins that do not contain actual code from within WordPress and that are distributed without WordPress are NOT derivative works.  They do not become derivative works until a third party places them within the codebase of WordPress.  As we all know, people selling commercial plugins almost NEVER distribute them with WordPress and if they’re on the up-and-up, they’re not distributing copy pasta 4 that could possibly cause their code to inherit the GPL v2.

Now, many of you may wonder why I’m so adamant about this subject.  Those of you that know me, know that I wholeheartedly support Open Source and what it stands for.  WordPress and other Open Source projects have been putting food on my table for over a decade.  Why would I speak out against people like Matt Mullenweg and other GPL evangelists?

Well, the answer to that is very simple:  I believe in freedom in its purest form.

Just as much as I appreciate the work of people like Mark Jaquith, Matt Mullenweg, Andrew Nacin and all the many other contributors to WordPress, I also appreciate the fact that not everyone is able to put food on their table as a side-effect of freely contributing to a project such as WordPress.  I understand that some people might be creating original work that simply doesn’t have as much broad appeal or is amazingly innovative but simple, and the only way they’re time and effort will be repaid is by keeping the creation their own.

Yes, there are plenty of people that code commercial software that could contribute to the open source community and still make money, but it’s not my place, nor do I think it’s the intent of the GPL, to force those people to do the right thing.

Other good reads:

For a ton of research and potentially related case law, Chip Bennett did a very in depth write-up on this same topic, from a slightly different angle.

A short note on Chris Pearson:

Since I started this post with mention of Thesis, I feel I need to add a note about it.  As I don’t want to make Thesis a focus here, I’ll keep it brief.

Chris Pearson allowed code from within WordPress and other GPL’ed plugins into his code-base.  Because of this I believe he has, at least to some extent, violated the GPL.  If he had kept it clean and used only his own code in the making of Thesis, I would probably be supporting him and would be rejoicing a precedent-setting lawsuit against him.  As it stands I cannot support him, nor do I find any joy or purpose (other than to compel him to re-release his code under the GPL) in any legal action against him.  Thats is all.  I will not respond, and will probably delete any comments in direct regards to Chris or Thesis.

Notes:

  1. a commercial theme written by Chris Pearson, which Automattic, Matt Mullenweg and several others claim to be in “blatant violation of the GPL”
  2. http://markjaquith.wordpress.com/2010/07/17/why-wordpress-themes-are-derivative-of-wordpress
  3. I’m referring to his opinion and not the introduction which I find wholly inaccurate – http://wordpress.org/news/2009/07/themes-are-gpl-too/
  4. Nerd Slang for software that contains copy and pasted code from other peoples work

15 thoughts on “WordPress themes and plugins DO NOT inherit the GPL v2

  1. Until a theme is combined with WordPress, none of [Mark Jaquith's] points are valid.

    What about a replacement file for WordPress core? It replaces a core WordPress file completely. Say that it doesn’t have large chunks of WordPress code, it just has action/filter calls, and calls to WordPress core functions. It’s adding menus, it’s removing WP filters, it’s modifying widgets, etc. Does the fact that it can be distributed separately from WordPress matter? I don’t know. I don’t think it does. I think that punishing WordPress for having a flexible plugin system is unfair. If people had to modify core WordPress files to add new functionality or disable existing functionality, it might be more clear that distributing those modifications constituted making a derivative work.

    For an example, consider a wholly GPL codebase. Pretend it isn’t PHP, which is compiled on the fly, but is actually C code, that needs to be compiled into a binary. Now say someone patches it (say they disable some core functionality, and add new functionality, making calls to the core code in order to accomplish it). They then compile it, and distribute that compiled version. That’s clearly a violation of the GPL. But what if instead, they just distribute their patch? The result is the same. Have they made an end-run around the GPL?

    I don’t know if a court would make a distinction. But that would probably be one of the pivotal points of any decision.

    • Pretend it isn’t PHP, which is compiled on the fly, but is actually C code, that needs to be compiled into a binary.

      It is PHP. We can’t pretend it’s something else.

      Now say someone patches it (say they disable some core functionality, and add new functionality, making calls to the core code in order to accomplish it). They then compile it, and distribute that compiled version.

      The key here is they compile it and distribute it. I equate this to someone packaging their changes, themes or plugins into a distribution of WordPress and then distribute it as a whole under a different license.

      But what if instead, they just distribute their patch? The result is the same. Have they made an end-run around the GPL?

      Yes – they have. If the patch is applied and the application is compiled by the end-user, they have indeed found the loophole. The patch is not, unless it’s copy pasta, inheriting the GPL.

      I think that punishing WordPress for having a flexible plugin system is unfair.

      I don’t actually believe that WordPress is being punished at all. The license doesn’t do what you’d like it to do, so it’s the choice of license that’s “punishing” you. If you can’t deal with the terms of the license, I can’t help but echo some of the folks in your camp and tell you to vote with your feet. Nobody is forcing you to contribute your work under the GPL.

    • What about a replacement file for WordPress core? It replaces a core WordPress file completely.

      Where does this core WordPress file go?

      In fact, it “goes” nowhere. It remains right where it started. All that changes is that the interaction mechanism calls a different file (or a different function) altogether.

      Nevertheless, none of this happens until the Theme is combined with WordPress core. A Theme, on its own, neither incorporates, replaces, nor modifies anything in WordPress core.

      Say that it doesn’t have large chunks of WordPress code, it just has action/filter calls, and calls to WordPress core functions. It’s adding menus, it’s removing WP filters, it’s modifying widgets, etc.

      None of the actual filtering, extending, etc. happens until the Theme is combined with WordPress core.

      I think that punishing WordPress for having a flexible plugin system is unfair.

      How is WordPress “punished”? The follow-on creative expression of additional Themes (and Plugins) actually helps WordPress, by expanding its market demand.

      If people had to modify core WordPress files to add new functionality or disable existing functionality, it might be more clear that distributing those modifications constituted making a derivative work.

      And if people were distributing modified core WordPress files, such files would (much more likely) be derivative. (Even here, such derivatives might be considered to be fair use. See the Sega v. Accolade fair-use assessment.)

      The protections in GPL derived from copyright law are quite narrow and specific. Likely, stronger/wider protections would require patent protection.

      But what if instead, they just distribute their patch? The result is the same. Have they made an end-run around the GPL?

      It would depend on the content of the patch itself. But, this is where the static-vs-dynamic linking argument enters the discussion. In the end, it still depends on the nature of the distributed code. If it incorporates copyrightable expression from a protected work, then it is infringing. If it does not incorporate copyrightable expression from a protected work, then it’s not.

      Likewise with WordPress: if a Theme contains nothing from WordPress core other than function calls and filter/action hooks – none of which is copyrightable expression – then it is extremely doubtful that a court would determine it to infringe upon WordPress’ copyright.

    • [EDITORS NOTE]

      Jacob asked that I remove his comment. He didn’t feel he represented himself well. “Rumbling, heated emotional and irrational arguments. I’m still learning brevity.”

      As I’d hate for anyone to accidentally mis-represent themselves, particularly on such a touchy and somewhat confusing subject, I’ve gone ahead and deleted his comment.

      [/EDITORS NOTE]

    • “Does the fact that it can be distributed separately from WordPress matter? I don’t know. I don’t think it does.”

      It absolutely does. This is why you guys – and the FSLF – do all the hand-waving about “combined at execution” which is legally irrelevant. The law analyses only what is actually distributed – not what is executed.

      Mark, I’ve brought this point up to you multiple times, and you’ve yet to provide a satisfactory response.

  2. Interesting article! That’s a good (and new) point of view on the subject.
    I have a question though: if WordPress themes do not become derivative works until a third party places them within the codebase of WordPress, it means the GPL does not apply until you install it, right?

    But ultimately, all WordPress themes will be installed and combined with WordPress at one point. So would that mean Thesis would not need to be GPL on Chris’ site, but when the end-user installs it on his WordPress instance, it becomes a derivative work and thus inherits the license?

    • I have a question though: if WordPress themes do not become derivative works until a third party places them within the codebase of WordPress, it means the GPL does not apply until you install it, right?

      GPL v2 defines distribution. If a plugin or theme uses actual copy-written code within it’s own code-base, it is potentially inheriting the GPL v2.

      So would that mean Thesis would not need to be GPL on Chris’ site, but when the end-user installs it on his WordPress instance, it becomes a derivative work and thus inherits the license

      Thesis, if it didn’t contain any code from WordPress or other GPLed plugins would never inherit the license. It’s combined by the end user, and the end user can do whatever they please with their copy of WordPress – the restrictions only apply to distribution.

      If they packaged the modified version of WordPress and distributed it, they would probably be violating the GPL AND the license they purchased from Chris Pearson.

  3. Thanks for this very cogent analysis. While I’d already arrived at the same conclusion you did, it’s gratifying to see my opinion validated by someone with your credentials. (I’m a no-nothing, non-coding WordPress user, but I also try hard to accomplish due diligence when faced with questions such as those you addressed.)

    Thanks again for helping to clarify this rather convoluted issue.

  4. … provided they do not use any WordPress function or core code?

    For example, any theme that does not even use one of the more common functions such as the_content(); or, any recently written plugin that does not use other commonly used functions, such as widget(). Then, by all means, I would agree with your title, “WordPress themes and plugins DO NOT inherit the GPL v2″ … otherwise I would most certainly insist on adding my opening line.

    • They can refer to functions within WordPress. Being dependent on other code doesn’t mean it’s derived from the code it’s dependent on.

      In the same sense that an article written about a book doesn’t violate the copyright of a book.

    • Based on my reading of relevant copyright case law, mere function calls fall under 102(b) of the Copyright Act, which considers such “methods of operation” (or interoperability; see Sony v Connectix) as non-copyrightable:

      In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

      So, calling the_content() within a Theme does not constitute infringement, while wholesale copying the code that WordPress core uses to define the_content() would constitute infringement.

  5. Quick note on GPL and software freedoms: I believe the GPL or a license that enshrines it’s freedoms is the most proper way to license a work of copyrighted software. We license this way, and aren’t looking back. I commend the authors of WordPress for taking this stand for the freedoms of their users.

    That being said, I have to disagree with the prevailing opinion by the leaders of the WordPress community. IANAL, and legal precedence can and may disagree with me. For that matter, my limited understanding of copyright law is limited to U.S. law, so the situation could be radically different in other countries.

    See the Copyright Registration for Derivative Works article at the US Copyright Office website for some casual acquaintance with derivative works.

    Ok, done with the disclaimer.

    Now, from this article:

    Yes, valid and convincing points indeed, except none of his points qualified until after a theme is distributed. The GPL v2 is a distribution license, after all. Until a theme is combined with WordPress, none of his points are valid.

    This really gets very close to hitting the nail on the head for me. I say “close” because I would say it this way:

    Yes, valid and convincing points indeed, except none of his points qualified until after a theme is distributed with WordPress or containing WordPress code. Until a theme is combined with WordPress, and distributed as a combined work, none of his points are valid.

    As my novice legal eyes see it, unless a piece of software is distributed as one work with another, or substantially containing material from another work within, it isn’t derivative, period. Function names, hook names, and trivial programming structures (such as the loop), do not constitute copyrightable material. There is legal precedent on interoperability (see http://www.eff.org/cases/lexmark-v-static-control-case-archive for instance).

    After all, I could write from the ground up a PHP content management system that used the same function names, hook names, etc., plug the theme in, and have a completely different work. Think Mono vs. Microsoft’s .NET framework (threatened by Patent, not copyright). Think Samba vs. Windows SMB stack. Merely interoperating with an API does not make you derivative. Now if Novell starts distributing Microsoft’s .NET libraries with Mono, or the Samba team starts distributing copy-pasta, they’ve got a problem.

    I do think theme author’s should use the GPL, because I believe in its freedoms, and because I respect the community we serve. Other authors may disagree, and so long as they are not plagiarizing, unfortunately, that is their right. Remember, the GPL doesn’t govern the end-user’s using the software. If the end-user combines your theme with WordPress for their personal use, that has nothing to do with you.

    I’ll close with a bit of the GPL v2 itself:

    These requirements apply to the modified work as a whole. If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works. But when you
    distribute the same sections as part of a whole which is a work based
    on the Program, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote it.

    John

    • I don’t really like the idea of not releasing GPL code means you are not part of the community. Its fearmongering etc. Do as we do or we will blog and tweet stupid and nasty stuff about you. Write blog posts about your return policy and overall shun you from whatever WP stuff we control. Moronic is what it is.

      Personally I prefer 2,3 clause BSD or MIT license. No viral nature there and everyone can use the code however they want. That is what freedom is all about =).
      Except for stuff I sell which is proprietary.

  6. It seems to me that some of the statements made by the WordPress core developers and employees of Automattic that the copyright of the Theme and Plugin developers do not exist. I believe it is unintentional, but it is the only way their argument might work in some of their examples. While WordPress is covered by the GPL, it is also true that many people own the copyright to WordPress or at the very least their little part of the WordPress source.

    The advantage of WordPress is partly why it has so many plugins, so many themes, and works so well. Consider this: If WordPress required modifying the core, this would still not require that people push those fixes and changes back up to WordPress source. By creating a system where it is easier to see the benefit, more people helped create the ecosystem and community of what WordPress is today. Many would have simply created their own web sites as they saw fit and never contributed or used WordPress.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>