WordPress.org

Ready to get started?Download WordPress

Make WordPress Core

Tagged: GPL Toggle Comment Threads | Keyboard Shortcuts

  • Andrew Nacin 3:18 pm on April 30, 2012 Permalink
    Tags: GPL,   

    The plugin directory’s licensing guidelines have been updated. The guidelines will now allow code that is licensed under (or compatible with) version 3 of the GPL.

    The guidelines still encourage use of “GPLv2 or later,” the same license as WordPress. However, we understand that many open source libraries use other licenses that are nonetheless compatible, such as GPLv2 only, GPLv3, and Apache 2.0.

    Now may be a good time for plugin authors to review their plugins to ensure a license is specified. You can add License and License URI headers to readme.txt and the plugin’s headers. (You may also wish to include a copying permission statement.) For example:

    License: GPLv2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html

    You can see this used in the sample readme.txt.

    This change brings the guidelines in line with the themes directory, which has for some time accepted GPLv3-compatible code. (Probably a good time to note that Creative Commons licenses are still incompatible with the GPL, and the theme and plugin directories.)

     
    • Mike Schinkel 6:31 pm on April 30, 2012 Permalink | Log in to Reply

      Kudos!

    • Alid 7:53 pm on April 30, 2012 Permalink | Log in to Reply

      It would be nice to have a list with (in)compatible licenses for users which aren’t familiar with this topic.
      Since it’s also a problem if your plugin is GPL but your are using an external lib which is incompatible and you didn’t know that.

    • John James Jacoby 8:01 pm on April 30, 2012 Permalink | Log in to Reply

      Do you recommend still packaging a license.txt with plugins, or is the link in readme.txt sufficient?

      • Andrew Nacin 12:38 am on May 1, 2012 Permalink | Log in to Reply

        It’s good practice to include a license.txt or COPYING file. At the very least, you should probably include the copying permission statement, which would state, “You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.” At worst, as long as it is specified somewhere in the readme or code, at least people know what your intent is.

        And, if it is in the readme, we will be able to show it on your plugin’s page in the future.

    • Herb Miller 9:56 pm on April 30, 2012 Permalink | Log in to Reply

      I used the readme validator twice today. it worked earlier this afternoon then failed this evening. I was expecting some explanation would surface eventually. Currently the validator has trouble with the License: lines – sometimes suggesting that the description is too long as well

      • Mika Epstein (Ipstenu) 12:28 am on May 1, 2012 Permalink | Log in to Reply

        I’ve seen the same issue with the readme. Adding in the license lines gets it pushed into the Desc.

        I tend to use the copying permission, with “This file is part of PLUGINNAME, a plugin for WordPress.” and then saying the license should have come with WP. But then again I release GPL2.

        • Andrew Nacin 12:39 am on May 1, 2012 Permalink | Log in to Reply

          I pushed some changes earlier to fix some issues with the validator for the License lines. Can you still reproduce?

        • Mert Yazicioglu 9:49 am on May 1, 2012 Permalink | Log in to Reply

        • David Decker 11:12 am on May 1, 2012 Permalink | Log in to Reply

          It seems to add now the License URL to the short description word counter… :) Some plugins with a real short description work correctly, some with a longer like the mentioned “WordPress Move” work not.

          I’d like to see this fixed, as the update with the 2 new license short tags in the header is really helpful – especially when this is displayed on the plugin page on .org! ;-)

          Another suggestion for the short description: What about taking another short tag like:
          Short Description: Here goes it…
          or:
          Intro: Here goes it…

          Seems to be a bit more self-explaining as a lot of plugin authors still mix it all up and use the same – long – description everywhere making it less readable for users.

          Just my 2 cents.

          Thanks for all your hard work with repo – much appreciated! You guys really ROCK!!
          -Dave :)

      • Andrew Nacin 5:03 pm on May 1, 2012 Permalink | Log in to Reply

        This was fixed yesterday, but a few plugins had pages generated before then. I went through and re-generated the data for the 12 plugins affected. Should be all set.

    • vsgloik 7:18 am on May 1, 2012 Permalink | Log in to Reply

      The readme standard rocks again.

    • Herb Miller 8:16 am on May 1, 2012 Permalink | Log in to Reply

      thanks, now I have more work ensuring all my source files have both Copyright AND (currently missing from some) a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License.

  • Mark Jaquith 11:11 pm on January 14, 2011 Permalink
    Tags: GPL   

    Clarification in Licensing Language 

    WordPress has always stated that its license was the GNU GPL, and has bundled version 2 of the license, even though no GPL version was specified. The text of version 2 (as well as 1 and 3) says that if no version is specified, the software can be redistributed under the terms of any version of the GPL published by the FSF.

    However, WordPress contains libraries which are licensed under the GPL “version 2 or any later version,” which obviously excludes version 1 of the GPL. Here is the reality: the GPL version 1 is effectively irrelevant. It hasn’t been a commonly used license since before Matt Mullenweg was in third grade! Clarifying WordPress as being licensed under the GPL “version 2 or later” resolves these niggling library licensing concerns or ambiguities, and clarifies where WordPress stands.

    It was the intention of the WordPress founders and developers to be GPL version 2 or later from the beginning, and we have now made that license properly explicit.

     
    • Lloyd Budd 11:53 pm on January 14, 2011 Permalink | Log in to Reply

      This is a good news! Not because of the version 1 irrelevant angle, but because hopefully plugin and theme developers will mimic this. Currently, most I see are explicitly only GPL v2.

      • Mark Jaquith 1:33 am on January 15, 2011 Permalink | Log in to Reply

        Indeed. And on that topic, it might be good to change (going forward) the license-less assumption of WordPress.org’s plugin directory to be “GPL v2 or later” instead of “GPL v2.”

    • Alex M. 12:08 am on January 15, 2011 Permalink | Log in to Reply

      This is great news indeed. It now clarifies that I can use GPL v3 code in a plugin without any issue.

      • Mark Jaquith 1:31 am on January 15, 2011 Permalink | Log in to Reply

        But you can’t host it in the WordPress plugin repository. And it couldn’t be pulled in to WordPress core. I’d recommend that you license plugins as “GPL” or “GPL version 2 or later” for maximum compatibility.

        • Alex M. 1:34 am on January 15, 2011 Permalink | Log in to Reply

          All my personal code is licensed under WordPress’ license, but the issue is I want to make use of a package that is released specifically under GPLv3, specially Flowplayer. Seems I still can’t use it then (as no point if I can’t host it on WP.org).

          There’s no decent Flash video player out there that I can find that is GPLv2. :(

    • demetris 12:11 am on January 15, 2011 Permalink | Log in to Reply

      “It was the intention of the WordPress founders and developers to be GPL version 2 or later from the beginning, and we have now made that license properly explicit.”

      If WordPress itself was written in code as foggy and evasive as that statement, then WordPress would have never shipped because WordPress would have never worked. :-)

      • Mark Jaquith 1:27 am on January 15, 2011 Permalink | Log in to Reply

        There is some evidence of that intention (or at least, ambiguity), which you can see in the public repositories of b2 and WordPress if you’d like. Alternatively, you could just trust us when we say that GPLv1 compatibility is not something we’ve ever cared about!

        We want the fogginess to go away: GPLv2+.

        • demetris 8:20 am on January 15, 2011 Permalink | Log in to Reply

          Mark, the issue I see here is that what is presented as clarification is probably relicensing. (Depending on how one reads Section 9 of GPLv2.)

          Relicensing requires permission from everyone who has ever contributed to the code base. An intepretation of what the true intention of “the WordPress founders and developers” was is not enough.

        • Mark Jaquith 3:02 pm on January 15, 2011 Permalink | Log in to Reply

          Switching to a non-GPL license would require a relicensing effort. But merely choosing a subset of GPL versions to distribute WordPress under does not require such an effort, because the terms of the GPL (any version) allow us to distribute WordPress under any version (or range of versions) that we choose. You can’t say that the GPL “any version” grants the freedom for anyone else to distribute WordPress under a version of the GPL of their choosing, but does not grant that freedom to WordPress itself! There is a difference between “any version” and “all versions.”

          I’d be happy to discuss this in private, if you’d like further explanation. These sorts of discussions tend to get long-winded, and I don’t want to distract everyone with a big back-and-forth.

        • demetris 6:54 pm on January 15, 2011 Permalink | Log in to Reply

          Thanks for the additional explanation! It makes better sense to me now.

          I’ve been supposing all along that Section 9 of the GPLv2 is open to conflicting interpretations, but when I look into it more carefully, it seems to me I didn’t have good grounds for supposing that.

          Cheers!

        • Denis 12:27 am on January 16, 2011 Permalink | Log in to Reply

          IANAL, but wasn’t GPL specifically bumped to v2 (among other things) to sort this out?

          • Mark Jaquith 12:32 am on January 16, 2011 Permalink | Log in to Reply

            That was a mistake, that happened without discussion with the leads. It’s better to keep our options open with regards to GPLv3. For example, what if all the good third party libraries go GPLv3 or GPLv3+? We’d have to fork them and maintain them ourselves.

        • Denis 12:38 am on January 16, 2011 Permalink | Log in to Reply

          That’s not the issue. The issue is whether you (as in WP) need to ask permission from everyone who has ever contributed to the code base… If so, I’ve yet to receive an email asking to accept (which, I’d answer yes to, of course; but from a technical standpoint, as I read the license, you’d need to do so, with, at your option, some statement along the lines of “if no reply by XYZ we’ll assume you accept”).

          • Mark Jaquith 5:15 am on January 16, 2011 Permalink | Log in to Reply

            (@Dennis — I edited your comment to reflect the correction you sent in your followup comment).

            Think of it this way: GPL “any version” means that anybody can distribute WordPress under any version of the GPL. Note my lack of quotes the second time. “any version” → “any version” isn’t required. It is “any version” → any version that we are doing.

            It’s strange, I know. But the GPL is sort of a strange copyright “hack.” But just look at all the literature from the FSF encouraging people to upgrade to GPLv3 or GPLv3+. They explicitly say that anyone (including the people running the project) has the option to upgrade from GPLv2+ or GPL “any version,” to a higher subset of GPL licenses. You do not need to ask permission from major contributors, because all three versions of the GPL say that if you don’t specify a version, it means “any version,” which means that anyone in possession of the code can release it under any version (or subset) allowed to them.

            What I’d like to make completely clear is that this is allowed by the GPL. Also, we couldn’t, for example, switch to another license like BSD or MIT without asking major copyright contributors for permission.

      • Denis 6:13 pm on January 16, 2011 Permalink | Log in to Reply

        Ya, I see how it could be interpreted that way as well.

        Regardless, I’d like to suggest that the WP foundation check with an IP lawyer and/or the FSF’s legal team if it hasn’t done so already, in order to be 100% sure. Clearing up license-related tickets (in which I’d include the Dolly-related one, which might also need the input of the RIAA) is, I think, urgently needed.

    • Chip Bennett 3:11 pm on January 15, 2011 Permalink | Log in to Reply

      Can you clarify this point?

      Shouldn’t this wording be changed also, in light of the licensing clarification?

      If WordPress is “GPLv2 (or at your option, any later version)”, then I can’t understand why a GPLv3 plugin would not be accepted into the repository.

      Also: nice job on the license clarification. At least to my limited understanding, I think you’ve found the best solution.

      • Chip Bennett 3:12 pm on January 15, 2011 Permalink | Log in to Reply

        Hmm… comment-reply fail. This comment was in response to Mark Jaquith’s response to Alex M.

      • Mark Jaquith 4:44 pm on January 15, 2011 Permalink | Log in to Reply

        If we allow GPLv3 or GPLv3+ plugins into the repository, it makes it tricky to bring those into WordPress core at some point.

        • hakre 4:45 pm on January 15, 2011 Permalink | Log in to Reply

          Well, plug-in code plugin-code and core-code is core-code, right?

        • Chip Bennett 4:51 pm on January 15, 2011 Permalink | Log in to Reply

          Okay, so they can’t be rolled into core. I can buy that. (Not sure I totally agree with it, but that’s another conversation for another time.)

          But is the inability to roll a particular Plugin into core really a valid reason to prevent it from being available to WordPress end-users, through the repository? There’s a disconnect there that I’m just not understanding.

        • Travis 7:01 pm on January 23, 2011 Permalink | Log in to Reply

          I’ll echo Chip’s question – why not allow a plugin into the repository, even if it can’t (currently) be rolled into core? Sounds like Alex’s use case above (with flowplayer) is a perfect example of the end-users missing out on a potentially great plugin.

          I am asking out of complete ignorance, FYI.

    • Ryan Hellyer 10:55 pm on January 16, 2011 Permalink | Log in to Reply

      I had no idea it was possible to relicense between GPL versions like that. I assumed once something was under one version, it was permanently stuck under that license until the license holder changed it. Good to hear things are locked in stone like that. Hopefully this will nip all those irritating license arguments that popped up not so long ago in Trac.

      • hakre 3:03 pm on January 17, 2011 Permalink | Log in to Reply

        I won’t call that actually re-licensing, wordpress.org as any other user has the right to choose the version of the GPL-terms if the version has not been specified. That was written all the time in the license terms that shipped with wordpress. Naturally, the original terms still have to pass with the code otherwise this would violate the code’s GPL.’s terms.

        • Mark Jaquith 8:56 pm on January 17, 2011 Permalink | Log in to Reply

          I wrote you an e-mail, so we can talk about “original terms” (like for b2, early WordPress) and the best way to convey that. If the e-mail address on this comment wasn’t the right address to use, provide me with a better one!

    • Denis de Bernardy 8:18 pm on January 17, 2011 Permalink | Log in to Reply

      I’m curious to know why there’s a long comment related to this that ended up in the trash without being published…

      • Mark Jaquith 8:33 pm on January 17, 2011 Permalink | Log in to Reply

        I replied to him privately, at length. I didn’t like the comment’s tone, and didn’t want to kick off a big long public debate over what may ultimately just be a lost-in-translation situation. Figured we could go back and forth in private a bit to get misunderstandings cleared up.

    • Mike Schinkel 6:58 pm on March 19, 2011 Permalink | Log in to Reply

      Question: Will a plugin be denied entry into the WordPress plugin repository if it depends on code that is Apache 2.0 licensed? Specifically flot includes excanvas. For reference:

      http://lists.automattic.com/pipermail/wp-hackers/2011-March/038334.html

c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel