|
|
Subscribe / Log in / New account

Torvalds: GPL Needs Minor Work (eWeek)

eWeek talks with Linus Torvalds about the GPL v3. "I'm a big-picture thinker when it comes to licenses, which really means that in the end, I don't care as much about the actual details as Eben [Moglen] does. So, no. My concerns about a GPL [Version] 3 aren't the same as his. My biggest concern is that licenses are something ... personal to developers, and even trivial modifications to the GPL will cause endless debates, and that can easily derail any attempts to improve it. In the end, while I certainly don't tend to agree with the FSF on all the politics, I think the fact that the FSF does control the license and [FSF founder] Richard Stallman has a lot of respect in the community means that a new license is possible."

to post comments

LWN's summary quote selection

Posted Nov 30, 2004 2:40 UTC (Tue) by Duncan (guest, #6647) [Link] (9 responses)

Generally, LWN tends to be pretty good (sometimes amazingly good) at selecting quotes that neatly summarize and reflect the article they are linking to.

Other times, the match isn't quite as good. This is one of those cases. The article title quotes Torvalds as saying the GPL needs minor work, a reasonable statement reflecting the article in question. However, the summary quote LWN chose is Linus saying he's not a detail guy and doesn't care as much about them as Eben Moglen (Attny, FSF) does, then proceeding to discuss the general community practicality and effect of changing it, with a version 3. It has /nothing/ to do with the title, in that it doesn't mention what "Minor Work" Torvalds thinks the GPL needs /at/ /all/!

FWIW, that's covered very briefly earlier in the linked article. Here's a summary quote that matches the title a bit better:

"[O]ne of my issues has been how verbose it is. Another is just the politics involved, which I haven't always enjoyed. ... But, hey, nothing is ever perfect. So while I may have some niggling concerns with the GPL, they are in the details, and in the end, I actually think that the GPL simply is the best license for the kernel. "

As for the original article, it missed something of significance as well, where Linus, the GPL, and the kernel are concerned. Note that unlike many programs using the GPL, the kernel is licensed specifically under the GPL v2, instead of using the more common v2 or at the user's option, any later version. Also unlike some free software projects, the kernel does /not/ require contributors assign copyright to Linus or some Linux Kernel Consortium or the like. Thus, there are probably thousands of contributors owning code in the kernel, many of which may be impossible to locate if the decision WAS made to change to GPL v3 or some other license, meaning that at even if as much of the code as possible is relicensed under "GPL version 2 or 3", or simply GPL v3, it'll be years (if ever) before the entire kernel as it currently exists can be either relicensed or rewritten with v3 licensed code. While it'll likely be a good thing to have new code contributed after GPL v3 comes out be v3 licensed (v3 will be backward compatible with v2), practically speaking, the overall kernel won't and can't be anything but v2 licensed for years to come. Thus, Linus's opinion on the upcoming GPL v3 won't matter quite as much for the kernel as one may think, because in any case, all kernel code will have to remain compatible with the v2 license for many years. An article covering Linus' opinion on the GPL really should have mentioned that, but since it wasn't in the linked article, LWN's certainly not to blame for failure to mention it. This is just here for others happening by, in case they find it useful.

Duncan

Linux license

Posted Nov 30, 2004 4:11 UTC (Tue) by set (guest, #4788) [Link] (8 responses)

Here is a thread that may prove interesting to some:
http://www.ussg.iu.edu/hypermail/linux/kernel/0411.2/0481...

It points out a few things, such as the GPL gives you the right
to optionally specify you want later versions to apply, but that
would be something you would have to add-- by default the license
doesnt say it will. Thus, Linus, in his commments in 'COPYING',
wasnt modifying the license. Anyone has alway been free to add that
'later versions' option to the code they have hold copyright on.

(and indeed, Alan Cox in this thread claims all his stuff should
be.)

"Or later" option

Posted Nov 30, 2004 13:06 UTC (Tue) by hummassa (subscriber, #307) [Link] (7 responses)

Anyone has alway been free to add that 'later versions' option to the code they have hold copyright on. No, no, and no. Practically nobody has exclusive copyrights in kernel code; with an occasional exception here and there (ppp is the only example I remember), all the code in the kernel is a derivative work on other parts of the kernel. Derivative works can only be licensed under the GPLv2. Period. The whole of the kernel tree can only be licensed under the GPLv2. If you extract parts of your work and package it separately then you can license it in any license you want provided it is not a derivative work on the kernel. The only way to prove it's not a derivative work of the kernel is the Holy Trinity: Abstraction, Filtration, and Comparison.

Derivative works.

Posted Nov 30, 2004 15:53 UTC (Tue) by ncm (guest, #165) [Link] (1 responses)

Now come on. This remark smacks of SCOism. The aggregation of somebody else's kernel code with your own is a derivative work, but your own part of it is not derivative, it's yours to license as you choose. The whole kernel is subject to the intersection of all the licenses on all the bits of it. In principle that intersection could be empty -- all it takes is one module licensed incompatibly with the (now, "a") GPL; then nobody has the right to distribute the whole.

This isn't academic. It is the basis for the iptables lawsuits. Various vendors of knock-off wireless hubs had a driver they got from some Taiwanese company, and that they did not release under the GPL. As a result they had no right to distribute the kernel they linked it into. That wouldn't stop them from distributing the driver itself under any terms they liked; it just means that their driver linked into the kernel, or shipped in a box as a single product, made a derivative work subject to the intersection of the licenses.

Having violated the license on iptables once, they were then forbidden to distribute it at all, under any circumstances, until the author of iptables issued them a new license. In principle they violated everybody else's licenses, too, and would need new permission from them all. In practice, nobody else sued, and if you wanted to enforce your rights now (e.g. to the network stack or the scheduler) you would probably need to explain to the court why you waited so long to press your claim. (I think in Germany you lose your right after a month of inaction, but other courts have other rules.)

I am not a lawyer.

Derivative works.

Posted Dec 1, 2004 1:05 UTC (Wed) by hummassa (subscriber, #307) [Link]

Yeah, create a new story with Superman or Harry Potter and try to
distribute (publish) it. You can even avoid the trademarks, call them
Very Strong Flying Guy That can't Stand Rocks From His Original Planet
and Jack Magician Kid. And you'll hear from WB and J.K. in no time.

When you create a derivative work, you need the license to the original
work to do so. The license, in the case, is the GPLv2. And it states that
to distribute a derivative work, you must do so under the terms of the
GPLv2.

Just to repeat something: a derivative work is a work that has
intellectual novelty, but is the result of some (non-automated)
transformation of other (the original) work.

"Or later" option

Posted Nov 30, 2004 17:30 UTC (Tue) by jeroen (guest, #12372) [Link] (4 responses)

If I write some code, I choose the license. Now if this is part of a bigger package of other people's code and I want to distribute it all together I also need to respect those other people's copright.

In the case of the linux kernel this means my code should be under a GPL2 compatible license. And last time I checked, "GPL version 2 or later" qualifies as that.

"Or later" option

Posted Nov 30, 2004 18:45 UTC (Tue) by dlang (guest, #313) [Link] (3 responses)

if Bill releases code under GPLv2 and Bob releases code under GPLv3 there is no way for Joe to combine the two pieces of code.

if John releases code under GPLv2 or later it can be combined with either Bill's code (in which case the license on the result would be GPLv3) or with Bob's code (in whihc case the license on the result would be GPLv2), but it still doesn't give you the ability to combine Bill and Bob's code

when you combine licenses the result needs to be under the most restrictive of the licesnses. This is why when you combine BSD code and GPL code the result must be under GPL

"Or later" option

Posted Dec 1, 2004 0:48 UTC (Wed) by erwbgy (subscriber, #4104) [Link] (2 responses)

> if Bill releases code under GPLv2 and Bob releases code under GPLv3
> there is no way for Joe to combine the two pieces of code.

If GPLv3 is backwards compatible with GPLv2, which I believe is the
intention, then this is not true. You will be able to combine GPLv2
licensed code and GPLv3 licensed code in the same way that you can
currently combine MIT licensed and GPLv2 licensed code, for example.

> when you combine licenses the result needs to be under the most
> restrictive of the licenses. This is why when you combine BSD code and
> GPL code the result must be under GPL

Indeed.

License compatibility.

Posted Dec 1, 2004 1:11 UTC (Wed) by hummassa (subscriber, #307) [Link]

License compatibility is not reversible.

a BSD/MIT/X license (no ad clause) is compatible with the GPLv2. That
means the result code can be distributed under GPLv2, not BSD.

The GPLv2 is a "selfish" license: derivative works *must* be distributed
under the GPLv2 without any other restriction. This basically means that
the GPLv3 would have to pull the LGPL trick of compatibility, and say:
the licensee can optionally use the terms of the GPLv2. Derivative works
of the combination would have to be GPLv2 and not v3.

"Or later" option

Posted Dec 3, 2004 8:50 UTC (Fri) by jamesh (guest, #1159) [Link]

> If GPLv3 is backwards compatible with GPLv2, which I believe is the
> intention, then this is not true.

The only way GPLv3 could be compatible with "GPLv2 only" would be if it was less restrictive than GPLv2 since the GPLv2 forbids additional restrictions.

Given that there are a number of perceived loopholes they want to fix, there will almost certainly be some new restrictions, so the only way you'd be able to combine GPLv2 and GPLv3 code would be if the GPLv2 code gave permission to use under later versions of the license.

Furthermore, if the GPLv3 was less restrictive and you wanted to integrate some "GPLv2 only" code, the resulting combination would need need to be distributed under the union of their restrictions, which would be the same as the GPLv2. In this scenario, what would the point of the GPLv3 be?


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