I’m planning to release my first commercial WordPress plugin later this month. The plugin will be an improved version of the Link Cloaking plugin and will include a bunch of new and exciting features, like cloaking links anywhere on the site (as opposed to only detecting links inside post/page content) and the ability to display the target page inside a frame.
Commercial plugins are a rare sight in the WordPress community, so I want to discuss the general idea of for-pay WP plugins in more detail and provide my take on the relevant issues that are often raised in this regard.
The first point of contention seems to be whether plugins have to be GPL-compatible. Since WordPress is GPL all “derivative work” must also use a compatible license, which would allow the user to freely modify and redistribute (or even resell) the source code – something that is certainly not conducive to plugin authors making a profit. This question basically boils down to deciding whether plugins qualify as “derivative work”. The short answer to that is “Yes, except for very complex plugins”. Otto explains it well in this comment (excerpt) :
Your simpler plugins are generally heavily derivative. They tend to be just a few functions, hooked directly into WordPress in specific places. The functions themselves derive their calling methods from the necessity of how WordPress expects them to hook in, and so they are derivatives of it.
Complex plugins, on the other hand, tend to be more independent. They have several files, their own mechanisms for operation, and sometimes there’s just one “plugin” file that hooks the WordPress bits up with the plugin’s bits. These have a better case for being separate works.
Otto also mentions Bad Behaviour as an example of a complex plugin that is largely independent of the WordPress core and even has versions for other blogging systems. The caching plugin PHP Speedy WP might qualify as another mostly independent plugin.
Still, the majority of plugins are deeply integrated with WP and thus need to be GPL-licensed. So I’m also going to release my commercial plugin with a GPL-compatible license.
The next question is whether you can legally sell GPL software. This is an easy one to answer. Here’s what the official GPL FAQ says about it :
Does the GPL allow me to sell copies of the program for money?
Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)
The Very Model of a Businessman
Of course, just slapping a “GPL” label on a for-pay plugin is hardly the solution – as I mentioned before, the first person who buys it could just turn around and start giving it away for free! So if you want to make money by creating GPL software you need concoct a business model that takes the peculiarities of this licensing scheme into account.
There are two possible business models that I can think of :
- Paid support. Make the plugin itself free, but only charge for answering users’ questions. Alternatively, sell the plugin and include “unlimited” support in the price.
- Service-based. This mostly applies only to plugins that act as wrappers for an online service/API. The plugin can be fully GPL-compliant and but access to the remote service needn’t be. For example, you can limit the number of API requests non-paying users can make, or offer access to additional API features for a modest subscription fee. This is the business model of plugins like Akismet and After The Deadline.
I intend to use a combination of the two for my plugin.
But Wait, Is There a Market?
Finally, a perfectly legal business plan will be of no use if no-one wants to buy your software. I’ll readily admit that this problem isn’t limited to WP plugins, but it I must say it’s still especially pronounced in the WordPress community – people have grown used to getting free stuff. Premium themes are still a source of much contention and commercial plugins are extremely rare and, at least for the time being, confined to a few small niches.
The best solution I’ve seen suggested so far is creating an online store similar to the iPhone App Store. The main objection to this idea is that often users install a plugin just to see if it does what they want, and it would be wrong to force them to pay in advance for a product of unknown quality. However, this is a solvable problem. For example, you could just give the user a free 10-day trial and ask them to buy the plugin if they still want to use it afterwards. Make it so that unregistered users don’t get automatic updates, etc. This wouldn’t even be that hard to implement and enforce if done at the core level – the WordPress.org plugin repository already tracks what plugins you use.
Either way, it will probably be a while before we see anything like that implemented. Luckily my own commercial plugin falls under one of the few niches where paid plugins are relatively common and expected – Internet marketing. So I think I have a sufficiently good shot at selling a few copies and making an obscenely large sum of money 🙂
Comments and opinions are welcome.Related posts :