Future versions of WordPress will be specifically GPL version 2 or later

12 Comments

Future released versions of WordPress will be a bit more clear about how WordPress is licensed. Specifically, it will be clarified as licensed “GPL version 2 or later” instead of its current licensing, which is GPL with no version specified. Mark Jaquith went into detail about the slight, but important change, on the WordPress development blog:

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.

When WordPress is listed under an unspecified GPL version, it means that it can be distributed under any version of the GPL. As Jaquith explains, that complicates situations where libraries bundled with WordPress have a specific GPL version listed, as they can not be distributed under any GPL license. The change to more GPL version specificity is a simple one, since while switching to a non-GPL license would require relicensing, choosing a subset of GPL versions to distribute does not.

On a related note, plugins will still only be accepted into the WordPress.org plugin directory if they are licensed under an unspecified GPL version, or GPL version 2 or later. Jaquith explains the restriction in the comments of the post:

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

Jaquith has asked anyone with considerable questions to contact him directly, in order to get them sorted out in private. I can’t imagine what makes him think GPL discussions tend to blow up.

Licensing hats off now: this change, while important, will most likely not effect you much. Go hug somebody and tell them about WordPress.

12 thoughts on “Future versions of WordPress will be specifically GPL version 2 or later

  1. So, I think the license clarification is a very important, necessary, beneficial, and positive step for the project. It was something that needed to be done, and now that it is done, the project can move past several licensing questions, and on to more important matters.

    That said: I think the v2-GPL-only restriction for the Plugin repository is asinine:

    1) “GPLv3″ is compatible with “GPLv2 (or later)”
    2) The stance reeks of license anal-retentiveness. I totally get – and agree with – the stance that Repository-hosted code must be GPL-compatible. But this stance moves from “must be GPL-compatible” to “must be our preferred version of GPL”.
    3) This stance unnecessarily restricts would-be Plugin developers
    4) The stated rationale doesn’t hold water. The primary purpose of the Plugin Repository is not to find code suitable for core. Also, if the core team wanted to pull GPLv3 Plugin code into core, it would be a simple matter of contacting the developer and asking if it could be licensed under GPLv2 (or later) rather than GPLv3.
    5) The stance invites unnecessary argument and controversy, due to its arbitrariness, and in the process negates a golden opportunity to move past a significant amount of licensing issues once and for all.

    The simplest, fairest, most straight-forward Plugin Repository guideline would be:

    “WordPress is distributed under a GPLv2 (or later) license; therefore, Plugins hosted in the WordPress.org Plugin Repository must be distributed under a license that is compatible with GPLv2 (or later)”.

  2. @Chip What you say makes too much sense. When has the WordPress brain trust ever made decisions regarding the GPL that made sense and didn’t court controversy? Sometimes I think they do it on purpose.

    Another thing this does is entice plugin developers to go GPL v3 knowing their code would never be absorbed into the core if they wanted to prevent that from happening.

  3. Chip — the policy on the plugins repository was pre-existing, and hasn’t changed. As of this writing, they have to be compatible with the GPL version 2. So anything that is “GPL” or “GPLv2+” would count. I’d encourage people to choose one of those licenses for maximum compatibility.

    Ability to merge the code with WordPress under WordPress’ existing licensing terms is one consideration. Not even necessarily for WordPress itself (we’ve always asked, anyway) — what about someone who wants to take WordPress and a bunch of plugins, merge them together, and distribute that as a fork? If we allow GPLv3-only plugins or GPLv3+ plugins, you could get a situation where two plugins couldn’t be distributed together as part of a larger program. That would be unfortunate. Maybe it’s unavoidable.

    What I would like to consider is changing the default licensing assumption of the repository from being GPLv2 to being GPLv2+ (going forward, obviously). And I’d like to better encourage licenses that are more broadly compatible, like GPL or GPLv2+. I’m not sure about GPLv3+ yet. I don’t like the idea that there can be two plugins in the repo which couldn’t be combined into a new program.

    • Mark,

      I realize that the policy is pre-existing. (It’s not exactly being policed/enforced, coincidentally.)

      But that statement misses the point. That actual requirement is stated as such (note the hyperlink in the original):

      Your plugin must be GPLv2 Compatible.

      That hyperlink points to a GNU listing of free-software licenses, the first of which is GPLv3
      The point is: GPLv3 is not inherently incompatible with GPLv2.

      Further, your mentions of potential concerns regarding bundling/distribution are matters of, well, distribution. The primary purpose of the Plugin Repository is for end users to find, install, and use Plugins. These arcane questions of intra-license compatibility are completely irrelevant to end users who have no desire or intent ever to re-distribute the code.

      In other words: active enforcement of a de facto policy of no GPLv3 Plugins in the Repository actively hurts the end users of WordPress, who comprise all but a fraction of a percentage of the 30,000,000 userbase.

    • p.s. the “default licensing assumption of the repository” is very likely not legally meaningful. I’d prefer to see that wording changed to require Plugins to declare their license explicitly – again, to eliminate/avoid potential license headaches.

  4. The point is: GPLv3 is not inherently incompatible with GPLv2.

    Actually, it is. I quote the FSF:

    Please note that GPLv2 is, by itself, not compatible with GPLv3

    You cannot combine GPLv2 code with GPLv3 code. They are incompatible licenses.

    Further, your mentions of potential concerns regarding bundling/distribution are matters of, well, distribution.

    They are. And I’m not claiming that they’re the only concerns or even the most pressing ones. I’m just thinking of all of the potential outcomes.

    I’d prefer to see that wording changed to require Plugins to declare their license explicitly – again, to eliminate/avoid potential license headaches.

    We’re in total agreement there.

    • If plugins and themes must be GPL because WordPress is GPL, and if GPLv2 is not compatible with GPLv3 then how can themes and plugins be allowed to be GPLv3 if GPLv3 is not compatible with GPLv2 and WordPress is released under GPLv2? It’s all very confusing to those in the know, let alone the average user.

      • if GPLv2 is not compatible with GPLv3 then how can themes and plugins be allowed to be GPLv3 if GPLv3 is not compatible with GPLv2 and WordPress is released under GPLv2?

        WordPress isn’t released under just the GPLv2. It is released under the GPLv2 or any later version. So right now that means you can redistribute WordPress under the terms of the GPLv2, the GPLv3, or both (which is how we distribute it now — GPLv2+). But in order to integrate a GPLv3 plugin with WordPress and distribute that new derivative software, you would lose the option of GPLv2, because the plugin plugin-originated portion is not compatible with that license. So that new derivative software would have to be GPLv3 or GPLv3+ (I’d recommend the latter). You have the option of GPLv2 with WordPress, but not with GPLv3/GPLv3+ plugins, so the plugin forces your hand. Is that clear?

        As Chip correctly noted, this only matters for redistribution. The GPL does not restrict use, including uses that require the integration of incompatibly-versioned GPL software, so long as they don’t distribute it.

        Let me repeat: none of this matters for WordPress users. Your rights as a user are the same, and you can install any theme or any plugin that your heart desires, and use the combination for any purpose.

        • Thanks for the clarification Mark, that makes sense. Although it’s still strange to me that WordPress can be licensed in such a way that it can then be redistributed as GPLv2 *OR* GPLv3 since they are incompatible. Just seems strange to have an either or type situation with the GPLv2.0 “OR LATER” option added on the licensing. I would have expected it would have to be GPLv2 only. I guess not.

    • You cannot combine GPLv2 code with GPLv3 code. They are incompatible licenses.

      That may be true for GPLv2.0 only code. For example, that would be quite true for anything that Otto distributes, as he licenses under “GPLv2.0 (you may not assume any later version)”.

      But WordPress is “GPLv2.0 (or later)“. GPLv3 clearly falls under “GPLv2.0 (or later)”.

      • Correct. But you have to be clear. If you don’t say “or any later version,” it cannot be assumed. In fact, the GPL says that if you license it under a specific GPL version without explicitly saying that any later version can also be used, you are de facto pinning it to that version of the GPL. So when I say “GPLv2″ I mean “GPLv2-only.” I think we’re both on the same page here, I’m just clarifying for anyone else who is reading.

        • I think so (we’re in agreement) as well, except with respect to the application.

          I think the Plugin Repository should be viewed primarily – first and foremost – as a resource for end users. And end users need not be concerned with such arcane issues, and are most benefited by not having their choice of Plugins restricted by such arcane issues.

          Let the core team and re-distributors worry about licensing implications of bundling GPLv2 (only) and GPLv3 code; don’t make the end users suffer by needlessly restricting their choice of Plugins.

          That’s my primary concern.

Leave a Reply

Please note that WPCandy is a moderated community.

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>