GPL: WordPress, Thesis, web2project, and Beyond

For those of you just tuning into the WordPress/Thesis battle, here is the current – as of 19 July 2010 – state of things:

  • At some point recently, the servers of Chris Pearson – owner and distributor of the Thesis theme for WordPress – had a vulnerability on his server and the latest releases of Thesis were compromised.
  • When that came to light, Matt Mullenweg – head of the WordPress project, founder of Automattic, and founder of the WordPress Foundation – has previous stated that “WordPress Themes are GPL too!” sent a simple Tweet: “This is what happens when non-coders think they can code.
  • In a matter of moments, that was being reTweeted, argued, discussed, blame was being spread around, and things started getting heated.
  • Andrew Warner had the insight to get both Chris and Matt on the phone for a Mixergy interview. Chris came off poorly (at best) when he “explained” that the GPL didn’t apply to Thesis and further claimed that he was one of the three most important people in WordPress. Things exploded from there.
  • Matt raised the stakes by making a public offer to buy any existing Thesis customer a new premium theme from somewhere else. And then started tweeting individual Thesis customers making the offer.
  • And igniting things further, Andrew Nacin – another core WordPress developer – and a few others (Andy Peatling, Drew Blas) started digging and found snippets of GPL’d WordPress code in Thesis.
  • Next, a commenter on Matt’s update post (titled: “Syn-Thesis 1 and Chris Pearson“) who happened to be a former Thesis developer admitted to copy/pasting things from WordPress because he didn’t understand the license.
  • Finally, Chris says that the offending code has or will be removed but Mark Jaquith (and the Drupal and Joomla communities) wrote “Why WordPress Themes are Derivative of WordPress” so offending code or not, it doesn’t matter.

So what does this all mean to the community?

Good question… As my partner Marco Tabini notes in “WordPress, the GPL, and cherries on top” everyone has an opinion on what the GPL means and what its ramifications are but since there’s no legal precedent, it’s just a best guess… and there has yet to be a precedent to solidify an interpretation. In the meantime, the most common interpretation is based on the Software Freedom Law Center’s opinion and the GNU FAQ. Here’s the problem with that:

The FAQ is not part of the license and not distributed with it. It is stored on a website without version control or an audit trail on who might have modified it when. By all accounts, it is less reliable than Wikipedia because even errors can’t be fixed.

Feel free to cite the FAQ all you want.. no one ever explicitly or implicitly agreed to that interpretation.

If you combine this with Matt and Mark’s opinion that themes are GPL because they’re dependent on WordPress code and datastructures to have meaning, what are the ramifications of this interpretation?

  • What is the threshold where including code crosses from “Fair Use” into “now this must be GPL”? While there are lots of ways to do things in PHP, if there are Best Practices, we’ll all tend to reach similar results.
  • For client work, if copyright isn’t transfered with the delivery of the code, isn’t this distribution? And if so, doesn’t the client work have to be GPL? Or if you transfer the copyright at delivery, what about the demo versions? Did you send them copies of the code before you transfered copyright?
  • If the client work does have to be GPL, do you have to make it available to anyone who asks for it? Since the GPL doesn’t requite a “public disclosure”, it’s possible no one would know to ask.. but what about employees of either group? If it’s “privately” GPL, would an employee be within their rights to take and use a copy?
  • What does this do to Non-Disclosure Agreements? If the code must be GPL and I have to provide a copy to whoever might ask, how can I agree to protect the secrets of my customers?
  • What about a book that covers GPL code and datastructures? What if the book goes as far as including snippets of WordPress code itself? While the book may be able to physically exist and function independent from the code, it doesn’t have any meaning without the core system. Should Lisa Sabin-Wilson GPL her book “WordPress for Dummies“? Does Aaron Brazell have to GPL his “WordPress Bible“?
  • A given WordPress post consists of a title, body, and a category or some tags. It’s pretty trivial to turn that into a post on the page without using WordPress at all. But what about a complex data structure that only has meaning once it is transformed by the core code?

That last question is the point of the discussion we’ve had within the web2project team recently.

If you’re not familiar with web2project – or its parent dotProject – the data in the database doesn’t mean much by itself. The core code must retrieve the data and process it to express a project plan in a meaningful way. It does the same to files uploaded, tasklogs stored, and a number of other things within the system.

Therefore, since the data is wholly dependent on the core web2project code, does the data itself have to be GPL?

And that’s why a few weeks back, we started the process of changing licenses from GPL back to BSD as dotProject originally was. I’ll go into more detail on the process and due dilligence involved, but know that we’ve been on this for quite a while and are working to have it fully resolved before the next web2project release.

Disclosures: I don’t have an interest in Thesis as I’ve never used it and don’t know Chris Pearson at all. I use Automattic’s Akismet for blocking spam on a number of Drupal sites. Finally, I am using WordPress on the web2project site relaunch and was a reviewer in Aaron Brazell’s WordPress Bible and wrote the foreword. My biggest concern in all of this are the larger implications on web2project and GPL projects in general.