How to Apply WordPress Licensing to Your Projects

By Lisa Sabin-Wilson

Regular users of WordPress software need never concern themselves with the GPL of the WordPress project at all. You don’t have to do anything special to abide by the GPL. You don’t have to pay to use the WordPress software, and you aren’t required to acknowledge that you’re using the WordPress software on your site. (That said, providing on your site at least one link back to the WordPress website is common courtesy and a great way of saying thanks.)

Most people aren’t even aware of the software licensing because it doesn’t affect the day-to-day business of blogging and publishing sites with the platform. It’s not a bad idea to educate yourself on the basics of the GPL, however. When you try to be certain that any plugins and themes you use with your WordPress installation abide by the GPL, you have peace of mind that all applications and software you’re using are in compliance.

Your knowledge of the GPL must increase dramatically, though, if you develop plugins or themes for the WordPress platform.

The public licensing that pertains to WordPress plugins and themes wasn’t decided in a court of law. The current opinion of the best (legal) practices is just that: opinion. The opinion of the WordPress core development team, as well as the opinion of the Software Freedom Law Center, is that WordPress plugins and themes are derivative works of WordPress and, therefore, must abide by the GPL by releasing the development works under the same license that WordPress has.

A derivative work, as it relates to WordPress, is a work that contains programming whose functionality depends on the core WordPress files. Because plugins and themes contain PHP programming that call WordPress core functions, they rely on the core WordPress framework to work properly and, therefore, are extensions of the software.

Read the text of the opinion by James Vasile from the Software Freedom Law Center website.

To maintain compliance with the GPL, plugin or theme developers can’t release development work under any (restrictive) license other than the GPL. Nonetheless, many plugin and theme developers have tried to release material under other licenses, and some have been successful (from a moneymaking standpoint). The WordPress community, however, generally doesn’t support these developers or their plugins and themes. Additionally, the core WordPress development team considers such works to be noncompliant with the license and, therefore, with the law.

WordPress has made it publicly clear that it won’t support or promote any theme or plugin that is not in 100 percent compliance with the GPL. If you’re not 100 percent compliant with the GPL, you can’t include your plugin or theme in the WordPress Plugin Directory. If you develop plugins and themes for WordPress, or if you’re are considering dipping your toe into that pool, do it in accordance with the GPL so that your works are in compliance and your good standing in the WordPress community is protected.

Here’s a brief review of what you can (and can’t) do as a WordPress plugin and theme developer.

Development Practices Compliant with GPL License
Development/Release Practice GPL-Compliant?
Distribute to the public for free with GPL. Yes
Distribute to the public for a cost with GPL. Yes
Restrict the number of users of one download with GPL. No
Split portions of your work among different licenses. (PHP files are GPL; JavaScript or CSS files are licensed with the Creative Commons license.) Yes (but WordPress.org won’t promote works that aren’t 100 percent GPL across all files)
Release under a different license, such as the PHP License. No

The one and only way to make sure that your plugin or theme is 100 percent compliant with the GPL is to do the following before you release your development work to the world:

  • Include a statement in your work indicating that the work is released under the GPLv2 license in the license.txt file, which WordPress does. Alternatively, you can include this statement in the header of your plugin file:

<?php

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St., Fifth Floor, Boston, MA 02110-1301 USA

*/

?>

  • Don’t restrict the use of your works by the number of users per download.
  • If you charge for your work, which is compliant with the GPL, the licensing doesn’t change, and users still have the freedom to modify your work and rerelease it under a different name.
  • Don’t split the license of other files included in your work, such as CSS or graphics. Although this practice complies with the GPL, it won’t be approved for inclusion in the WordPress Plugin Directory.