Updated on November 2, 2016.
It is common knowledge that WordPress is released under the terms of the GPL. However, time and again, controversies and confusions arise — be it the barring of ThemeForest sellers from WordCamps or the erstwhile debate between WordPress and Thesis, or the most recent WordPress/Wix debate, interpretations and implementations of the GPL across the internet tend to vary. While the end users are generally aloof from such debates, it can be a rather confusing situation for developers and designers alike, especially if they are creating and selling WordPress-related products or services, such as themes and plugins.
In this article, I attempt to take a closer look at GPL — what it means, how it defines “freedom,” and more importantly, how you can manage your business so that you are providing WordPress-related products and services without violating the spirit and terms of the GPL.
GPL – What and How?
GPL, or the GNU General Public License, is an open source license meant for software. If your software is licensed under the terms of the GPL, it is free. However, “free” here does not essentially mean freeware—it can also be a paid software. Instead, “free” as per the GPL means freedom. As proponents of GPL proudly proclaim, free as in freedom, not free beer.
As such, your users are free to modify and distribute your software however their needs call for. Unlike other proprietary or closed source licenses, GPL does not seek to impose restrictions and limitations on the freedom of others. Compare GPL with the EULA (End User License Agreement) that often accompanies closed source software–GPL lets you change the software as per your needs, share and distribute the software, or even share and distribute the changed product. The EULA, on the other hand, gives you a non-exclusive license to use one copy of the software–no changing, no tweaking, no distributing, and so on.
Once again, a common misconception that surrounds the GPL is the definition of “free.” You can, of course, charge for GPL-licensed products. Free software does not mean price-free software. To quote the GPL itself:
When we speak of free software, we are referring to freedom, not price.
A case in point can be premium plugins, such as those being offered via Code Canyon. Licensed under GPL, yet not free as in price-free.
GPL – Mode of Operation
First up, bear in mind that GPL is a viral license. This means that if the original software is licensed under the GPL, any hooks, modifications, modules, etc. too will be licensed under the GPL. So, since WordPress, the CMS itself, comes with GPL, any plugins that seek to extend the functionality of WordPress (the original product in this case) too need to be licensed under the terms of the GPL.
GPL works in a simple manner, starting right from the origin of the software.If you release a plugin or a theme with a GPL license, your buyers have the right to tweak and modify your theme or plugin to suit their needs. A point worth noting is that GPL comes into play only when the copyright holder distributes the product. Consider the following two scenarios:
1. You created a plugin as work-for-hire for a client, and there was a contract that had you signing over the copyright to the said client. In this case, if your client decides to use the plugin only for his or her website, GPL is not triggered. Thus, if the client (the copyright owner) decides not to distribute the software, the software is not distributable. No one can forcibly copy the plugin and cite GPL as a valid excuse. If however, your client releases or distributes the plugin, GPL comes into play.
2. You created a plugin for a client, but the contract did not state signing over of the copyright. In this case, you remain the holder of the copyright, and thus your selling of the plugin to your client automatically counts as a distribution (and more technically, not as work-for-hire). GPL is in effect, even though your client may or may not further pass on the plugin.
Speaking of copyright, as the author of the concerned plugin or software, you should include an appropriate copyright notice. If someone decides to redistribute the software, they are supposed to retain the copyright notice. And if someone decides to fork your software, and/or modify it to suit their needs, they still need to retain the copyright notice (and in case of modification, further state the same along with a date). As a result, while GPL ensures that the folks who actually use your software have the required freedom to modify it to suit their needs, it also double-checks that your copyright, and your due share of credit as the author of the work, are not in jeopardy.
And it Applies to ALL Themes and Plugins?
For plugins, yes. Since the code in your plugins interacts with WordPress and seeks to extend the functionality of the original software, it is only natural that it is licensed under the GPL.
For themes, though, the answer is slightly tricky. Considering the fact that only those aspects of such hooks, modules or extensions ought to be licensed under GPL that actually interact with the parent or original software, the PHP code in your themes comes under GPL. This is especially straightforward because the code in your themes is a derivative of WordPress. To quote Software Freedom Law Center:
The PHP elements, taken together, are clearly derivative of WordPress code. The template is 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. The PHP code consists largely of calls to WordPress functions and sparse, minimal logic to control which WordPress functions are accessed and how many times they will be called. They are derivative of WordPress because every part of them is determined by the content of the WordPress functions they call. As works of authorship, they are designed only to be combined with WordPress into a larger work.
However, the design elements—CSS, HTML, JavaScript, images and other media files—do not directly interact directly with WordPress. So unless the CSS, HTML, JS or other media elements in your theme are based on GPL’d media elements, they need not be licensed under the terms of the GPL.
The WordPress Foundation, and any sane advocate of open source, clearly feels that in the true spirit of freedom, the entire theme should be released under the GPL. However, even if you decide to follow a split model (release the code under GPL, excluding the design elements), you will still be on the safer side with the law.
Certain theme shops have decided to opt for the split license model, whereas still others have opted for the 100% GPL terms. Theme providers such as WooThemes and Headway Themes and several others have already demonstrated that it is, indeed, possible to work within the framework of the GPL and run a profitable venture. If you still are worried about the commercial viability of your WordPress themes if they follow a 100% GPL model, read this.
In the End…
The GNU General Public License exists to protect the liberties of software creators and users alike. If you should know, there are several other open source licenses too, some of which claim to offer even more freedom than the GPL (such as Mozilla Public License, BSD Licence, Apache 2.0 License, etc.).
Are you a theme provider, plugin creator, or developer and/or designer who offers WordPress-related services and products? If so, do you follow a split license for your themes? What are your thoughts regarding GPL?
Please share them with us in the comments below!
14 Comments