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
Posted Dec 14, 2006 20:52 UTC (Thu)
by ernest (guest, #2355)
[Link] (1 responses)
Posted Dec 14, 2006 22:11 UTC (Thu)
by corbet (editor, #1)
[Link]
Posted Dec 14, 2006 23:00 UTC (Thu)
by russell (guest, #10458)
[Link] (1 responses)
Posted Dec 15, 2006 2:55 UTC (Fri)
by ebiederm (subscriber, #35028)
[Link]
The grey area comes from the question: How much do you need to modify your
Posted Dec 15, 2006 14:29 UTC (Fri)
by orospakr (guest, #40684)
[Link] (1 responses)
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?
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:
Actually it goes on to say a bit more:
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.
Interesting to notice that apparently My Editor get his own very personal ccopy of that email. Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches
for 2.6.19]
I had jumped into the discussion earlier in the thread, and so became part of the cc list - nothing more than that.
Personal copy
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]
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?Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]
preexisting code to make it a derived work?
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.).Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches
for 2.6.19]
Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches
for 2.6.19]
... a "work based on the Program"
means either the Program or any derivative work under copyright law
... 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".)