Hi I am thinking of releasing a plugin, it seems that WordPress pushes for all plugins to be released as GPL. I have no problem with that, but I've noticed that Gravity forms plugin is GPL + requires a licence key. Is it ok to issue a plugin under the GPL licence but then require a licence key for it to work?
If a plugin is GPL, you have the right to modify, tweak, rebuild, and otherwise hack the plugin at your leisure. You also, under the GPL, have the right to redistribute your modified version and, ultimately, the unmodified version as well.
The Gravity Forms license key is for support and updates. If you don't have a license, or if your license expires:
If your license expires, your forms will still work just fine unless something changes with the WordPress core itself. You just won't have access to download the plugins or add-ons, won't receive product updates and won't be able to access new add-ons or the incredible (semi-famous) product support that we offer.
Gravity Forms does not require the license key for the plugin to work, just for it to communicate with their servers to retrieve updates. This is perfectly acceptable behavior for a GPL plugin.
Can you require a license key?
Is it ok to issue a plugin under the GPL licence but then require a licence key for it to work?
If you read the terms of the GPL, you are required to provide all of the "installation instructions" that are required for proper function of the system. From the license itself:
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
So no, you cannot release a plugin under the terms of the GPL and require a license key for the plugin to work.
I can't speak intelligently as to whether or not releasing a crippled version (or completely non-functional version) of a plugin is legitimate under the GPL license. You would want to research that, but I suspect it's a problem.
Gravity Forms is actually providing a download and update service for a fee, and the license key has the sole purpose of being able to synchronize with their servers and automatically update the plugin. But the plugin itself isn't crippled in any way if you don't have a license key (it's fully functional).
So under the GPL it's actually completely legal for someone to pay for that service and redistribute the version they've downloaded for free. It might be against their terms of service and they could cancel your subscription... And that'd be a pretty nasty thing to do IMO... But it's legal.