Posted on

WordPress Plugins – Is Charging A Fee GPL Compliant?

According to WordPress, asking for a fee in order to make a plugin easier to use is not GPL compliant. At least that is what we are being told with regard to our plugins and being de-listed from the official WordPress Plugins Directory. We can still sell our plugins directly via other venues and they will be fully functional within WordPress. However not being listed in the directory has two significant impacts on our business:

1) The WordPress Plugin Directory sends us 90+% of our sales leads. Without those leads we sell 90% less product. The volume of sales, not the price, is what makes it viable for us to continue to provide updates and support.

2) Without a listing in the WordPress Plugin Directory, existing users will not be automatically notified of updates. They will also not be able to click the “update” link for the plugin, thus requiring a manual download and installation of our .zip file for the plugins which makes their life more difficult.

Neither of these situations are good for us or our clients. The sad part of this whole thing is that we embrace GPL and want to be good members of the WordPress community.

However, based on the tone of the messages posted by the WordPress Plugin Czars, they don’t want anyone pushing people to pay for plugins. They want it to be a 100% pure “from the good of my heart I’ll give you money” donation based system.  We know from experience that people simply will not donate.   Our first plugins generated ZERO donations.    The very same plugins, after adding the “license fee”, generated a dozen sales the first PARTIAL month with no other code changes in place.  Same plugin, infinitely better results.   The general mantra for most plugin users is “Why buy the cow when you can get the milk for free?”.

Until and unless we can get this issue resolved with the powers-that-be over at WordPress, we are going to be left with some very difficult decisions.  One of the options, and the one we like the least, is to drop WordPress plugin offerings completely. If we remove the fee and are allowed to be put back on the WordPress directory as a donation-only system, the support requests from non-paying users becomes overwhelming and kills our daily productivity.   As such the most likely option is that we will need to pull the plugin products from the directory completely, in which case we may as well leave the fee in place and remain de-listed.

WordPress Assertions Are WRONG

However, we feel as though this entire situation should never have come up in the first place. WordPress has stated that we have been removed for creating our own license (a false assertion) and seem to indicate that we must remove our request for a fee in order to be GPL compliant (an incorrect interpretation of GPL).   Here is the letter from a WordPress representative to us regarding the de-listing of Store Locator Plus:


You wrote your own licensing terms.

All plugins must be GPL or compatible.

I can see other plugins of yours are doing the same.

This is not permitted.

1. All plugins must be released under the GPL or compatible. This must be stated in the plugin download.

2. A fee to ‘unlock’ is not permitted

3. A fee to in any other way alter the plugin is not permitted

A plugin must be fully functional, not a trial, free and the user must be allowed to change the plugin code if they wish.

If you can change all your plugins that need this without delay then this plugin can be replaced and others not withdrawn.



This is blatantly wrong on several counts, we’ll visit each one below.

“You wrote your own licensing terms.”

This is a combination of statements that all combine to make this argument including:

“You wrote your own licensing terms.

All plugins must be GPL or compatible.

I can see other plugins of yours are doing the same.

This is not permitted.

1. All plugins must be released under the GPL or compatible. This must be stated in the plugin download.”

We wrote our own licensing terms?  Really?  Where?  It is clearly stated throughout that we are licensed under GPL.   The plugin IS GPL COMPABTIBLE. You must be GPL compatible to be listed.  We are.   That point is a non-start and frankly quite ridiculous.

From the plugin itself:

Plugin Name: Store Locator Plus
Plugin URI: /products/store-locator-plus/
Description: Store Locator Plus is based on the popular Google Maps Store Locator with a few customizations we needed for our clients. Hopefully other WordPress users will find our additions useful.
Version: 1.9
Author: Cyber Sprocket Labs
Author URI: /
License: GPL3

