LWN.net Logo

Advertisement

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

Advertise here

GPL 3 to Take on IP, Patents (eWeek)

GPL 3 to Take on IP, Patents (eWeek)

Posted Nov 24, 2004 2:08 UTC (Wed) by daniel (subscriber, #3181)
In reply to: GPL 3 to Take on IP, Patents (eWeek) by jamesh
Parent article: GPL 3 to Take on IP, Patents (eWeek)

How many projects license under "GPL 2 only" rather than "GPL version 2 or a later version"? The highest profile "GPL 2 only" project I can think of is the Linux kernel.

Hold it there, the Linux kernel is _not_ GPL 2 only, it is a mixture of licenses including various flavors of GPL, BSD and probably other things.

grep "\"GPL\"" * -r | wc -l
2108

grep "\"GPL v2\"" * -r | wc -l
11


* The following license idents are currently accepted as indicating free
* software modules
*
* "GPL" [GNU Public License v2 or later]
* "GPL v2" [GNU Public License v2]
* "GPL and additional rights" [GNU Public License v2 rights and more]
* "Dual BSD/GPL" [GNU Public License v2
* or BSD license choice]
* "Dual MPL/GPL" [GNU Public License v2
* or Mozilla license choice]


(Log in to post comments)

GPL 3 to Take on IP, Patents (eWeek)

Posted Nov 24, 2004 14:49 UTC (Wed) by jamesh (subscriber, #1159) [Link]

With that combination of licenses, it seems that the only license you could distribute Linux as a whole under is the GPL version 2.

If the kernel developers wanted to use GPLv3, they would still need to track down contributors for permission (although they would only need to do so for sections of the code that didn't already give permission to use later versions of the GPL).

GPL 3 to Take on IP, Patents (eWeek)

Posted Nov 26, 2004 12:54 UTC (Fri) by vgough (subscriber, #2781) [Link]

Huh?

As long as you are following the terms of the various licenses, then I see no point in pretending that you are distributing under only one license. There is no reason why you cannot satisfy multiply licenses simultaniously unless the licenses have conflicting requirements.

So, if I distribute the Linux kernel, and give the source code along with it -- I am simultaniously adhering to the the various licenses that make up the Linux kernel. If I wanted to distribute it in a way that was allowed under BSD but not under GPL v2, then I could chop out all the GPL parts and only distribute the BSD licensed sections (although I doubt it would actually compile or run at that point)..

Or if, in the future, people contributed code to the kernel under GPL v3, then I could also choose not to distribute those parts -- if I didn't agree to the provisions of the GPL v3.

You've made two assumptions that I think do not hold:

1. that the whole work must be licensed under a single license. But as other's have pointed out here, different parts of the kernel have different licenses.

2. that the only way to use GPL v3 code is to convert old GPL v2 licensed code (thus requiring permission from all the authors). This ties into #1 -- people will likely contribute new code licensed under GPL v3. Then distributors will either have to honor that license, or not distribute those pieces.

GPL 3 to Take on IP, Patents (eWeek)

Posted Nov 27, 2004 4:31 UTC (Sat) by jamesh (subscriber, #1159) [Link]

I think the assumptions I made are valid.

If you want to distribute the combined work of the kernel contributors, you'll need to obey the licenses of all the various bits. The GPLv2 states that you can't impose additional restrictions not included in the license, so there is an upper limit to the restrictions you can apply. Furthermore, you are going to have to obey the GPLv2 since some of the code says you can only distribute it under those terms.

Given these constraints, what license other than GPLv2 could you distribute the whole? (of course, you may be able to separate out a component and distribute it under different terms). The "mere aggregation" clause of the GPLv2 doesn't apply here, due to the fact that all the code gets distributed and linked together.

To address your second point, in order to include the some GPLv3 code in the kernel, you'd need to make sure it was compatible with the other licenses in use. It would clearly be compatible with code licensed as "GPLv2 or later", but would likely be incompatible with GPLv2 only code (I don't see how they'd be able to implement some of the ideas for GPLv3 without adding new restrictions). So to integrate GPLv3 code, you'd need permission from all the copyright holders who haven't already given their permission by licensing under "GPLv2 or later".

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