|
|
Subscribe / Log in / New account

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

From:  Linus Torvalds <torvalds-AT-osdl.org>
To:  Greg KH <gregkh-AT-suse.de>
Subject:  Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]
Date:  Wed, 13 Dec 2006 20:15:59 -0800 (PST)
Cc:  Jonathan Corbet <corbet-AT-lwn.net>, Andrew Morton <akpm-AT-osdl.org>, Martin Bligh <mbligh-AT-mbligh.org>, "Michael K. Edwards" <medwards.linux-AT-gmail.com>, linux-kernel-AT-vger.kernel.org



On Wed, 13 Dec 2006, Greg KH wrote:
> 
> Numerous kernel developers feel that loading non-GPL drivers into the
> kernel violates the license of the kernel and their copyright.  Because
> of this, a one year notice for everyone to address any non-GPL
> compatible modules has been set.

Btw, I really think this is shortsighted.

It will only result in _exactly_ the crap we were just trying to avoid, 
namely stupid "shell game" drivers that don't actually help anything at 
all, and move code into user space instead.

What was the point again?

Was the point to alienate people by showing how we're less about the 
technology than about licenses?

Was the point to show that we think we can extend our reach past derived 
work boundaries by just saying so? 

The silly thing is, the people who tend to push most for this are the 
exact SAME people who say that the RIAA etc should not be able to tell 
people what to do with the music copyrights that they own, and that the 
DMCA is bad because it puts technical limits over the rights expressly 
granted by copyright law.

Doesn't anybody else see that as being hypocritical?

So it's ok when we do it, but bad when other people do it? Somehow I'm not 
surprised, but I still think it's sad how you guys are showing a marked 
two-facedness about this.

The fact is, the reason I don't think we should force the issue is very 
simple: copyright law is simply _better_off_ when you honor the admittedly 
gray issue of "derived work". It's gray. It's not black-and-white. But 
being gray is _good_. Putting artificial black-and-white technical 
counter-measures is actually bad. It's bad when the RIAA does it, it's bad 
when anybody else does it.

If a module arguably isn't a derived work, we simply shouldn't try to say 
that its authors have to conform to our worldview.

We should make decisions on TECHNICAL MERIT. And this one is clearly being 
pushed on anything but.

I happen to believe that there shouldn't be technical measures that keep 
me from watching my DVD or listening to my music on whatever device I damn 
well please. Fair use, man. But it should go the other way too: we should 
not try to assert _our_ copyright rules on other peoples code that wasn't 
derived from ours, or assert _our_ technical measures that keep people 
from combining things their way.

If people take our code, they'd better behave according to our rules. But 
we shouldn't have to behave according to the RIAA rules just because we 
_listen_ to their music. Similarly, nobody should be forced to behave 
according to our rules just because they _use_ our system. 

There's a big difference between "copy" and "use". It's exatcly the same 
issue whether it's music or code. You can't re-distribute other peoples 
music (becuase it's _their_ copyright), but they shouldn't put limits on 
how you personally _use_ it (because it's _your_ life).

Same goes for code. Copyright is about _distribution_, not about use. We 
shouldn't limit how people use the code.

Oh, well. I realize nobody is likely going to listen to me, and everybody 
has their opinion set in stone. 

That said, I'm going to suggest that you people talk to your COMPANY 
LAWYERS on this, and I'm personally not going to merge that particular 
code unless you can convince the people you work for to merge it first.

In other words, you guys know my stance. I'll not fight the combined 
opinion of other kernel developers, but I sure as hell won't be the first 
to merge this, and I sure as hell won't have _my_ tree be the one that 
causes this to happen.

So go get it merged in the Ubuntu, (Open)SuSE and RHEL and Fedora trees 
first. This is not something where we use my tree as a way to get it to 
other trees. This is something where the push had better come from the 
other direction.

Because I think it's stupid. So use somebody else than me to push your 
political agendas, please.

		Linus



to post comments

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

Posted Dec 14, 2006 20:52 UTC (Thu) by ernest (guest, #2355) [Link] (1 responses)

Interesting to notice that apparently My Editor get his own very personal ccopy of that email.

Personal copy

Posted Dec 14, 2006 22:11 UTC (Thu) by corbet (editor, #1) [Link]

I had jumped into the discussion earlier in the thread, and so became part of the cc list - nothing more than that.

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

Posted Dec 14, 2006 23:00 UTC (Thu) by russell (guest, #10458) [Link] (1 responses)

How is this a "gray area"? I've never heard a good argument for it being gray. Does anyone have some links to the argument? I presume Linus has explained this elsewhere. Are there any judgements in this area?

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

Posted Dec 15, 2006 2:55 UTC (Fri) by ebiederm (subscriber, #35028) [Link]

Basically the argument is that if something is written for another OS first, and then trivially ported to linux it is very hard to make the arugment that the other piece of code is a derived work. If a piece of code is not a derived work how can the GPL apply?

The grey area comes from the question: How much do you need to modify your
preexisting code to make it a derived work?

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

Posted Dec 15, 2006 14:29 UTC (Fri) by orospakr (guest, #40684) [Link] (1 responses)

From what I understand, the GPL considers something a derivative work if you either modify distribute a *changed* version of the work, OR you distribute something that links against the work's interfaces (#including header files, etc.).

nVidia wrote their driver in such a way as to avoid these restrictions (whether or not this is technically true is debatable, I suppose). The proprietary piece of their kernel module is wrapped entirely in Free Software code, and thus the proprietary piece does not derive directly from Linux itself. There's a technical reason for this, too: Linux will not load modules that weren't compiled against the *exact* same headers with the same gcc options, etc., so the Free Software piece provides a level of indirection for the kernel-agnostic proprietary piece. When faced with a kernel it has never seen before, the nvidia installer just compiles a new module provided the kernel api hasn't changed too much.

(The same thing applies to the Atheros HAL)

Do I have all that right?

Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

Posted Dec 22, 2006 2:44 UTC (Fri) by dwpfitzner (guest, #316) [Link]

No, as I understand it, the GPL does not define what is a derivative work -- copyright law does. Put another way: the GPL considers something a derivative work if it is a derivative work under copyright law. That is why there is a grey area: the definition of derivative work under copyright law is a grey area.

Eg, from GPL v2, section 0:

... a "work based on the Program" means either the Program or any derivative work under copyright law

Actually it goes on to say a bit more:

... a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".)

so it sort of includes a definition, but not being a lawyer I'm not sure how much weight the "that is to say" part has.


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