I'm wondering about those 0.5% who refused to relicense. What would be the rational behind refusing such a change. I can understand refusing for a project to be relicensed under a very different license but not between GPLv2 and GPLv2+...
Some people (Linus Torvalds is a notable example) think that GPLv3's provisions that forbid things like locked down hardware are too much. They would rather be "permissive" and allow hardware that restricts what the user can do with it.
What good is modifiable software if the hardware will refuse to run software if it's modified? Tell me, Mr Anderson, what good is a phone call when you are unable to speak?
The reasoning behind most things is selfish. Even Richard Stallman is subject to this; his motivation for the free software movement was when a colleague wouldn't share software changes that Stallman wanted/needed for his own use.
That said, the specific objection of Linux to the GPLv3 is twofold:
* There are thousands (if not millions) of contributors that would need to be contacted and would need to give consent to such a licensing change. I imagine some of those contributors might even be dead, and given the currently-draconian copyright laws of many nations (particularly the United States), this means that relicensing is that much more difficult.
* The GPLv3 would be a very hard hit for a lot of users of Linux in the embedded space, where a large number of "Things" in the "Internet of Things" aren't exactly designed to be field-programmable. The anti-TiVoization wording in the GPLv3 would cause a lot of pain there.
Note that while GPLv3 prohibits Tivoization, that is only one way to lock down hardware. For instance, the locked apps model of iPhone is OK under the GPLv3 (GPLv3 is incompatible with the App Store, but that has nothing whatsoever to do with the locked hardware. That's due to the TOS for the App Store requiring the user agree to not reverse engineer and not redistribute apps they obtain from the store).
The anti-Tivoization clauses are not as strong as most casual readers of GPLv3 seem to think they are. In particular, they only apply if "you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term".
A "User Product" is "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
So, as long as you keep GPLv3 code out of the firmware, OS, and bundled applications that ship when you sell your hardware to the customer, you can lock down the hardware and still provide add-on software that is GPLv3.
Can you explain in more detail why you think trying to distribute a GPLv3 app on the App Store wouldn't run afoul of the terms you quoted:
> you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term
Is it because you see this as meaning that downloading from the App Store at a later time doesn't qualify as "occur[ing] as part of a transaction [that transfers possession/use of the device]", and that the binaries have to be present at the time the iPhone is purchased for these terms to have any effect?
Have you raised this issue with the FSF? Have you gotten any sort of response?
Yes, it is because those terms only apply to conveyances that occur as part of a transaction in which the right of possession of the User Product is transferred.
Note that the GPLv3 defines "User Product" as "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
The iPhone is the "User Product". This can further be seen by considering the definition of "Installation Information": “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source.
In short, the User Product is the thing you install the covered work (the GPLv3'd thing) on and run it on, which for an App Store would be the iPhone or iPad. Unless GPLv3 is not using "possession" and/or "transaction" in their normal meanings, there is no way to characterize purchasing and downloading an app from the App Store as being a transaction in which the right of possession of the iPhone is transferred. Since no definitions of possession or transaction are given in the license, we can assume their normal meaning.
I haven't raised this issue with the FSF because I don't see it as an issue. They are the ones that specifically put in the limitation that Tivoization only occurs for GPLv3 object code conveyed as part of a transaction where the right of possession of the User Product is transferred to the person receiving the object code. In general, considering how much time they spent on drafting this thing, I generally assume it means what it says and it says what they intended.
If they somehow botched the drafting and that is not what they meant, it doesn't really matter anyway because if it ends up in court and the parties disagree on how they interpret those parts, the court will go with what it says, not what the drafter claims they meant. So, my general policy (with all licenses, not just GPL) is to go with what they say, unless they are too ambiguous and then I avoid the covered software. (Actually, before I get to that point I first see if I can limit my use of the work to only those uses that do not require the permission of the copyright holder. If I can limit me needs thusly then I can ignore the license).
> What good is modifiable software if the hardware will refuse to run software if it's modified?
You are free to build your own hardware.
GPLv2 ensure software is open, you use GPLv2 software, you ensure the software stay open.
It does not try to control other things outside what it gives. "Use my software? Make your hardware open. Use my software? Make your customer service open." No. It's simply "Use my software? Make your software open"
Licensing GPLv2+ means you'll accept any future "GPLv4", "GPLv5" etc without having any idea what those licenses will look like. You might end up not liking having them apply to your code. What if control of FSF is taken over as if like a coup and a nasty "GPLv4" is released?
The worst that could happen is that there is a future GPL version that removes copyleft. If there is a future GPL version that is horrible for the receipient, then at worst that receipient can simply opt for GPLv3.
Clause 14 of GPL 3 also clarifies what later licenses can do. They must be "similar in spirit" and they cannot impose any additional requirements on any author or copyright holder.
edit: Okay, after seeing clause 14, I don't even see how a judge would interpret a GPL version without copyleft to be "similar in spirit", so I can't even imagine how that would happen. I think you're ok in accepting newer versions of GPLv3.
That seems to contradict the clause that says no further obligations can be imposed upon authors or copyright holders. In particular, they cannot be forced to provide a warranty.
I guess "Creative Commons Attribution-Share Alike 3.0" is probably similar in spirit to the GFDL 1.2, but there was some large amount of top-downess in using the or later clause to help Wikipedia switch licenses.
Wikipedia's content used to be licensed under GFDL 1.2 or any later version. In order to transition to a more appropriate license the Wikimedia Foundation asked the FSF to release a new version (GFDL 1.3) that specifically allowed relicensing to CC BY-SA.
The new license may be "similar in sprit" but what it allows relicensing to may not be.
The way you protect yourself from unknown future licenses is to license the project under GPLv2 but require all contributions to be GPLv2+. When you read and agree to the next version, then you can add it to the project or switch to it completely.
This scheme depends on one (main) developer having control over the licensing of a significant part of the code base so it's subject to the "hit by a bus" failure mode.
Is that even possible; how can contributors legally provide patches under a license that is different from the source they are patching? How do you know if there is any "GPLv2 only" code left in the project? Do you track license usage by the code line? Can you add a trailing space to every single line of the code and release it on github as "GPLv2 and later" (hey, it's a patch), thus getting rid of the whole "GPLv2 only" clause?
> Can you add a trailing space to every single line of the code and release it on github as "GPLv2 and later" (hey, it's a patch), thus getting rid of the whole "GPLv2 only" clause?
No, a patch that doesn't completely replace existing code can not alter it's copyright. As long as you can insure that your GPLv2 code is in the project and not easily replaced, you control the project's license.
GPLv2+ means you are accepting the terms of GPLv5. What's in GPLv5? I have no idea. No one has any idea. It might never get written. As long as RMS is in charge, I'm not worried about the contents of the next GPL dramatically differing from the current spirit.
However, there is no guarantee that I will agree with future versions of the GPL. I'd like to judge them as they come. It's actually really strange to sign up for an open ended contract where a 3rd party is writing the revisions.
> As long as RMS is in charge, I'm not worried about the contents of the next GPL dramatically differing from the current spirit.
You don't have to trust RMS. You can trust lawyers interpreting clause 14 of GPLv3 correctly. This clause says that later GPL versions must be "similar in spirit". It also says that newer versions cannot impose any more obligations or restrictions on authors or copyright holders.
> But what if you objection to GPLv2+ is specifically already realized in GPLv3,like, say, the market-differentiated anti-Tivoization rules.
Yeah, if you like tivoisation, you probably don't like the spirit of the GPL at all. Tivoisation is really a loophole that wasn't anticipated in GPLv2. It should not have been allowed by GPLv2, but it simply wasn't anticipated.
> (Also, "similar in spirit" is so vague as to be completely meaningless.)
Vague is how the law is. It has to be vague, and the people who wrote the GPL have a good understanding of how judges interpret vague language. I trust them to have done a good job.
[...] the GNU General Public License is intended to guarantee your
freedom to share and change all versions of a program--to make
sure it remains free software for all its users.
No, vagueness of the level of that GPL phrase isn't how the law is, and, in fact, vagueness can make a law, contract, or, e.g., license provision devoid of legal effect.
The framework for how judges operate, and the framework for contract law is quite different. Judges has quite a lot of agency and mobility to make common sense decisions. Contract law on other hand must be more rigid, and is designed around making the market more stable and secure.
In a copyright infringement case, a judge would look at license text and make a decision about its meaning. The lawyers would likely try to interpret "similar in spirit" by providing defining points from previous licenses, which a judgment can be based on. How much we trust such decision thus rest on our believes that judges in general can make a reasonable judgment.
> The framework for how judges operate, and the framework for contract law is quite different.
Only in that the latter is a proper subset of the former; more relevantly, in US law, explicit licenses (even gratuitous ones) are applied under contract law principles, so the framework for how judges operate with them is the same as for contracts.
> How much we trust such decision thus rest on our believes that judges in general can make a reasonable judgment.
No, it rests on how much we trust that and also trust that the only reasonable judgement based on the vague text is one that we would prefer.
If you're talking about Dolphin, read the article again. Nobody refused, but a few people couldn't be contacted - unlike Linux, Dolphin has never required real names from contributors, so this mostly consisted of a few people who contributed under an alias a few years ago before utterly vanishing from the Internet.
If you mouse over that graphic in the article it says 1 person refused. However, the article otherwise completely ignores that 1 person... (unless I missed it, both times ;) )
Hm? The graph on the page shows 4.5% of contacts being marked as "Unable to contact", while it shows a very small 0.5% as "Refused, Code Rewritten". Or is this graph wrong?
The only person I know that opposed the change was Scott Moreau, and from my understanding he only did it to be an annoyance (I have IRC logs that indicate this pretty clearly). Given his history with other projects[1,2] it's not a big surprise. This was solved by removing the broken and mostly unused Wayland support from Dolphin.
> In practice, GPLv3 only adds more restrictions to the license
Not at all. They say so themselves: GPLv3 adds compatibility with Apache v2, which GPLv2 lacks. This thus removes a restriction.
GPLv3 also clarifies some things from GPLv2, such as being explicit about being applicable not only to software, and giving a clearer meaning of what distributing software means. GPLv3 calls this "conveying".
That's not true at all. Read up on the different licenses. The reason v3 was created was to fight tivoization, where the code is realeased, but the hardware prevents loading updated copies. From the point of view of a company licensing their source, v3 is much more restrictive. It requires a lot more things than a more free license. Linux is famous for rejecting it because of that.
Yes, there's a benefit that you are compatible with other more strict licenses, but that's like saying moving from GPL to proprietary is less restrictive because then you are compatible with the rest of your proprietary code at your company. Being more compatible with less free licenses is not more free.
The statement "GPLv3 only adds more restrictions" is false, because it also removes some restrictions.
Whether you think you should allow Tivoisation or not is a different matter to the plain fact that there are things that GPLv3 allows which GPLv2 does not allow.
Linux had no copyright assignment policy and they didnt put in the GPLv2+ future versions clause--they had so many contributors that they really had no choice but to reject it.
Quote: "In a very real sense, the GPLv3 asks people to do things that I personally would refuse to do. I put Linux on my kids computers, and I limit their ability to upgrade it. Do I have that legal right (I sure do, I'm their legal guardian), but the point is that this is not about "legality", this is about "morality". The GPLv3 doesn't match what I think is morally where I want to be. I think it is ok to control peoples hardware. I do it myself."
I'm not saying he's pro, I'm saying for Linux it didn't matter, because be didn't have a choice. For got he didn't go with GPLv3 so no doubt he is against it.
This is off-topic to the comment jordigh made. Describing it as "not true at all" is worse than stretching; it's just wrong on its face. Re-read the original comment.
IMO, GPL2 has all the stuff against tivoization already there (preferred form for modification -- if I can't modify it for actual hardware, it's not enough).
GPL2 hasn't had that problem present when it was written, and so tivo found a way to prevent practical modification, even tho they followed the letter of the license.
In my eyes, most, if not all open source software should use AGPL, and dual license a commercial license offer for those people who want to buy it for modification. You should contribute, or pay up, else the tragedy of the commons will occur.
AGPL is a market failure as I see it. I understand and sympathize with what that license is trying to do, but in practice, it just means that many companies won't touch that software (or will only touch it in a fashion where they don't modify that part of the system), meaning that there are far fewer adopters at all, and of those that adopt, fewer modify the software, meaning that it evolves more slowly than products with more used licenses.
Biggest problem seems to be kind-of unclear rules where it stops, especially when it comes to web applications (templates, linked assets, ...).
There are surprisingly few "trustworthy" comments on that out there, most stuff you find is a bunch of people going "I think XXX, but IANAL" on stack overflow.
Honestly, I'd sooner prefer to see everything licensed under BSD / MIT (Expat, X11) / ISC / etc. "copycenter" / "copyfree" licenses, for the simple reason that very few people in their right mind would use the AGPL at all (let alone in a project that doesn't involve writing network-facing software), and I'd rather see more software be compatible with as many free software licenses as possible. Aside from public domain, such non-copyleft licenses are a dream for writing free software, since the license doesn't get in the way of using such code in, say, Apache'd or GPL'd or MPL'd or whatever-L'd code.
(A)GPL, in other words, should be reserved for things that aren't meant to be reusable by other codebases. For everything that should be reusable, LGPL is about the limit for something being usable (and even that can be difficult to work with).
I think it is a mistake to license anything under a “or later version” license. If you do that, you licence your code under a license that you have never read, so how can you know that it serves your intentions? You are blindly licensing code under a licence that has yet to be written!
In the GPL case, the Free Software Foundation states that “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.” (Section 14 of the GPLv3.) Now of course I don’t expect the FSF to publish something radically different, but they _could_ do so. Even if you trust the FSF now, are you sure you trust the FSF twenty years from now?
To be fair, most FLOSS license, including GPLv2 and BSD 2-clause and 3-clause, are (were?) usually considered to have an implicit patent grant, similar in spirit to the one in MPLv2 or GPLv3. I don't think that argument that one could use GPLv2 while thinking that software patent are good has that much ground.
On the "thinking that software patents are good" front, I think this bit from the GPLv2 preamble is pretty clear:
> Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
Even in the worst case scenario, it remains available under the original license, and that's not going to change.
What is the worst case scenario, by the way? You could say it depends on who you are. One such scenario would be for developers who agree with the FSF's strong copyleft philosophy who are betrayed by a future hypothetical revision that removes all copyleft provisions to make it no stronger than, e.g., BSD. This affects only a subset of those choosing a license for their project. (I.e., if you don't care about copyleft, this purportedly horrific thing doesn't even affect you.) Funnily enough, the subset of those who would be affected are hardly ever the ones I see making the argument you are.
So what terrible things do you imagine the worst case scenario involving?
I would like to know that too, since all the worst case scenario I can think of is also defining aspects of permissive licensed projects.
For example, a community could fork a project and license it under a new'er version, and then the original founder could suddenly want to incorporate the new changes but at the same time not want to use the new license, and the new community refuses request for a license to the old version. I don't think it ever has happen with a gplv2+ project, and it require a quite hostile community to begin with, but as a worst case scenario that would likely be it.
They already wrote legalese that says that they can't do so. This isn't merely an empty promise: it's already encoded into the text of the license. If a later version of the license is radically different and not in spirit of the GPL or imposes upon authors obligations that earlier versions of the GPL do not, then the current version of the GPL already says that later version would be invalid.
Would the anti-TiVoization wording in the GPLv3 count as "obligations that earlier versions of the GPL do not [impose]", and if so, does that mean that the GPLv3 is invalid?
The obligations are upon the authors and copyright holders. So, for example, a later version can't remove the no warranty clause, because that would burden the authors with providing warranties.
If you don't trust the FSF, the GPLv3 actually offers another alternative: "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."
So you could say "GPLv2, GPLv3, or any later version approved by ...". Which then means that a future relicense to allow GPLv4 (after reviewing it to your satisfaction) would not require contacting every single contributor.
Yeah, I'd like to know the legalities of this "we can rewrite the license in anyway we choose, and your code from 20 years ago will fall under its terms".
Once again the FSF political motives cast its license into dubious territory. Just stay away from the GPL.
70 comments
[ 3.5 ms ] story [ 133 ms ] threadWhat good is modifiable software if the hardware will refuse to run software if it's modified? Tell me, Mr Anderson, what good is a phone call when you are unable to speak?
That said, the specific objection of Linux to the GPLv3 is twofold:
* There are thousands (if not millions) of contributors that would need to be contacted and would need to give consent to such a licensing change. I imagine some of those contributors might even be dead, and given the currently-draconian copyright laws of many nations (particularly the United States), this means that relicensing is that much more difficult.
* The GPLv3 would be a very hard hit for a lot of users of Linux in the embedded space, where a large number of "Things" in the "Internet of Things" aren't exactly designed to be field-programmable. The anti-TiVoization wording in the GPLv3 would cause a lot of pain there.
The anti-Tivoization clauses are not as strong as most casual readers of GPLv3 seem to think they are. In particular, they only apply if "you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term".
A "User Product" is "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
So, as long as you keep GPLv3 code out of the firmware, OS, and bundled applications that ship when you sell your hardware to the customer, you can lock down the hardware and still provide add-on software that is GPLv3.
> you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term
Is it because you see this as meaning that downloading from the App Store at a later time doesn't qualify as "occur[ing] as part of a transaction [that transfers possession/use of the device]", and that the binaries have to be present at the time the iPhone is purchased for these terms to have any effect?
Have you raised this issue with the FSF? Have you gotten any sort of response?
Note that the GPLv3 defines "User Product" as "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
The iPhone is the "User Product". This can further be seen by considering the definition of "Installation Information": “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source.
In short, the User Product is the thing you install the covered work (the GPLv3'd thing) on and run it on, which for an App Store would be the iPhone or iPad. Unless GPLv3 is not using "possession" and/or "transaction" in their normal meanings, there is no way to characterize purchasing and downloading an app from the App Store as being a transaction in which the right of possession of the iPhone is transferred. Since no definitions of possession or transaction are given in the license, we can assume their normal meaning.
I haven't raised this issue with the FSF because I don't see it as an issue. They are the ones that specifically put in the limitation that Tivoization only occurs for GPLv3 object code conveyed as part of a transaction where the right of possession of the User Product is transferred to the person receiving the object code. In general, considering how much time they spent on drafting this thing, I generally assume it means what it says and it says what they intended.
If they somehow botched the drafting and that is not what they meant, it doesn't really matter anyway because if it ends up in court and the parties disagree on how they interpret those parts, the court will go with what it says, not what the drafter claims they meant. So, my general policy (with all licenses, not just GPL) is to go with what they say, unless they are too ambiguous and then I avoid the covered software. (Actually, before I get to that point I first see if I can limit my use of the work to only those uses that do not require the permission of the copyright holder. If I can limit me needs thusly then I can ignore the license).
You are free to build your own hardware.
GPLv2 ensure software is open, you use GPLv2 software, you ensure the software stay open.
It does not try to control other things outside what it gives. "Use my software? Make your hardware open. Use my software? Make your customer service open." No. It's simply "Use my software? Make your software open"
Which is fair in Linus's opinion.
No, no you are not.
The physical problems notwithstanding (you happen to have a semiconductor fab in your basement?), too many things are covered by patents.
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#V...
Clause 14 of GPL 3 also clarifies what later licenses can do. They must be "similar in spirit" and they cannot impose any additional requirements on any author or copyright holder.
edit: Okay, after seeing clause 14, I don't even see how a judge would interpret a GPL version without copyleft to be "similar in spirit", so I can't even imagine how that would happen. I think you're ok in accepting newer versions of GPLv3.
https://www.gnu.org/licenses/fdl.html#section11
I guess "Creative Commons Attribution-Share Alike 3.0" is probably similar in spirit to the GFDL 1.2, but there was some large amount of top-downess in using the or later clause to help Wikipedia switch licenses.
The new license may be "similar in sprit" but what it allows relicensing to may not be.
This scheme depends on one (main) developer having control over the licensing of a significant part of the code base so it's subject to the "hit by a bus" failure mode.
No, a patch that doesn't completely replace existing code can not alter it's copyright. As long as you can insure that your GPLv2 code is in the project and not easily replaced, you control the project's license.
However, there is no guarantee that I will agree with future versions of the GPL. I'd like to judge them as they come. It's actually really strange to sign up for an open ended contract where a 3rd party is writing the revisions.
You don't have to trust RMS. You can trust lawyers interpreting clause 14 of GPLv3 correctly. This clause says that later GPL versions must be "similar in spirit". It also says that newer versions cannot impose any more obligations or restrictions on authors or copyright holders.
(Also, "similar in spirit" is so vague as to be completely meaningless.)
Yeah, if you like tivoisation, you probably don't like the spirit of the GPL at all. Tivoisation is really a loophole that wasn't anticipated in GPLv2. It should not have been allowed by GPLv2, but it simply wasn't anticipated.
> (Also, "similar in spirit" is so vague as to be completely meaningless.)
Vague is how the law is. It has to be vague, and the people who wrote the GPL have a good understanding of how judges interpret vague language. I trust them to have done a good job.
In a copyright infringement case, a judge would look at license text and make a decision about its meaning. The lawyers would likely try to interpret "similar in spirit" by providing defining points from previous licenses, which a judgment can be based on. How much we trust such decision thus rest on our believes that judges in general can make a reasonable judgment.
Only in that the latter is a proper subset of the former; more relevantly, in US law, explicit licenses (even gratuitous ones) are applied under contract law principles, so the framework for how judges operate with them is the same as for contracts.
> How much we trust such decision thus rest on our believes that judges in general can make a reasonable judgment.
No, it rests on how much we trust that and also trust that the only reasonable judgement based on the vague text is one that we would prefer.
EDIT: disregard; didn't see the graph, and wasn't previously aware of the one person who refused. See https://news.ycombinator.com/item?id=9600204 for the correct answer.
No. Ten were uncontactable, and one refused.
"Refused and Code Rewritten - 1/202"
"Unable to Contact - 10/202"
From the descriptions of the red and black slices of the pie chart - https://dolphin-emu.org/m/user/blog/relicensing/relicensepie...
https://dolphin-emu.org/m/user/blog/relicensing/relicensepie...
Note: "0.5% Refused. Code Rewritten"
If you mouse over that graphic in the article it says 1 person refused. However, the article otherwise completely ignores that 1 person... (unless I missed it, both times ;) )
[1] https://lwn.net/Articles/544543/ [2] http://www.phoronix.com/scan.php?page=news_item&px=MTM0MTM
Not at all. They say so themselves: GPLv3 adds compatibility with Apache v2, which GPLv2 lacks. This thus removes a restriction.
GPLv3 also clarifies some things from GPLv2, such as being explicit about being applicable not only to software, and giving a clearer meaning of what distributing software means. GPLv3 calls this "conveying".
Yes, there's a benefit that you are compatible with other more strict licenses, but that's like saying moving from GPL to proprietary is less restrictive because then you are compatible with the rest of your proprietary code at your company. Being more compatible with less free licenses is not more free.
Whether you think you should allow Tivoisation or not is a different matter to the plain fact that there are things that GPLv3 allows which GPLv2 does not allow.
Quote: "In a very real sense, the GPLv3 asks people to do things that I personally would refuse to do. I put Linux on my kids computers, and I limit their ability to upgrade it. Do I have that legal right (I sure do, I'm their legal guardian), but the point is that this is not about "legality", this is about "morality". The GPLv3 doesn't match what I think is morally where I want to be. I think it is ok to control peoples hardware. I do it myself."
For something quite recent: https://www.youtube.com/watch?v=PaKIZ7gJlRU
GPL2 hasn't had that problem present when it was written, and so tivo found a way to prevent practical modification, even tho they followed the letter of the license.
In my eyes, most, if not all open source software should use AGPL, and dual license a commercial license offer for those people who want to buy it for modification. You should contribute, or pay up, else the tragedy of the commons will occur.
There are surprisingly few "trustworthy" comments on that out there, most stuff you find is a bunch of people going "I think XXX, but IANAL" on stack overflow.
(A)GPL, in other words, should be reserved for things that aren't meant to be reusable by other codebases. For everything that should be reusable, LGPL is about the limit for something being usable (and even that can be difficult to work with).
It wasn't, and they amended GPLv3 to make sure that if Tivoization ever happened with GPLv3 code, they could sue for that.
In the GPL case, the Free Software Foundation states that “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.” (Section 14 of the GPLv3.) Now of course I don’t expect the FSF to publish something radically different, but they _could_ do so. Even if you trust the FSF now, are you sure you trust the FSF twenty years from now?
> Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
What is the worst case scenario, by the way? You could say it depends on who you are. One such scenario would be for developers who agree with the FSF's strong copyleft philosophy who are betrayed by a future hypothetical revision that removes all copyleft provisions to make it no stronger than, e.g., BSD. This affects only a subset of those choosing a license for their project. (I.e., if you don't care about copyleft, this purportedly horrific thing doesn't even affect you.) Funnily enough, the subset of those who would be affected are hardly ever the ones I see making the argument you are.
So what terrible things do you imagine the worst case scenario involving?
For example, a community could fork a project and license it under a new'er version, and then the original founder could suddenly want to incorporate the new changes but at the same time not want to use the new license, and the new community refuses request for a license to the old version. I don't think it ever has happen with a gplv2+ project, and it require a quite hostile community to begin with, but as a worst case scenario that would likely be it.
Well, other than flipping them off :)
They already wrote legalese that says that they can't do so. This isn't merely an empty promise: it's already encoded into the text of the license. If a later version of the license is radically different and not in spirit of the GPL or imposes upon authors obligations that earlier versions of the GPL do not, then the current version of the GPL already says that later version would be invalid.
So you could say "GPLv2, GPLv3, or any later version approved by ...". Which then means that a future relicense to allow GPLv4 (after reviewing it to your satisfaction) would not require contacting every single contributor.
Once again the FSF political motives cast its license into dubious territory. Just stay away from the GPL.