Let's say that Microsoft or some other company somehow takes over the FSF (I haven't filled in the details of this take over yet. We'll just say that they filled their food with mind control nanites or something$^1$.) and releases a GPLv4 to give them as much control as possible.

Obviously, no one would like this new license (except Microsoft), but some open software is licensed under things like "GPLvX or any later version". This means that Microsoft can now use that code under GPLv4, which may, for example, not require Microsoft to use it in a copyleft way.

  • Roughly, how should Microsoft word GPLv4 so as to give them maximum power. (You don't need to write up a whole license file, unless you really want to.)
    • To what extent could they affect programs without the "or any later version" clause?
    • Can they rewrite GPLv2 and GPLv3 as well if they control the FSF?
    • Bonus: What other licenses could they rewrite, and how do those affect the rest of the question?
    • Double Bonus: They take over creative commons and other license publishers and rewrite their licenses too.
  • How much of the open source ecosystem is affected. What exactly is this effect?
  • How would the open source community respond?

$^1$Of course, this didn't work on Richard Stallman. At Stallman's request, Linus Torvalds installed a multi user security system with each organ being run as a separate user (so compromise of his blood stream and stomach doesn't give control to the brain), and Richard Stallman's righteous immune system started attacking the proprietary technology that had invaded his body immediately. It only weakened him, after which traditional means could take him out.


closed as too broad by ArtOfCode, T3 H40, Hohmannfan, Aify, J_F_B_M Apr 25 '16 at 16:12

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ @SJuan76 Does GPLv2 require you to redistribute under the original terms, or under GPLv2? $\endgroup$ – PyRulez Apr 24 '16 at 23:20
  • $\begingroup$ What fraction of the user/developer base actually pays attention to GPL licenses? $\endgroup$ – jamesqf Apr 25 '16 at 5:57
  • $\begingroup$ @PyRulez If the license is GPLv2 only, then GPLv2 is the only license allowed. If the license is GPLv2 or newer, then originally GPLv2-covered software could in principle be distributed under a hypothetical GPLv4 as described. However, there are other issues with the changes you mention; see my answer. $\endgroup$ – a CVn Apr 25 '16 at 12:00
  • $\begingroup$ I'm voting to close this as too broad. Licenses are wild, complicated things, and the wording of one is too much for one question in any case. That plus some other questions, and this is way too broad. $\endgroup$ – ArtOfCode Apr 25 '16 at 14:29

It's important to keep in mind that GPL licensing typically references a specific version of the license, or a specific version "or, at your option, any later version". The latter gives the user the freedom to choose whether to use the originally specified, or a newer, version of the license; whichever is more useful in their specific case.

The license a piece of software is licensed under is attached to that software; using the FSF GPL is just a convenience (for both licensors and licensees). The license comes with the software and covers that software, so cannot (legally) be changed by anyone other than the copyright holder for the software in question.

Also, the GPL by itself places limits on future versions of the license. Let's take the wording of the GPL v3 section 14, Revised Versions of this License, my emphasis:

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

So, even if a large company were to take over the Free Software Foundation, they cannot validly alter the GPL in such a way that they can force any previously released software to be used under that license only; they can only authorize further licenses. Which is basically the common concept of dual licensing, plain and simple.

Additionally, the GPL is a license, not a copyright transfer. (This is part of the reason why the Free Software Foundation require a separate copyright transfer when you work on official FSF-maintained software.) The license can only confer rights, it cannot transfer ownership. So the original copyright holder may still exercise their right under copyright law to relicense under "GPL v2 or v3" instead of "GPL v2 or any later version". Of course, previously released versions would still be available under "GPL v2 or any later version" terms.

Further, as alluded to above, nothing in the "or any later version" wording forces a licensee to accept the terms of the new license. The licensee is perfectly free to state "I don't like GPLv4, I'm going to keep using GPLv3" and be fully within their rights as long as they comply with the GPLv3 terms.


Some likely effects would be:

  • Existing GPL-licensed software is effectively unaffected, because anybody who cares would probably refuse to accept the new GPLv4
  • Everybody relicenses under e.g. "GPLv2 or GPLv3", instead of "GPLv2 or any later version" (if a miracle happens, you can always later state "I authorize FooBaz to be used as licensed under GPLv5")
  • Microsoft faces some lawsuits for releasing a license calling it the GPL where the changes made are specifically prohibited by the preceding version of the GPL
  • Software fragmentation; any updates done by Microsoft would presumably be GPLv4-only, so the free software community can't make use of those, but this isn't much worse than with the BSDs after the FSF's switch to GPLv3+
  • Microsoft loses face completely now that they are finally starting to actually come around in matters of free software and open source

Once the confusion settles, the damage is likely to be minor at most.

  • $\begingroup$ <<Everybody relicenses under e.g. "GPLv2 or GPLv3", instead of "GPLv2 or any later version">> doesn't work. GPL licenses are not retractable (at least CC aren't). Copyright owners can license they work under as many additional licenses as they want, but users that get the work under a previous license can keep using it according to that license. $\endgroup$ – Pere Aug 19 '17 at 12:29
  • $\begingroup$ @Pere I take it you missed the point a few paragraphs above the one you quoted, which states that: Of course, previously released versions would still be available under "GPL v2 or any later version" terms. The copyright holder can always change the licensing terms going forward, but the GPL is irrevocable by design so they cannot change the licensing terms of already licensed copies. The answer also discusses how the "any later version" is an option, not an obligation. Copyright on open-source software may also be spread among many individuals; that makes copyright holders very plural. $\endgroup$ – a CVn Aug 19 '17 at 14:32

Not much.

GPL licenses are simple, basically they just state that you must redistribute or make available your code with your software. GPLv4 can, at most, eliminate that restriction.

  • Effects? For projects with the wording "GPLv3 or later", Microsoft can get to write MSpache without redistributing the code. They can not even make it "Apache For Windows" and make it incompatible with other Apaches because they do not own the trademark.

    And of course, since "GPLv3 or later" means that GPLv3 applies, whoever choses to opt for GPLv3 can still do (until the Apache Foundation decides against it).

    For the other projects, not even that unless these voluntarily offer their code with the new licence.

  • Can they rewrite GPLv2 and GPLv3? Licenses are basically contracts; if I took some code for free because I agreed to the conditions of the license I already have the rights to the code; one of the parts of the contract may not unilaterally rewrite its terms. And since GPLv2 or 3 forces me to redistribute or make available the code under the original terms...

    The only way to make it enforceable is make newer versions of the code work under a different licence (and then, of course, it would only affect those newer versions).

  • Other licenses? Why? The most restrictive is GPL; with most of the others there are less obligations to make the code (either your or the original code) available. Wherever there is such a restriction, they can use the same method that with GPL.

  • CC? Read all of the above.

So, no much of an effect, and the most dramatic changes would be some licencing notices changed to specify "only GPLv3" instead of "GPLv3 or later" (of course, versions of the code launched with the later form would be usable under GPLv4 terms).

  • $\begingroup$ Apache is distributed not under the GNU GPL, but rather under the Apache License. (Specifically, the Apache web server version 2.2 is licensed under the Apache License, version 2.0. Other versions may use different licenses.) $\endgroup$ – a CVn Apr 25 '16 at 18:03

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