Extending GPL Licensed Code


So — once again, WordPress GPL wars have erupted on the Twitter.

Today, it started with an independent WordPress consultant being removed from the CodePoet.com website.

CodePoet is a directory of WordPress consultants brought to you by Automattic, the company behind WordPress.com.

The reason cited  was that the consultant promoted the Thesis theme, a commercial theme written by Chris Pearson, which Automattic, Matt Mullenweg and several others claim to be in “blatant violation of the GPL”.

As these things go, members of the community immediately dug their trenches and started throwing verbal hand grenades around.  Very few people had any real valid points to make; Understandable as I’m quite sure  most people haven’t taken the time to read the GPL much less understand it enough to try to interpret it.  I don’t know why, but this WP GPL fight always brings up humorous memories of 2 groups of high school aged girls arguing over which actor in the Twilight series is hotter: Edward or Jacob.  Weird, hu?  Anyway, I digress …

First of all, lets take a quick second to review my point of view on the GPL and how it applies to WordPress extensions.  Mind you, this is my interpretation of it — not anyone else’s.  Furthermore, if I were to start selling premium or commercial themes or plugins for WordPress, there is a very good chance I’d release under a GPL compliant license.

  • WordPress code is release under the GPL, so obviously modifying it’s code and then reselling the code would be in violation of copyright law.
  • WordPress provides an API – an interface that allows it to be extended to work with 3rd party code as well as allow 3rd party code to interface with it.
  • Many 3rd party, commercial, plugins can and do work without WordPress.

So, those things said — I’m feeling a bit torn.  I think it’s a fringe area of the license and it requires someone unbiased, with a lot more contract law experience, like a Judge, to make the legal distinctions.  I do however feel like I sway towards non-gpl extensions being legal and not in violation of the GPL.

I’ll explain why with the following example:

WordPress, as well as countless other GPL licensed projects offer an interface for external applications.  Does the GPL extend to commercial 3rd party projects, such as FTP Clients, software media players or email clients?

Lets use an email client as a comparison to a WordPress theme.  Why?  On it’s exterior, it may seem like an apples to oranges comparison, but if we dig deeper these two things are much more similar than they seem.  You see, an email client doesn’t do much more than take information stored on a server, format it’s display and allow you to view and navigate it in a particular way.  In that same fashion, a WordPress theme does the same thing.  It takes an an authors content and formats how it’s displayed, and in most cases, gives you a method of navigating the content.

If we apply the logic that all extensions of WordPress are covered under the GPL, then we would have to apply that same logic to software like Microsoft Outlook and Internet Explorer, not to mention the countless other products that interface with and extend GPL licensed software.

In the Pearson vs. Mullenweg scenario, who has more to loose?  Matt believes that the whole open source community would take a hit if it went to court and lost.  It’s an exaggeration, but sure, this same battle has gone on within other GPL projects and they might have to concede that 3rd party extensions that don’t use actual GPL licensed code might be in the right to sell their wares.  On the other hand, if the GPL side of the argument won, what would happen to all those commercial clients that interface with GPL code?

