4 ms·
GPLv2 contains the line >This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published
by ikeboy 11y ago
GPLv2 contains the line
>This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
So couldn't the FSF fix this by releasing a later version of the GPL that allows for this combination?
https://www.gnu.org/licenses/rms-why-gplv3.html https://www.gnu.org/licenses/rms-why-gplv3.html seems to imply that that wouldn't work, but I don't understand why. Can someone with more experience with the GPLs enlighten me?
- snuxoll 11y agoLinus removed that line from the kernel license because he disagreed with the tivoization clause in GPLv3, so the Linux kernel will forever remain GPLv2.
- davexunit 11y agoGPLv3 was not released until 2007. AFAIK, Linux has been GPLv2-only since it started using GPLv2 in the 90s.
- snuxoll 11y agohttps://www.youtube.com/watch?v=PaKIZ7gJlRU https://www.youtube.com/watch?v=PaKIZ7gJlRU - he telegraphed GPLv3 many, many years in advance - just because it wasn't published until 2007 doesn't mean there wasn't talk about it for a long time before then.
- bryanlarsen 11y agoLinus removed that line before GPLv3 was created because he didn't want to give the FSF the ability to arbitrarily relicense his work to a license that he didn't have a chance to vet. If he liked the GPLv3 he may have added the line back in, but he hasn't done so for the reason you mentioned.
- dragonwriter 11y ago> If he liked the GPLv3 he may have added the line back in No, he couldn't have, because all the contributions received for the kernel were licensed GPLv2 without the "or later" clause, and cannot be relicensed to GPLv2 with the "or later" clause. Linux is GPLv2-only forever, essentially. (It could relicense by stopping accepting contributions licensed without the "or later" clause, and either negotiating with all existing contributors to relicense or waiting for the copyrights to expire, but that's not likely to be practical. It certainly can't be relicensed on Linux or any other one actor's whim.)
- yarrel 11y agoThe FSF couldn't arbitrarily relicense his work or the work of any of the other contributors to the Linux kernel that they don't hold the copyright to. The GPLv3 had a long and comprehensive consultation phase. Linux contributors were involved in that. And there's more than just dislike preventing relicensing - it would require contacting all the current Linux copyright holders and getting their agreement (or removing their code if they decline). On balance I'd rather Linux remained GPLv2 than relicensed to Apache 2, so this is a good example of the definition of a compromise. :-)
- bryanlarsen 11y agoThat's exactly what happened to Samba. It was originally licensed with "GPLv2 or later", and now it's "GPLv3 or later". The main contributors to Samba were leading the switch, but they didn't get explicit permission from every single copyright holder, nor did they have to.
- mikeash 11y agoThey didn't need to contact the contributors because of that "or later" clause. The license explicitly lets anyone relicense to GPLv3 without asking anybody first. Linux's license doesn't have that clause, so you're not automatically allowed to relicense. Switching to GPLv3 would require the copyright holders to explicitly do so. Since Linux doesn't require contributors to assign copyright to some central organization, "the copyright holders" means all contributors, past and present.
- davexunit 11y agoLinux is explicitly licensed under the GPLv2 only, unfortunately.
- deleted 11y ago[deleted]
- jo909 11y agoYes it is. That sentence is not part of the license itself, but used in the text where you state what license (or what multiple licences) your program is released under.
- iends 11y agoMany people are quite happy it's GPLv2 only.
- davexunit 11y agoThis is another unfortunate circumstance.
- Guvante 11y ago> https://www.gnu.org/licenses/rms-why-gplv3.html https://www.gnu.org/licenses/rms-why-gplv3.html seems to imply that that wouldn't work, but I don't understand why. Can someone with more experience with the GPLs enlighten me? It doesn't work to combine GPL code that way because both GPLv2 and GPLv3 would require the clause thus meaning a new "GPLv2" with that clause that isn't technically GPLv2. Heck I don't know their verbiage enough but they might not even be able to call it that. However CDDL is not a strong copyleft, but a weak one, so would not require any update for the combination to work. The real problem is that you would need a new hypothetical GPLv4 (since you wouldn't want to call it GPLv3 even if you could) that includes some verbiage that allows this and then get everything that is GPLv3 that you include to upgrade to this new version. That is a pretty tall order to allow a slightly different copyleft license to exist. In theory a new GPL version that allows coexistence of licenses could exist but doing that without allowing perverse "copyleft" licenses or specifically calling out some set of copyleft licenses would be really difficult.
- ikeboy 11y ago>The real problem is that you would need a new hypothetical GPLv4 (since you wouldn't want to call it GPLv3 even if you could) that includes some verbiage that allows this and then get everything that is GPLv3 that you include to upgrade to this new version. GPLv3 has the same language, except with 3 instead of 2. So releasing v4 should allow both v2 and v3 programs to upgrade to v4 without anyone needing to do anything.
- teddyh 11y agoTo be excruciatingly precise: That text is not part of the GPL itself. It is instead part of a standard small boilerplate text you are supposed to include in every code file; the text references the GPL “as published by the Free Software Foundation”, so the whole of the GPL is invoked, and the code file therefore then has a license. But the GPL itself does not have the “any later version” clause.