Copyright 2010  Cyber Sprocket Labs (

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
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


A Fee To Unlock Is Not Permitted

This is a statement that wraps these comments together as they all speak to that point:

2. A fee to ‘unlock’ is not permitted

3. A fee to in any other way alter the plugin is not permitted

A plugin must be fully functional, not a trial, free and the user must be allowed to change the plugin code if they wish.

A Fee To Unlock Is Not Permitted

OK, we agree that having to enter a “license key” (or a “donation key” if you prefer) does “unlock” certain features.  But that is a gray area in-and-of-itself.  First of all the plugin is 100% functional as presented.   We have simply hooked into the shortcode processor so that you must be logged in as a user with admin privileges for the shortcodes to render on pages.  That means visitors won’t see the shortcode output.   You have two options, edit the line in the code that checks the key was entered or send us a donation and put the key in the web based entry box on the admin panel and everything renders to visitors as well as admin users.

Second, and MOST IMPORTANT, where is this policy stated? We sure as heck couldn’t find it.  In fact this quote is directly from the WordPress Developer Center where you register for plugins:

There are only a few restrictions

  1. Your plugin must be GPLv2 Compatible.
  2. The plugin most not do anything illegal, or be morally offensive (that’s subjective, we know).
  3. You have to actually use the subversion repository we give you in order for your plugin to show up on this site. The WordPress Plugins Directory is a hosting site, not a listing site.
  4. The plugin must not embed external links on the public site (like a “powered by” link) without explicitly asking the user’s permission.
  5. If you don’t specify a v2-compatible license, what you check in is explicitly GPLv2

That’s it in its entirety.  Where does is say ANYTHING about “fee to unlock is not permitted”.   We’ve searched the forums, the entire developer directory, the FAQs.  NOWHERE is this policy stated.  When did this become an issue?

A Fee To In Any Way Alter…

The plugin is not altered in any way.


A plugin must be … not a trial… free… allowed to change….

The multi-part comment regarding this point:

A plugin must be fully functional, not a trial, free and the user must be allowed to change the plugin code if they wish.

Let’s start with the easy ones:

Not a trail.
Definitely Not.

Fully functional.
It is.  All the features work and none are missing.  Yes, you can only see certain output as an administrator before you enter a donation fee, but is that non-functional?   Absolutely not.  There are dozens of plugins and built-in WordPress functionality that restricts what people see based on their role.  In fact, the WP3.0+ builds do that very thing.  Admins see a menu bar on the pages while logged in and browsing, but visitors do not.  Is that not fully functional because visitors can’t see some content?

No, we are not being intentionally naive here.   We know that entering the code you get after sending in a payment changes how the plugin works.  However we are not ADDING anything or removing anything.  All the pieces are there.  Don’t want to pay?  Simply edit the one-line of code that checks the donation code was entered.    Everything is there.

By the same token, what about the thousands of plugins that have add-ons?   Those plugins are purposefully nutered when put on the WordPress directory.  You must pay to get feature X or feature Y.   So it is OK to ask for money so you can download the other pieces that make the plugins complete?   If you ask us, THAT is truly not fully functional.  You can’t even turn on those features if you wanted to because you don’t have the CODE.

We give EVERYONE ALL THE CODE UP FRONT whether or not they pay us.   Seems like a better way of doing this to us, but  unless the WordPress people simply missed those 5,000+ plugins that do the limited features/pay us for the extras, it would appear they prefer we send crippled, half-there products and ask for an “add on” fee instead.

It must be free.
What?!?!?!? Who says?

Certainly not GPL.   And DEFINITELY not the guys that started WordPress.   Even Matt Mullenweg, the guy who basically started it all, does not think that add-ons to WordPress should be free. There are multiple recorded conversations about this topic and how people should be allowed to profit on their work based on WordPress extensions including themes and plugins.  The transcript from the Thesis “battle” is just one of many references to this topic.

GPL clearly states that you CAN CHARGE for products licensed under GPL.   Excerpts from the GPL Preamble (the plain speak summary of the legal-speak to come later in the document):

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish)…

Many people that read the GPL simply do not get it. They always equate the word free to the monetary value of something, in essence what you pay to obtain it.   Thus too many people read the GPL and immediately start jumping up & down and waving their fists in the air saying “YOU CANNOT CHARGE MONEY FOR THIS!!! IT IS GPL!!!!”.    That, quite frankly, is an imbecile in action.   READ THE GPL.  Read it carefully.  UNDERSTAND THE GPL.   And if necessary, get a clue.

Benefit Of The Doubt

For now we are going to give the guys that are playing god over at the WordPress Plugin Directory the benefit of the doubt.   We’ll assume that maybe they have a policy that you absolutely cannot charge for a plugin or that you cannot have a role-restricted section of the plugin.   If this is the case then WordPress needs to update their plugin listing requirements before other developers spend countless hours like we did writing code only to be banned shortly after they put them online.

Hopefully they did not do what a lot of other clueless GPL Must Be Free flag-waving idiots do, and equate the term “free” in the GPL with “you cannot charge a price”.   Given the WordPress founder’s obvious affinity for upholding and promoting GPL as “how things should be done” would truly be a sad declaration.   His own minions don’t get it.

Tell Us What You Think

So what do YOU think? Is our position wrong?   Should we just be giving away all our work for free; allowing unfettered access to everything we do and HOPE for donations?   If so, what fixes do you suggest for getting people to actually send in donations?  There are thousands, literally thousands, of ex-WordPress plugin developers littering the WordPress landscape for one sole reason: the donation system failed them. If you’ve got the magic panacea please share so everyone can discuss.

If you agree with us, then let the people at WordPress know.  Write to the plugin people at or ping Matt Mullenweg via his blog contact form.

If you know someone at WordPress who might listen to our viewpoint and possibly be willing to work with us to keep us listed, please let us know.


We just learned that the person that kicked us off the WordPress listing is the very same person that did this a year ago.   He is also the very same guy that got ahold of one of our requests for a new plugin namespace,  before we had ANY information other than a short description of what it would do, and held up the request for 3 weeks (it normally takes 24-48 hours).   We got someone else at WordPress involved both times & they made things right.

If anyone knows Mark Riley please try to talk to him. If you don’t know him please ping him at his blog or via email and ask him to please support plugin developers that are trying to play by the rules.

Mark Riley
aka “Romantic Robot”
aka “Podz”

Leicester UK
d/o/b: June 5th, ????

Mark Responds

We finally got a response from Mark.   Our only question is where is this “if it isn’t free it can’t be listed in the directory” rule posted?  It certainly isn’t on the requirements to be listed page.  At least not today, yesterday, or any day in the past 18 months.

Here is Mark’s response as posted on the WordPress Forums thread (

Anyone can charge for plugins, or themes, or other code. There are lots of people doing this very successfully for people who use WordPress. But no theme or plugin that wants to charge can be listed in the directory.

If you want to offer the plugins free and without conditions that would be great and they will be re-included after you have made the changes to the readme.txt
If you would prefer to ask for the fee then they cannot be re-included.

It’s that simple.