WordPress/Thesis Conflict Highlights GPL Nuances
Popular premium WordPress theme argues to keep its commercial license.
As debates continue on the efficacy of open core, real-world events are demonstrating the need to pay attention to other license-related issues.
Notably, there is an online debate (started on Twitter) between Matt Mullenweg, co-founder of WordPress, and Chris Pearson, creator of the Thesis Theme for WordPress, a popular WordPress theme that also happens to have a non-free price tag.
At issue is the license used by WordPress: the GNU General Public License (GPL). Specifically, for all you license wonks, GPLv2. Mullenweg has recently called out Pearson for not licensing Thesis under the GPL, even though (Mullenweg maintains) Thesis directly incorporates from WordPress code.
Under the terms of the GPL, if certain kinds of code is incorporated within a second project, then the second project must also be released under the GPL--though not exclusively, as dual-licensing is allowed.
This seems very straightforward, but the uncertainly here is how much WP code, if any, is in Thesis, and how the code is actually used. There are instances where code can be shared without license transferal, such as the binary blob drivers that connect to the Linux kernel. Calling the functions of a GPL'd project is also not enough to transfer the license.
The question pivots on whether Thesis is a derivative work of WordPress. In 2009, Mullenweg put the question to the Software Freedom Law Center (SFLC): should the code within any WordPress theme be licensed under the GPL? Mullenweg posted the SFLC's answer on the WordPress.org blog:
"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. Specifically, the CSS files and material contained in the images directory of the 'default' theme are works separate from the WordPress code. On the other hand, the PHP and HTML code that is intermingled with and operated on by PHP the code derives from the WordPress code."
Mullenweg summarized the SFLC statement: "PHP in WordPress themes must be GPL, artwork and CSS may be but are not required."
Armed with this knowledge, Mullenweg has challenged Pearson's decision to not license Thesis as GPL, as Pearson sells Thesis under the banner of his commercial venture DIYthemes. In a video debate Wednesday on Mixergy, Pearson maintained his stance that Thesis is not a derivative work, and openly challenged Mullenweg's assertion that Thesis is hurting the WordPress community.
Pearson argued that rather than hurting the WP community, Thesis has enhanced WP and WP themes by attracting "thousands" of new users to WP. Mullenweg did not deny the positive aspects of Thesis, but continued to hammer home the point that despite Thesis' contributions to WP, "violating the license of WordPress is disrespectful to the thousands of people who have built WordPress."
Pearson based much of his argument on a November 2009 article from attorney Michael Wasylik, which stipulated that the relationship between WP and its themes is no different than the relationship between a game console and the games that run on top of the console. Wasylik challenged Mullenweg's assertions that since Thesis called various WP functions, it was tied to WP enough to be called a derivative work, and therefore should be licensed under the GPL.
Wasylik argued, and Pearson obviously agrees, that calling functions makes a work dependent, but not derivative. You have to actually copy code from one work to another to make it derivative, according to Wasylik.
That seems a pretty solid stance, but if it is the only one Pearson is relying upon, it may backfire. Yesterday, having heard the debate, developer Drew Blas (who uses WP but is not otherwise affiliated with the project) took a look at the WP and Thesis codebases and came up with an notable conclusion: there is WP code found in Thesis.
"My conclusion is that Thesis does contain GPL licensed code from WordPress. There were several examples that fit, so I’ve chosen the strongest one here that is sufficient to show that the code has been reused. ONE OF the functions in question is:
wp_list_comments from wordpress/wp-includes/comment-template.php:1387 thesis_list_comments from thesis_17/lib/classes/comments.php:169
"And you can see a comparison of the exact matching lines: http://gist.github.com/477051," Blas writes.
If Blas' analysis is correct, then it seems to kick the legs out from Pearson's primary argument: if there is derivative work from WP in Thesis, then by the definition of Wasylik (and the GPL itself, which Wasylik cited), Thesis may have to be licensed by the GPL as well. It may just be that only certain sections of Thesis will need to be GPL'd, or fair use could apply... nothing, it seems, is clear.
The lines are definitely drawn--Wednesday, both Mullenweg and Pearson both intimated that legal action may be necessary to resolve this. That would be unfortunate, because there are alternative revenue models available for DIYthemes if Thesis does indeed need to be licensed as GPL. There is nothing in the GPL that prevents charging for GPL'd software, so Pearson could easily opt to release the Thesis source code but charge for the binaries (because honestly, how many WordPress users are going to want to compile code?) à la Red Hat Enterprise Linux. Or they could release code and binaries free-of-charge and move to a support model. Moving to GPL should not be the death of Thesis and DIYthemes.
It remains to be seen how this proceeds, based on the attitudes of Mullenweg and Pearson, which have been decidedly confrontational to date. The results will affect a lot of commercial interests, and help further define how licenses and code work together.