4

Apologies in advance if I meander in this question, I am trying to grasp my brain around the different licensing models and yes, I know most of you are not lawyers.

I am developing a WordPress Plugin that I intend on publishing a free version to the WordPress Plugin Directory and a premium version sold elsewhere. My plugin incorporates the Adobe Flash-based niftyPlayer (http://www.varal.org/niftyplayer/) which is licensed under the MIT License. The varal.org site states:

This program is licensed under the MIT License, which, to put it in non-legal terms, allows you to share, use and modify it. Even for commercial purposes. Check out the Wikipedia article on this license for more.

Since a WordPress Plugin by its own nature is a derived work from GPL-licensed WordPress it needs to be licensed under GPL and I believe that the GPL requires that any work containing GPL-licensed software must be relicensed in its entirety under the terms of the GPL. With the plugin I am writing the player itself does not make any direct interactions with the WordPress core, it is just used on top of the site. Would the need to relicense apply to using the niftyPlayer in the plugin? Since the MIT license is pretty un-restricted, can I, and if so, how do I go about re-licensing it?

I have some follow-up questions but they essentially pertain to the need to re-license/not..

Thanks for any insight.

1
  • It's worth noting that if you release a premium plugin, charging for support is the only way to go. The license will have to remain GPL compatible, even in a "premium" version. To attempt to release it under non-compatible terms is copyright infringement as you'd not have gained permission to use the code in that way. You might as well skip the premium version and just offer paid support to the free one. Commented Mar 27, 2012 at 21:33

2 Answers 2

4

The GPL requires that any derived works are also licensed under the GPL. For the purpose of WordPress plugins and themes, that means any elements which rely on WordPress (ie, use or extend WordPress classes and functions) must also be GPL. You are allowed to license other elements not reliant on WordPress (eg CSS, images) under different terms. Since you're talking about including external code in your plugin, the external code (ie niftyPlayer) does not have to be GPL, as while your plugin may rely on niftyPlayer to work, niftyPlayer does not rely on WordPress to work.

It's also worth noting that the MIT License is compatible with the GPL, so it should be possible to produce a GPL-licensed plugin using MIT-licensed components.

we will only promote and host things on WordPress.org that are 100% GPL or compatible. Source

5
  • Thanks! How / what do I need to note in and where in my plugin do I note that I used nifty? Thanks again Commented Nov 23, 2011 at 21:49
  • From what I can make out from here your plugin in its entirety would automatically inherit the GPL so just a nod in the release notes would be enough.
    – Chris Cox
    Commented Nov 23, 2011 at 21:52
  • @ChrisCox I would suggest you mention the license in the plugin's main php file just under the plugin head comments, like I exemplified in this pastebin. Also, for the sake of clarification: The MIT license is compatible with the GPL, but the GPL not with the MIT license. Meaning you can relicense MIT stuff in you plugin under the GPL, but you couldn't relicense a project that includes GPL'ed code under the MIT license. Aside: +1 for Chris' answer. Commented Nov 24, 2011 at 9:09
  • "...it should be possible to produce a GPL-licensed plugin using MIT-licensed components." Since WordPress contains SWFUpload.swf (a MIT-licensed file), there's no doubt about it.
    – SickHippie
    Commented May 4, 2012 at 20:59
  • If this answer answers your question, you should accept it, by clicking the checkmark beneath the answer up/down vote arrows. Commented Aug 20, 2012 at 15:44
0

In addition to the many topics on the subject here at WPSE, Hakre has plenty of excellent WP-related licensing discussions on his blog. Check out this and this for a good starting point. One thing you may not realize is this: WordPress itself contains a piece of MIT licensed code - SWFUpload.swf. There was quite a bit of drama around this a while back, because they did not bundle the source code for the file with the WordPress package. I would suggest you get ahold of the source code and have it in a .zip somewhere in your plugin so you don't have to worry about that slice of things.

If you're wondering how best to maintain a premium and free version of a plugin, I suggest you get in touch with Mikko, the author of the Relevanssi plugin. His method works very well - he has two separate codebases, and when you purchase the premium license, what you're actually purchasing is the codebase with extra features, access to support, and an API key for automatic updates.

Side note: the reason images, CSS, and JS are not required to be licensed under the GPL is because they do not interact with WordPress code, only the output of that code. Search for "Thesis vs WordPress" on Google for a nice overview of that, they battled it out pretty thoroughly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.