Reading my WordPress feeds this-morning, it appears a war of words broke out overnight between Matt Mullenweg (the lead developer of WordPress) and Chris Pearson, the developer of the Thesis theme.
In brief, Mullenweg believes that, because WordPress is released under the GPLv2 license, all themes and plugins developed for WordPress must also be released under the same license. Pearson disagrees.
This situation has never affected us directly at Soupgiant so we haven’t needed to, and this is important, ask our lawyer if my interpretation is correct. This is a layman’s opinion and should be treated as such.
The battle comes down to these clauses in the GPLv2 license:
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
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.
–source GPLv2 license
Due to the second clause quoted above, I believe that Mullenweg is wrong. WordPress themes can operate on other blogging platforms with minimal changes. This has been done before with the Sandbox theme for WordPress which was successfully ported to Movable Type.
WordPress themes output HTML with a series of calls to the blogging platform. To output the post’s title and contents in our base theme, we use the code:
<h2 class="entry-title"><?php the_title() ?></h2>
<div class="entry-content">
<?php the_content("Continue reading " . the_title('', '', false)); ?>
</div>
To output the same HTML in a Movable Type theme, we would output:
<h2 class="entry-title"><$mt:EntryTitle$></h2>
<div class="entry-content">
<$mt:EntryBody$> <$mt:EntryMore$>
</div>
In terms of a page’s output, the above code is a minor part of the page. The theme’s template is mostly made up of HTML and CSS, HTML and CSS operate in the browser and not in the blogging platform. It’s for that reason that I believe that Pearson is correct in this case.
I acknowledge that WordPress hooks may complicate the matter but these hooks output such a minor part of a theme’s HTML, that I consider the theme uses the platform but isn’t derived from the platform. I’ve left plugins out of this discussion as these are a more complicated matter: they can output HTML or they can build on the platform.
The above said, were I to release a WordPress theme I would probably release it under the GPL as a hat tip and thank you to the community that has assisted me so much. However, if the theme was as complicated as the Thesis theme, I may feel differently about the matter when it’s crunch time.
Again, this is a layman’s opinion and should be treated as such. If you have a layman’s opinion too, we’d love to hear it in the comments.
I think you have missed an important distinction. No one will argue that the CSS/JS must be GPL unless they are derived from a GPL theme. Perhaps Mullenweg may even concede some of the more basic html theme files are also not derivative works.
Thesis, however, is much more than basic theme. It extends WordPress classes and interacts heavily with the WP API in ways that many themes don’t. The consensus among the legal community (well, those that deal with the GPL) is that WP themes are in fact derivative works given the design of the theme system.
The gray area is whether not interacting with the WP api constitutes a derivative work. I’m torn on this aspect of the issue. However, while I have not seen the Thesis code, someone did post a screenshot of a piece of code in Thesis that extends a WP class. That piece is very obviously a derivative work.
Pearson’s incoherent arguments do little to help his cause. He is foolish to alienate the same community that pays his bills. That said, both men have shown poor form in handling the issue.
I’d like to expand on part of what I mentioned earlier. Your example may seem reasonable as that piece of code would look pretty much the same in most any similar platform. WordPress themes, however, generally require (Thesis definitely does) the use of WP specific features like “the loop” and the core datastructures. Usage of these very likely constitute a derivative work. Unfortunately, GPL is not worded perfectly and seemed to have compiled languages in mind. There may still be a loophole, who knows. The intention of WP was very clear, however. To use some loophole (if there is one) to avoid one’s responsibility to the community is just shameful.
http://wordpress.org/news/2009/07/themes-are-gpl-too/
This debate may now be moot as allegedly hundreds of lines of code copied and pasted from WP core have been found in Thesis. Source: @nacin
Thanks for your comments whatm.
I think the last point you make in your first comment is the most disheartening, in this battle neither of the stars appear to be arguing in law.
I’d disagree with the WordPress loop being a platform specific feature, the Movable Type equivalent is
<mt:Entries>
.I’d agree that the intention is clear and, like you, it’s more ethical to meet someone’s intentions than to exploit a loophole.
If @nacin’s allegations are true, then as a potential test case it’s off to a shaky start…