Is WordPress.org violating the GPL? – A fresh angle on the GPL vs. non-GPL wordpress themes and plugins debate
There is a never-ending dispute on whether it is legal or not to put WordPress themes and plugins under a license different than the GPL. The WordPress.org hardliners want to make us dogmatically believe that we can’t. In a prior article I already argued that you actually can, and here is one more fresh angle on this topic.
The prime hardliner’s argument pro the “Themes and Plugins must be GPL” dogma is that of linkage. Because, according to the GPL, any code that links to GPL code has to be released as GPL.
The hardliners support this with two indications (that they think are) in their favor:
- Themes and plugins call WordPress functions.
- Theme and plugin code is generally loaded via the include() function. Its contents are combined with the WordPress code in memory to be processed by PHP along with (and completely indistinguishable from) the rest of WordPress.
Sounds plausible, but it’s turns out it actually disproves their point.
One thing that is commonly misunderstood is that the GPL covers distribution, not usage. As long as GPL and “non-free” stuff are distributed separately, and only used together at the end user’s site (on their computer or server, for example), there are absolutely no legal issues.
Now, you should know that the concept of linking is non-existent in PHP. A function call to a function of some name is only resolved at run time, and really any function with that name that is known to PHP at that time is invoked. It may be a function defined by WP, but need not. It depends on the environment where the theme code is executed. Theoretically, you could execute the theme code in an environment that merely emulates the WP interface, but provides totally different implementations.
Bottom line: In PHP (and any other scripting language), you don’t link. Whether or not your code is “merged” with GPL code or not is determined at run time, when and where your code is used.
Similarly about the “include()” argument. What exactly is included is determined on the end user’s site. It is not the software vendor who decides which theme and which plugin is included. It is the choice of the end user (that he makes by activating a theme or a plugin).
This makes the whole “linkage” and “inclusion” thing a matter of usage, and not a matter of distribution. Therefore it is not restricted by the GPL. On the contrary, the GPL actually grants users every right to use GPL software in any way they wish to.
In fact, the whole point of the GPL is to protect end users from any restrictions imposed by software vendors, and to guarantee them their right to use the software in any way they want1. This ultimately includes the end user’s right to use a software together with any other software on his computer or server.
The conclusion of it all is:
With dynamically added software components like plugins and themes, “linkage” is a choice made by the software end user, not the software author/vendor, and hence it is protected from restrictions by the very GPL.
Seen this way, any attempt (by WordPress or else) to restrict that choice can actually be seen as a violation of the GPL, if not in terms, then at least in spirit.
Now if this is not a fresh angle, then I don’t know… 😉
Some external links on the matter:
- Matt Mullenweg And Automattic’s Double Standard For WordPress Theme And Plugin Developers?: A very comprehensive (and IMO quite accurate) critical debate on the issue, with some utmost interesting information on financial backgrounds.
- When Nerd Lawyers Clash: WordPress and the GPL refers to some very interesting viewpoints, legal and otherwise.
- WordPress vs. Thesis: Can WP Themes Be Non-GPL? argues well about static and dynamic linking, and beyond.
- Commercial WordPress Themes’s PHP Code is GPL 2 Too is written by a proponent of WP’s GPL policy.
- My WordPress Themes are not GPL, got my own Licensing terms: A post by a theme author opposing WP’s GPL policies for themes.
- Update: Some utmost competent analysis of the issue by Mike Wasylik, a lawyer fluent in copyright law, is here, and here. The comment threads are very interesting, too. Note how Mike’s comments and arguments are profound and calm, while those of many opponents (including Ma.tt’s) are mostly propagandistic, insisting, and heated.
- Update 2: Just encountered an interesting discussion, and an enlightening final comment in the wordpress.org forums. (The post is “WP Text Ads – GNU license violation”.)
- as long as this does not restrict the rights of others [↩]