Wordpress - GPL and plugins

If you're following the rules (you never want to start out by breaking them), then any WordPress plug-in you write and submit to the repository must be licensed as GPLv2. There was a huge storm of discussion over this last year because the example readme file mistakenly said "GPL, version 2 or any later version" ... which is why some plug-ins went the GPLv3 route.

Once it was pointed out that plug-ins had to be licensed using version 2 to be in compliance with the license of WordPress core, many plug-ins relicensed to version 2 and several that refused were removed from the repository. Unfortunately, quite a few flew under the radar and missed the update.

My suggestion would be to:

  1. Contact the developers of Topsy and ask them to either relicense the plug-in or give you explicit permission to use some of their code and license your release under GPLv2
  2. Wait until getting affirmation from Topsy before using any of their code in your own system.

Technically, Topsy is in violation of WordPress' core license, and it's the WordPress Foundation's responsibility to pursue that (not yours). However, to make sure that you keep your own code in compliance and avoid any legal fallout should they pursue action against Topsy, you should either get permission to use the code in an appropriate manner or find something else to work with.

Update

After considerable discussion via email, in forums, on IRC, and on Trac, the core team clarified that any plugins hosted in the WP repository must be licensed as compatible with GPLv2. This means, for the most part, your plugins should either be explicitly GPLv2 or GPLv2+ ("or any later version").

This is to prevent the possibility of accidentally rolling plugin code into core. Core is explicitly licensed as GPLv2+, so any code that is rolled in to the project must be capable of being licensed in the same way.

However, you can still license your privately-hosted plugins as GPLv3. This is still compatible with the "or any later version" stipulations of core while remaining separate (since it's not hosted in the same location).


GPL states that if your code needs the original core to run then it has to follow the same license.

However, if you divide your code in two parts, one which performs the core functionality (and which ideally can be used with any framework, sort of like a library), and the second which interacts with wordpress and your library, you can use which ever license you like for your library. Only the part with wordpress has to follow the same license.

A great example is that Google Reader uses the feed (which is an API), but since it is a separate binary, it can use any license.


This has been clarified here: http://core.trac.wordpress.org/browser/trunk/license.txt WordPress Core is GPLv2+

The repo requirement "Your plugin must be GPLv2 Compatible" is arbitrary and not based on any licensing consequences. Besides, it only applies to hosting the plugin on the wordpress.org repos, not whether the plugin is legal or not. A GPLv3 plugin isn't "wrong" or violating any licensing. (So the first part of your question is answered.)

(There is a specific clause in the GPL itself that says if you don't specifically and explicitly limit the terms to a particular version, then it is implicitly "upgradable." The version of the linked license isn't a specific or explicit limit in this regard.)

If you use GPLv2+ (not "GPLv2 only") and GPLv3 code together, the code must be released GPLv3, if you release it.

As to your question: If you use part of Topsy your code must be released GPLv3 (and optionally later) if you release it.

Update: WordPress.org does let you host GPLv3 plugins in their repo now (since at least May of 2012).

https://make.wordpress.org/plugins/2012/05/11/cross-posted-from-the-main-development-blog-the/