Posted Feb 12, 2007 20:34 UTC (Mon) by gerv (subscriber, #3376)
[Link]
Indeed. The document does contain a copy of the GNU General Public License version 2. But it also says that you should put the boilerplate on to apply the new terms to your license, and what happens if the boilerplate isn't put on (section 9).
The MPL says "Mozilla Public License version 1.1" at the top, but software under the MPL can be used under any later version of the MPL - section 6.2.
For the GPL, exactly the same thing applies unless the boilerplate says different - i.e., unlike the MPL, the author has the option of restricting it if they choose. But they must explicitly choose to do so. If they do not, then "you may choose any version ever published by the Free Software Foundation".
GPL 3: An Open-Source Earthquake? (CRN)
Posted Feb 12, 2007 20:46 UTC (Mon) by zlynx (subscriber, #2285)
[Link]
Section 9 says nothing about boilerplate. Section 9 applies to code that has a bit like this from kernel/cpu.c in it:
/* CPU control.
* (C) 2001, 2002, 2003, 2004 Rusty Russell
*
* This code is licenced under the GPL.
*/
I would say that listing the entire text of GPL version 2, leaving off the "or later" notice, *and* the paragraph by Linus at the top of COPYING, makes it very clear that it is version 2.
If you are applying this argument to the early versions of Linux, which were less clear on licensing, then Linus could apply any version GPL he desired, and he picked GPL 2.
GPL 3: An Open-Source Earthquake? (CRN)
Posted Feb 12, 2007 21:18 UTC (Mon) by gerv (subscriber, #3376)
[Link]
Listing the entire text is a requirement of the license. It makes no statement about versions. The paragraph by Linus at the top of COPYING (at least, the version I linked to) also says absolutely nothing about versions.
Yes, the "or later" notice is left off, but so is all the rest of the boilerplate. How much clearer can section 9 be? The Program (the file) does not specify a version number of this License (because it doesn't specify anything) and so consequentially you may choose any version ever published by the Free Software Foundation.
The boilerplate you quote also falls into the same category. But we have already agreed that if code has no boilerplate at all, then it is under the terms of GPL version 2 - as given in COPYING. And GPL version 2 clearly states that if no version number is given in boilerplate, you can use any version of the GPL ever published by the FSF.
To put it another way, the default terms in the case of no boilerplate are "any version ever published" (i.e. 1, 2 or 3). The standard default boilerplate is "this version or any later version" (i.e 2 or 3) and it can be modified to "this version only (i.e. 2). There are three different possibilities depending on the boilerplate status, and files with no boilerplate are in the first of those three buckets.
GPL 3: An Open-Source Earthquake? (CRN)
Posted Feb 12, 2007 22:22 UTC (Mon) by zlynx (subscriber, #2285)
[Link]
I finally did look at the link you provided.
I had assumed it was a link to the latest kernel. But your link is COPYING for the kernel repositories. Each release of Linux contains its own COPYING file. Please look at COPYING in the top level of 2.6.20, for example. Then refer to my previous comment that by your argument, Linus was free to relicense to explicit version 2. I myself happen to agree with Linus that it was always version 2.
I *still* disagree with your interpretation of section 9. If I put the complete text of GPL Version 2 as the license on my program, and do not explicitly give you permission to relicense under any later version, then I *did* specify a version: version 2. I do not see how you can read "GNU GENERAL PUBLIC LICENSE Version 2" as anything other than specifying a version, and section 9 that you are so fond of says nothing about *where* the version must be specified. I believe section 9 applies only when the GPL is included by reference.
If you want *me* to agree with you, please explain and convince me why listing the version 2 GPL text does not specify version 2 GPL.
GPL 3: An Open-Source Earthquake? (CRN)
Posted Feb 14, 2007 21:42 UTC (Wed) by gerv (subscriber, #3376)
[Link]
I've had a look at the COPYING in the latest kernel (2.6.20). Linus's statement there is interesting because I don't think it's immediately obvious that he has the legal authority to make that statement about any contribution other than his own - certainly not for contributions made before he added the statement.
If I contribute some code to the pre-Linus-announcement Linux kernel, and don't put a header on it, section 9 says that recipients can choose any version of the GPL ever published by the FSF. (You may still dispute that; but see below for further comments.) Linus can not take away that right I have given, because it's imposing further restrictions on the rights I am granting - something section 6 of the GPL forbids.
If I contribute unboilerplated code to the Linux kernel post-Linus-announcement, there is a conflict. The license supposedly applying to the kernel says recipients can use any version; Linus says it's only version 2. Which wins? Well, Linus doesn't own the copyright on my contributions, so I'd say the text of the GPL wins. But I agree it's a different and more complex situation.
Your interpretation of section 9 is wrong because it says "If _the Program_ specifies...". In other words, it *does* say where the version must be specified - it must be specified on the Program. The copy of the included license is not the Program.
If the mere inclusion of the licensing text of one particular GPL version were sufficient to fix the licensing of the accompanying software at that version, then that part of section 9 would not need to exist. Why would you ever have a clause beginning "If the Program does not specify a version number of this License", if it were impossible to not specify a version number, because the inclusion of the license text always meant that you had specified one?