July 28, 2010
This article was contributed by Nathan Willis
The WordPress community witnessed the
end of a high-profile war of words last week when the distributor of a
popular commercial theme for the blogging platform agreed to license some
of his work under the GPL. Prior to last week, Chris Pearson had argued
fiercely that WordPress themes are not derivative works of WordPress itself
— as the project has long claimed — and thus he was free to
sell his Thesis theme under his own
restrictive licensing terms.
The stand-off between the projects erupted in a live argument on the Mixergy podcast between Pearson and WordPress founder Matt Mullenweg, one that ended with Pearson essentially challenging Mullenweg to bring a lawsuit against him. With Pearson's change of heart, the issue appears to be resolved. Pearson announced on his Twitter account that Thesis was now available under a "split" license, with the GPL applying to executable portions, and a separate license covering the images, CSS rules, and client-side JavaScript — the formula insisted upon by the WordPress project.
What's in a theme?
The disagreement hinged on a question that will sound familiar to free
software enthusiasts: what constitutes a derivative work under the
GPL? The WordPress project has long taken the position
that both plugins and themes are derivatives of the WordPress application
itself, and thus must inherit its license, the GPL v2.
Pearson disagreed, claiming that Thesis was his creation and that he could select a license for it at will. As he said during the interview:
I think the license, the GPL, is at odds with how I want to distribute my software and what I want it to be. I don't think that it necessarily should inherit WordPress' license when over 99% of the code within Thesis is Thesis code based on the actual process of building a website. Certain processes that occur in nature can be [described] mathematically by code. I am trying to describe it with code. I am describing a process that exists separate from WordPress or from any piece of software that deals with website development for that matter. It's its own thing.
Many commenters on the blog coverage of the fight seemed to be of the same mind, asserting that the WordPress license was irrelevant to "original work" written by a theme creator. Underlying that position, however, seems to be the belief that a WordPress theme is a layer "above" the WordPress application, which happens to call APIs exposed by WordPress.
[PULL QUOTE:
Perhaps WordPress's use of the term
theme is itself misleading, because it suggests something
cosmetic.
END QUOTE]
Considering that belief, perhaps WordPress's use of the term
theme is itself misleading, because it suggests something
cosmetic, like a static template or a set of look-and-feel rules
implemented in HTML and CSS. But that is not what WordPress themes are.
Rather, themes in WordPress are a collection of PHP scripts that implement
the entire outward-facing user interface of the site (the dashboard
functionality is implemented elsewhere).
WordPress themes are executables that create all of the elements
displayed in the browser: pulling the content of posts, comments, user information, category, tag, archive, and navigation links, even search functionality, all by calling WordPress functions. To put it another way, a WordPress theme is the interface component of the application; without a theme installed, WordPress does not serve up any pages, and when not installed in a WordPress site, a theme cannot even execute.
The debate over the GPL inheritance of themes and plugins has been around for several years, prompting Mullenweg to seek legal analysis. According to the Mixergy interview, he first consulted with Mozilla's attorney Heather Meeker, but it is the Software Freedom Law Center's (SFLC) official opinion that he refers to as conclusive proof.
The SFLC analysis states that "the PHP elements, taken together, are clearly derivative of WordPress code," citing the fact that they are loaded into the WordPress PHP application with include(), combined in memory with the rest of the WordPress code, and executed by PHP as part of a single executable program. On the other hand, SFLC noted, some elements of a theme, such as CSS rules, image files, and JavaScript, reside on the system only to be served by the web server as data delivered to the client. These elements could be distributed under the same license, but because they are not combined with WordPress itself, do not have to inherit the GPL.
This reading of the situation is essentially the same as the Free
Software Foundation's (FSF) take on the licensing requirements for plugins.
The GPL FAQ states:
If the program dynamically links plug-ins, and they make function
calls to each other and share data structures, we believe they form a
single program, which must be treated as an extension of both the main
program and the plug-ins.
The status of JavaScript components was not explicitly addressed in the
SFLC's analysis. The lone discussion of
JavaScript in the GPL FAQ deals with web page templates, by which it seems
to mean static templates that "assemble" a page, in contrast to the
executable definition of "plugin" explored above.
Code reuse and other considerations
During the Mixergy debate, Pearson referenced a 2009 blog post by Florida attorney Michael Wasylik, who asserted that WordPress themes did not inherit the GPL from the WordPress application, based largely on the "running on top of" WordPress argument. Mullenweg and others observed that Wasylik is a real estate, not a copyright, attorney, and that the court cases he references in his blog post are about hardware devices, not software.
But Wasylik also said that "actual incorporation of code" makes
the work "probably derivative, and the GPL probably applies."
Drew Blas subsequently analyzed the Thesis source code and concluded
that the theme incorporates code lifted from WordPress itself.
Furthermore, WordPress core developer Mark Jaquith, in a longer analysis of the problem, observed that a former Thesis developer openly admitted that code from WordPress was copied into Thesis, and Andrew Nacin noted that the Thesis documentation commented on such inclusions: "This function is mostly copy pasta from WP (wp-includes/media.php), but with minor alteration to play more nicely with our styling."
Perhaps it was in the face of this evidence that Pearson changed his mind and switched over to a "split" license for Thesis — his only public comments on the decision have been made through his Twitter account.
Whatever the reasoning, Mullenweg seemed relieved to hear the news. During the podcast debate, Mullenweg repeatedly told Pearson that switching to the GPL would help, not hurt, his sales, observing that there are many other commercial theme developers who sell their works while complying with the requirements of WordPress's license. He said that, should Pearson come into compliance, he would add Thesis to the list of commercially-available themes promoted on the official WordPress site (although the addition does not appear to have happened yet).
It is always better for the community surrounding a free software
project when disputes such as these reach an amicable solution. In another
sense, though, Pearson's decision to relicense Thesis without comment
leaves open — in some people's minds — the original question
over when themes and plugins are rightfully considered derivative
works.
WordPress is not alone in its position; the Drupal project also states that plugins and themes must inherit the GPL from Drupal. Joomla makes the same claim about Joomla extensions, although it admits that it may also be possible to create Joomla extensions that are not derivative works.
There may never be a simple black-and-white test to determine unambiguously when a theme is a derivative of the application that it themes. Fortunately, for the determined professional themer, it makes little difference. As the list maintained at the WordPress site demonstrates, there are quite few talented individuals who can make a living producing and selling GPL-licensed themes.
(
Log in to post comments)