LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

Posted Jan 17, 2007 10:43 UTC (Wed) by forthy (guest, #1525)
In reply to: Sun to release OpenSolaris under GPL version 3 (Linux-Watch) by paulpach
Parent article: Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

This is a recurring theme, and simply wrong. Linus put Linux under "GPLv2 only" in 2.4.0-test-something, without asking anyone. The only way this can be legitimate is that Linus redistributes what he got (under whatever GPLv2 compatible license that was) under GPLv2 only, and that he can change his mind when he likes to; unless he has taken GPLv2-only code, as well. He can't change the legal status of files created by others, and the default unmarked file under GPLv2 regime is "or later (at your option)".

And AFAIK, only 2 files in the current Linux kernel have an explicit GPLv2-only marking, so that would be quite easy to replace those files. Linus can only choose under which terms he's obligated to distribute Linux, and he has chosen GPLv2 now. His choice, his choice to change his mind.

From an intentional point of view, it's actually much more confusing. The reason why Linus put this "GPLv2 only" in was that he feels that he can't put something under a future license. He doesn't trust the FSF, and he doesn't fully understand why the FSF has chosen the four freedoms to protect, as opposed to a tit-for-tat model, which Linus seems to see in the GPLv2 (which, however, isn't there). The tit-for-tat model is "I give you my code, you improve it, you give it back to me". That's not what the GPL is about, that's just a misunderstanding. The distrust with the FSF seems to be partly rooted in this fundamental misunderstanding.


(Log in to post comments)

Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

Posted Jan 17, 2007 11:40 UTC (Wed) by arcticwolf (guest, #8341) [Link]

That's simply not true.

What people - including you - fail to realise is the "later version" language is not part of the license proper; it's only in there in an example of how to apply the license to your program. Since Linus never used that language, the Linux kernel always was under exactly one license, and one license ONLY - namely the one described in the LICENSE file, the GPLv2.

The change you refer to was just done to make it *clearer* that the "or later" is not and never was part of the kernel's license, so that people - like you - wouldn't be confused. Apparently, it didn't work out all that well, though...

(On a side note: of course individual parts of the kernel may be licensed under the GPLv2 or later versions; that's up to the individual authors, and since everyone keeps their copyright, authors are free to license their own code under other licenses in addition to the GPLv2. But the kernel as a whole is licensed under the GPLv2 only, and code that was contributed under the kernel's default license is GPLv2 only, too, until the author also licenses it under additional licenses.)

Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

Posted Jan 17, 2007 19:54 UTC (Wed) by grouch (subscriber, #27289) [Link]

The change you refer to was just done to make it *clearer* that the "or later" is not and never was part of the kernel's license, so that people - like you - wouldn't be confused. Apparently, it didn't work out all that well, though..

This is correct. Linux version 1.0 included the file "COPYING" which begins:

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.

Linus Torvalds

----------------------------------------

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Within section 9. it says:

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.

That is the only place the phrase "any later version" shows up in the COPYING file in linux-1.0. Permission was not granted to choose any later version. The last sentence of the above quoted portion of section 9. likewise does not apply, because a version number was specified. Linux has been GPLv2-only, at least since Linux 1.0. (I didn't check every version; it seems reasonable to assume that if "any later version" appeared with some version between 1.0 and now, it was merely by error).

(The licenses for versions prior to Linux 1.0 are contained in the RELNOTES-* files or other files outside the source tarball for each version).

Sun to release OpenSolaris under GPL version 3 (Linux-Watch)

Posted Jan 18, 2007 16:47 UTC (Thu) by sepreece (subscriber, #19270) [Link]

"And AFAIK, only 2 files in the current Linux kernel have an explicit GPLv2-only marking"

You can divide the kernel files into three groups:

- Some that explicitly say "version 2 or...any later version". Those files can be reused under either v2 or v3 terms by anyone who wants to pull them out of the kernel [in principle, see below].

- Some that explicitly say "version 2" without the "or later" clause. Those files can be pulled out and used independently only under GPLv2.

- Many files don't say anything at all about licensing. Those files are covered only by the terms in the top-level COPYING file (unless they are in a sub-area that has its own COPYING or LICENSE file). The component-specific COPYING or LICENSE files mostly just include a copy of GPLv2; none of the ones I looked at in a brief scan allowed "or later". The only exception I saw was drivers/net/LICENSE.SRC, which specifies no GPL with no specific version, meaning files covered by that grant can be used under any GPL version ever released. I'm sure there are other exceptions that I didn't examine.

*Caveats*

I should note (IANAL) that the above is slightly simplistic. In fact, there are interdependcies between files that almost certainly make some of them derived works of others, possibly across license-version boundaries. I have no clue how that would play out if anyone every tried to take the version difference to court.

I also think there's also some legal ambiguity in how the licensing works when you take a "v2 or later file", modify it, and then release it as part of a derived work that is licensed as v2-only (the situation with many of the "or later" files in Linux). While the original code in those files was clearly "v2 or later", you could argue that the changes in the files are licensed only as v2, regardless of the file containing words that say they are licensed under "v2 or later". This argument would be strengthened by the fact that the changes are taken as patches that rarely say anything specific about licensing, which would suggest they were under Linux's top-level license regardless of the original license associated with a particular file. [Again, IANAL; I did ask a question along these lines in the GPLv3 comments process...]

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds