Excerpts from Ray Rashif's message of 2010-08-26 14:23:22 +0200:
On 26 August 2010 19:16, Roberto Alsina <ralsina@netmanagers.com.ar> wrote:
On Thursday 26 August 2010 08:12:23 Ronald van Haren wrote:
My second point was that we don't know what the future will bring. Will new applications being licensed under GPL2 or later, GPL3 or later, GPL4, GPL4 or later... there are lots of options. There are lots of possibilities and I'm wondering if it is at all feasible to create a naming scheme which will fit all.
Sure:
GPL2 GPL2+ GPL3 GPL3+ etc.
For convenience, you may want to make GPL the equivalent of GPL2+
Here's what is currently being done:
ln -s GPL2 GPL
So in fact, we don't even have the text of the "only" version. Neither does the FSF.
Because there is only one version of the GPL2 and GPL3 respectively, but a program can be licensed with multiple GPL versions. Now what the license array exists for, imho, is to inform the user which licensing terms are available for the program.
There is no proper "example", "template" or "draft" for a GPLn-only license. For eg. the kernel has this in its COPYING:
<quote> NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it.
Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.
Linus Torvalds </quote>
That is the only difference between that license text and the one in /usr/share/common, i.e it is a special case, a GPL2 license with an "exception clause". Otherwise, both have exactly 2 occurences of "any later version".
No, there's no exception clause to the GPL at all, it merely states, very clearly, that this software is only available under the terms of the GPL2. It wouldn't need to be that explicit, it could just say "GPL2" and it would mean the same thing, but apparently Linus intended to make very clear that it isn't available under the terms of any other GPL license. It's really nothing special.
== GPL2 == If we want to honour cases like that, we would have to encourage the inclusion of the license. So, our kernel should mention:
license=('custom:GPL2')
And include /usr/share/licenses/kernel26/COPYING. All cases of "custom" should naturally imply that there is a license text to check out.
Nope, just GPL2 as for any other GPL2 software is fine. Read the license, http://www.gnu.org/licenses/gpl-2.0.html#SEC3 9. A "9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation." The one sentence implies to me that GPL2 only doesn't exist, but it does, I asked at #fsf. It's just not encouraged.
All other "normal" GPL software should have:
license=('GPL')
Which needs no intervention.
If the author says just 'GPL' then it can be any GPL version, as you can read above. That a case arch hasn't covered either.
== GPL3 == Now, because the texts of the GPL2 and GPL3 are different, we cannot, for eg. symlink anything to GPL3. But in the above manner, software like the kernel need to have:
license=('custom:GPL3')
And include /usr/share/licenses/foobar/COPYING.
While the rest of the GPL3 software can just have:
license=('GPL3')
GPL3 or GPL3 later is the same license text, it also only depends on whether the author specifies the "or later". It should also be easily visible for Arch users, something that is currently not the case. Arch currently doesn't cover the cases where the author just says "GPL3".
== TL;DR == Basically, we just standardise the use of:
license=('custom:GPLn')
For software with GPL exception texts, and include the license. Only the kernel (and mysql? [1]) package needs to be changed to conform to this; nothing else needs to be done. Very "future proof", IMO.
[1] http://www.downloadsquad.com/2007/01/04/mysqls-license-is-now-gpl-2-only/
Again, it's no exception, it's the use of this one license and this one license only. -- Philipp -- "Wir stehen selbst enttäuscht und sehn betroffen / Den Vorhang zu und alle Fragen offen." Bertolt Brecht, Der gute Mensch von Sezuan