I’ve been thinking a lot when it comes to Open Source concerning WordPress themes and plugins. It is quite a confusing topic. Let’s first define Open Source:
Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose.
Licensing is the sore spot for me. There are two major (IMHO) types of licenses, one is the “free as can be” version, like the Berkeley Software Distribution (“BSD”), the other is the the not quite as free GNU General Public License (“GPL”). I know that I am simplifying these type of licenses, if I went through every type of OSS licensing I wouldn’t get anything else done for the rest of the day.
The BSD license is great and there are amazing things done under the BSD license. The BSD license originally started because Berkeley (University of California, Berkeley) had been given, by AT&T, access to AT&T’s Unix code. Berkeley started making changes and wanted to distribute the code because they saw the code as theirs, AT&T disagreed and took them to court. They settled outside of court and BSD Unix was born. BSD Unix became the father of FreeBSD, NetBSD, OpenBSD and a little-known operating system called Next which became MacOS.
Steve Jobs took BSD 4.3 and, knowing the license, was able to take a very powerful Unix operating system, make changes and SELL it. He was able to sell it without releasing the source code. He, meaning Next (later Apple), later released the Unix side of things. To simplify this, they released the “command-line” part of the code, and the MacOS GUI was not open-source.
Then there is the “not quite as free” version, the GPL. They say it is “free, as in speech”, not “free, as in beer”. What is the difference? Well, the GPL is free, as in you can take the code, do what you want with it. Meaning you can make changes, and you can sell your changes, but the source code needs to be available if you are going to sell it. The most obvious example of this is Red Hat’s Enterprise operating system. They sell it, and a purchaser can download the compiled software, but Red Hat also has the un-compiled version available. There is another group of guys that take the source code, compiles it, and releases it under the name CentOS. Same code, same software, different name. All of the code is available also.
If you want more information about the GPL itself, please check out Nancy Thanki’s talk at WordCamp Asheville 2016.
WordPress is under the GPL, plugins and themes in wordpress.org are also under the GPL. WordPress plugins and themes that are not on wordpress.org normally are partially under the GPL. Let me give you an example. Envato has the site called codecanyon.net. You can purchase plugins there, and they are under the GPL, kind of. Read Envato’s license:
This theme or plugin is comprised of two parts.
(1) the PHP code and integrated HTML are licensed under the General Public
License (GPL). You will find a copy of the GPL in the same directory as this
(2) All other parts, but not limited to the CSS code, images, and design are
licensed according to the license purchased from Envato.
Read more about licensing here: http://themeforest.net/licenses
If you are a plugin or theme writer, you aren’t obligated to release the plugin. If you want to write a plugin, you can release part of the plugin, but not the whole plugin. My personal opinion is that a split license makes it quite confusing, but I’m assuming that Envato releases the PHP part so the WordPress community won’t complain about it not being GPL’ed. This gets around that barrier.
How can a plugin writer make money? Well, it is quite easy. Gravity Forms is a great example. Their whole product is under the GPL and it can be found here https://github.com/wp-premium/gravityforms. But… if you want automatic updates, you will have to purchase a license. It is well worth the purchase due to the security holes than can be caused by forms.
Actually, someone has taken a lot of paid plugins that are GPL’ed and put them on GitHub at https://github.com/wp-premium/. If you have the time on your hands and you want to manually update your plugins, don’t want to support the developer, and you don’t want support, go for it!
Sideways8 pays for a lot of licenses for a lot of plugins. We really never use the support for the plugins we use, but we want the developers to make some money so they can continue to develop these tools.