13 thoughts on “Extending GPL Licensed Code

  1. “Many 3rd party, commercial, plugins can and do work without WordPress.”

    I agree with this, and can even name a few if it was relevant. Those plugins should rightfully be considered separate works, and can use the licensing they prefer. I’d prefer them to be GPL, but that’s just me.

    Themes, on the other hand, are a different kettle of fish. I know of no WordPress theme that can work without WordPress. It’s hard to argue any theme being a separate, non-derivative, work.

    • I can think of countless themes that work (ie: make a site look and feel a certain way) without anything but the HTML that they create. They’ll create the same look and feel on Drupal, Joomla and even static sites. That is what themes do.. Themes style content, they don’t make content, they don’t edit content, manage content, manage user, etc… They simply style content. WordPress doesn’t make the content, it produces the content for a theme to display. The themes do one job, WordPress does another.

  2. After this whole shitstorm got going today, I actually read about 3 hours worth of case law (finally putting my wife’s law degree to good use!). And there really hasn’t been a single case ultimately defining the ‘derivatives’ portion of the argument, i.e. if it inherits the license or not. So no one (not me, not you, not an attorney) has any case law to back their argument. Personally? Either Matt needs to take DIY Themes to court or STFU about it. Period. End of story.

    The part that I haven’t seen is how Thesis is affecting Automattic’s business. I understand WP is free, but there are a lot of services that they charge for. Also, I know it gets under Matt’s skin to see people say things like ‘Thesis makes WP SO MUCH BETTER!’ and other fanboy statements. And Pearson’s ego (probably on par with Matt’s) doesn’t help either. What started as a disagreement has become a purity war. That doesn’t bode well for Thesis OR WordPress.

    • Andrew, you’ve hit the nail on the head. There’s no case law (that I’ve found or been referred to) here in the US. Matt seemed to suggest there were applicable cases and I would hope he’d share them with us.

      However, I think you also pegged the reason Matt is so vehement in his opposition to Thesis… because it gets under his skin. He’s used to getting what he wants and having his word treated as law in the wOrdPRESS community. Chris has essentially told them to go shove their opinion on the GPL.

      That bothers Matt more than I think most people realize. This stuff really gets under his skin.

      I mean consider the kind of egomaniac you’d have to be to not only implement the capital P filter, but to stick by it in the face of such overwhelming and well reasoned opposition. All because he doesn’t like people misspelling the trademark he created.

      So when Chris thumbs his nose at the idea of themes inheriting the GPL, and is vocal about it, I really think it becomes an emotional, almost religious issue for Matt.

      And of course, as you mentioned Chris isn’t exactly lacking in the ego department (I suspect he’d admit as much) and thus you wind up with what you have today.

      Unless Matt sues DIYthemes (a move that he threatened even before today’s interview but now is trying to play off like Chris wants it) there will likely be no resolution to the issue.

        • Unfortunately, Pearson v. Mullenweg will not be the case that decides whether extensions are derivative works. By using GPL code from WP, it’s no longer a case of derivative works — it’s now a case about blatant copyright violations and I don’t think Pearson really has much of a legal defense.

          Very saddened.

          I’ll be pulling all Thesis affiliate advertisement from my sites.

  3. That pretty well summarizes my position, about as exactly as possible: WordPress exposes an API, and extensions merely make use of the exposed API calls. No actual code from WordPress core is used in an extension. Although extant case law is only tangentially related to the matter of WordPress and its extensions with respect to GPL inheritance, proving that an extension is a derivative work of WordPress will be more difficult than Matt et al expect it to be, IMHO.

    I am glad to hear that Matt is preparing to take the issue to court, since at this point, that is the only thing that will provide even a modicum of closure for the community.

    In the meantime, the rhetoric and outright animosity directly and indirectly generated by this matter will only result in tearing apart the WordPress community. So, Kudos to Matt for being willing – finally – to take the matter to court.

    (Just please, Matt et al: refrain from calling anyone a “lawbreaker” until a court actually says so. Such comments may be legally actionable as slander/libel.)

  4. I think a lot of the “sue, or get out of the way already” talk is coming from people who are so absolutely fatigued over this entire subject. I’ve made my peace about the GPL-ness of any WordPress code I use in my themes. In order to prevent my clients from distributing a design across a network of sites, I license the images and css separately. I don’t distribute themes nor do I release the code to mine for distribution, mainly because I’d rather not have to answer any support questions from anyone who would be a total drag on my time.

    I think it’s all GPL. I also think all the fighting is starting to get to me.

  5. The court option is asinine. I have been a third party observer of an ongoing lawsuit in my family over a business I used to work in. The matter at hand is simple and should have been settled already. Yet, 5 years after the first suit was filed, the case just made it to the appeals court.

    The point is this: there is no possible way that this issue can be resolved in a reasonable amount of time through the court. We will all be on to some other CMS or some other web design software by the time anything came about.

    The only thing that I can imagine is Pearson following through with a libel suit on the public statements made by Matt where Matt alleges that DIY and Chris are criminals (breaking the law, as he puts it). That is something that could have an immediate and potentially devastating outcome for Matt, at least personally.

    In the end, this horse shit has to stop. This reminds of high school and I am losing respect for all involved, myself included.

  6. My biggest issue in all of today’s madness is Matt Mullenweg’s behavior. He leveled several severe accusations at Chris without a single shred of evidence to back them up.

    After making these wild accusations he dodges a very good question from Chris about the responsibility of his actions and tries to take the moral high ground on the issue. He then proceeds to once again retweet irresponsible and inflammatory statements about Thesis.

    I’m sorry, but how exactly does Matt think that’s helping the wOrdPRESS community? And how is that holding to the standard of behavior that he apparently holds others (myself included) to?

  7. Sadly — New information has come out that shows that Pearson has quite obviously violated the GPL. Although I’ve yet to put eyes on the violating code, it does seem there is a fair bit of code within Thesis that was lifted directly from the WordPress source. If this is true, then there is no derivative works case here.

    If I were Pearson, I’d quickly announce that Thesis has, by his lack of understanding or straight-up defiance, inherited the GPL license and push forward.

    Beyond that, I frankly choose not to debate who’s had the worse attitude about it, Matt or Chris. If the above statements are true, Chris has lost all the wind from his sails (sales?).

    This post was clearly about defining derivative works as they apply to WordPress extension/integration and not about assuming why or how either side of the argument defends it’s position. I do have issue with BOTH sides of the argument, but that’s best saved for a different post.

    That said, I’ll leave the comments open on this post, but please refrain from turning into a Pearson vs. Mullenweg soapbox.

    • Pearson has become a victim of what all software companies dread. An alledged clueless employee that has copy pasted code from a GPL project into the companies own software. Its virtually impossible to know which code comes from another project or not. I don’t know of any tools for comparing public repos with code snippets.

      I think next version of Thesis, 1.8, has the code removed.

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>