Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
Michael A. Peters wrote:
I'm taking the position that since it is a kernel module, it modifies
AIUI you only have standing to mount a legal attack (or reasonably threaten it) if you have copyright on kernel code that the module is linking to. Therefore if you want to beat on Linksys you need to get a kernel contributor on board.
The binary kernel module question is a deliberate big fudge-up, it is strongly disapproved of but nVidia and vmware modules are tolerated without attack for example. So you are potentially opening a big can of worms with some kernel contribs pulling one way and others another. If you want to go on talk to Greg Kroah Hartmann about it
http://www.kroah.com/log/2005/11/21/#gpl_pci_core
Eben Moglen has tried to de-heisenberg this particular cat
http://lwn.net/Articles/147070/
-Andy
2006-02-17 (金) の 01:57 -0800 に Michael A. Peters さんは書きました:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
Less a question of what the GPL says and more a question of how the authors of the kernel intend it, from what I understand. It's in a gray area, and Stallman would probably agree with you, but is Stallman one of the copyright owners of the kernel?
On 2/17/06, Joel Rees rees@dsic.jp wrote:
2006-02-17 (金) の 01:57 -0800 に Michael A. Peters さんは書きました:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
As someone else has pointed out you can only really take action if you're a contributor to the code that's being used (which is why the FSF are so strict about copyright assignments for their stuff). If you're a minor contributor the most I think you could do is withdraw your code from the kernel (which you'd be in your rights to do if you could show the kernel people had contributed to licence violation).
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
An alternative view is that the kernel is designed to use modules and the people who created it designed it like that. It is a grey area, seemingly intentionally so on the parts of the FSF and Linus (and for different reasons I'd guess). Making something a grey area is not going to help their position if someone does end up in a courtroom.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
Less a question of what the GPL says and more a question of how the authors of the kernel intend it, from what I understand. It's in a gray area, and Stallman would probably agree with you, but is Stallman one of the copyright owners of the kernel?
If he is he's certainly not one of the leading ones. It was mentionned in a UK magazine (Linux Developeer and User I think) that there was a recent dust-up on the kernel mailing list on this issue. Anyone here follow it?
-- imalone
On Fri, 2006-02-17 at 19:10 +0900, Joel Rees wrote:
Less a question of what the GPL says and more a question of how the authors of the kernel intend it, from what I understand. It's in a gray area, and Stallman would probably agree with you, but is Stallman one of the copyright owners of the kernel?
Actually it's not - it is the GPL that governs the distribution rights to the software (in this case the kernel), not the unwritten intent of the developers.
Michael A. Peters wrote:
Actually it's not - it is the GPL that governs the distribution rights to the software (in this case the kernel), not the unwritten intent of the developers.
nVidia binary seems to exist on the basis of "unwritten intent of the developers".
Another guy worth talking to is Harald Welte:
In the Tom Tom case
http://gpl-violations.org/news/20041024-linux-tomtom.html
It seems that a central element was "The source code for the Linux Operating System Kernel, including TomTom's own modifications, is now made available at http://www.tomtom.com/gpl."
-Andy
Joel Rees wrote:
2006-02-17 (金) の 01:57 -0800 に Michael A. Peters さんは書きました:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
Less a question of what the GPL says and more a question of how the authors of the kernel intend it, from what I understand. It's in a gray area, and Stallman would probably agree with you, but is Stallman one of the copyright owners of the kernel?
I can answer this... He is not. In fact, in some exchanges with him that I've seen, he has expressed some exasperation that most of what people call "Linux" is actually "GNU", and not Linux at all. Linux is a kernel, and that's all. All the other stuff, like ls, mv, cp, etc. is GNU, and not Linux.
Mike
Here is what linus thinks
http://kerneltrap.org/node/1735
On 2/17/06, Michael A. Peters mpeters@mac.com wrote:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
-- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
On Fri, 2006-02-17 at 07:22 -0500, Matt Higgins wrote:
Here is what linus thinks
That's for shipping a binary module. Shipping a kernel with a binary module is different in my view - because shipping the kernel means you are shipping GPL software that is modified by the kernel module.
If you are just shipping the binary module - and not the kernel, you aren't shipping a GPL product that the module modifies when loaded. That's what nvidia does - they ship a module, the user installs the module. But with linksys - they are shipping a kernel that has its functionality altered by the module - just as if they had compiled it into the kernel itself.
On Fri, 2006-02-17 at 07:25, Michael A. Peters wrote:
Here is what linus thinks
That's for shipping a binary module. Shipping a kernel with a binary module is different in my view - because shipping the kernel means you are shipping GPL software that is modified by the kernel module.
If you are just shipping the binary module - and not the kernel, you aren't shipping a GPL product that the module modifies when loaded. That's what nvidia does - they ship a module, the user installs the module. But with linksys - they are shipping a kernel that has its functionality altered by the module - just as if they had compiled it into the kernel itself.
Isn't that the same claim that SCO has tried to make - that anything developed for and compiled with the Unix kernel is covered by their copyright and controlled by their terms regardless of who wrote it?
-- Les Mikesell lesmikesell@gmail.com
On Fri, 2006-02-17 at 07:35 -0600, Les Mikesell wrote:
Isn't that the same claim that SCO has tried to make - that anything developed for and compiled with the Unix kernel is covered by their copyright and controlled by their terms regardless of who wrote it?
No - not at all. Different scenario all together.
Ship a binary driver by itself - you aren't shipping any GPL code. nvidia could ship their driver with their video cards, for example - and be fine.
But once you are shipping the kernel, you have to abide by the GPL or else you have no right to distribute the kernel at all. Since the binary module adds functionality to the kernel, it is a modification to the GPL product (kernel) you are shipping - and therefore has to be released with a GPL compatible license.
On Fri, 2006-02-17 at 08:14, Michael A. Peters wrote:
Isn't that the same claim that SCO has tried to make - that anything developed for and compiled with the Unix kernel is covered by their copyright and controlled by their terms regardless of who wrote it?
No - not at all. Different scenario all together.
The laws don't change from one product to another.
Ship a binary driver by itself - you aren't shipping any GPL code. nvidia could ship their driver with their video cards, for example - and be fine.
That seems to be a fuzzy area.
But once you are shipping the kernel, you have to abide by the GPL or else you have no right to distribute the kernel at all. Since the binary module adds functionality to the kernel, it is a modification to the GPL product (kernel) you are shipping - and therefore has to be released with a GPL compatible license.
If the module is a separate file and doesn't infringe separately then you'd be able to ship them together under the 'mere aggregration' clause.
On Fri, 2006-02-17 at 03:57, Michael A. Peters wrote:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Regardless of what the GPL does or doesn't say, it only has effect based on copyright law, so a violation must match the legal definition of a derived work. SCO has a flock of lawyers trying to prove a similar case that anything developed for Unix belongs to them regardless of who wrote it. Perhaps they'll be unemployed soon so someone could hire them to do even more damage to Linux with this line of argument.
But unlike patents, copyright law says that something has to be copied to have a violation. If you could write a module with an interface definition (and there should be a fair-use argument if you couldn't - you might want to remember why *bsd and Linux are allowed to have compatible header files with Unix) then no copying happens. Also consider something like NDISwrapper. It's absurd to think that a binary NDIS driver written with no knowledge of the Linux kernel could violate it's copyright. If someone wanted to pursue the issue it might be possible to make module writers split their work into two parts - one provided in source and GPL'd that connects to the kernel interface and provides the interface to the binary portion - but I don't quite see the point.
Les Mikesell wrote:
wanted to pursue the issue it might be possible to make module writers split their work into two parts - one provided in source and GPL'd that connects to the kernel interface and provides the interface to the binary portion - but I don't quite see the point.
FWIW nVidia and vmware at least do do this. There is a technical advantage that it insulates the genuninely binary portion from ABI fragility by allowing small changes in the open shim part.
-Andy
Andy Green wrote:
in source and GPL'd that connects to the kernel interface
FWIW nVidia and vmware at least do do this. There is a technical
Whoops... kind of missed the key point there.... they provide sources to compile but not under a free license. Sorry about that.
-Andy
On Fri, 2006-02-17 at 14:23 +0000, Andy Green wrote:
Andy Green wrote:
in source and GPL'd that connects to the kernel interface
FWIW nVidia and vmware at least do do this. There is a technical
Whoops... kind of missed the key point there.... they provide sources to compile but not under a free license. Sorry about that.
I don't know about vmware, but Nvidia doesn't.
They provide a wrapper's sources, but the core of their work is binary only. It's basically the "sdk/link-kit" approach they apply, a pretty common way to avoid restrictions of OpenSource licenses.
The distributor ships binaries, but leaves final linking and compiling of the "glue" code to the end user.
Ralf
Ralf Corsepius wrote:
On Fri, 2006-02-17 at 14:23 +0000, Andy Green wrote:
Andy Green wrote:
in source and GPL'd that connects to the kernel interface
FWIW nVidia and vmware at least do do this. There is a technical advantage that it insulates the genuninely binary portion from ABI fragility by allowing small changes in the open shim part.
Whoops... kind of missed the key point there.... they provide sources to compile but not under a free license. Sorry about that.
I don't know about vmware, but Nvidia doesn't.
They provide a wrapper's sources, but the core of their work is binary only. It's basically the "sdk/link-kit" approach they apply, a pretty
Hi Ralf -
I expanded the quotes above to show this was in fact what I was talking about.
-Andy
2006/2/18, Andy Green andy@warmcat.com:
Ralf Corsepius wrote:
On Fri, 2006-02-17 at 14:23 +0000, Andy Green wrote:
Andy Green wrote:
in source and GPL'd that connects to the kernel interface
FWIW nVidia and vmware at least do do this. There is a technical advantage that it insulates the genuninely binary portion from ABI fragility by allowing small changes in the open shim part.
Whoops... kind of missed the key point there.... they provide sources to compile but not under a free license. Sorry about that.
I don't know about vmware, but Nvidia doesn't.
They provide a wrapper's sources, but the core of their work is binary only. It's basically the "sdk/link-kit" approach they apply, a pretty
Hi Ralf -
I expanded the quotes above to show this was in fact what I was talking about.
-Andy
-- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Actually the nvidia kernel module is not a derivate of the kernel because its a ported driver. The gpl also gives every user rights and dutys on the software. i as a user can demand the source code fo a gpl derivate just fine without beeing an upstream author/developer. Seems like some of you confuse that with license changes :).
regards, Rudolf Kastl
p.s. read the gpl and loop that atleast 3 times.
Rudolf Kastl wrote:
Actually the nvidia kernel module is not a derivate of the kernel because its a ported driver. The gpl also gives every user rights and dutys on the software.
Linus has said the same thing when discussing nVidia.
i as a user can demand the source code fo a gpl derivate just fine without beeing an upstream author/developer. Seems like some of you confuse that with license changes :).
Confusion is rife alright... you can demand what you like, but the power to enforce your demand in the GPL is coming through copyright law, and those powers in law are granted only to the guy that holds copyright on the work.
To bring such a complaint before the court you have to have standing in the eyes of copyright law and that means to hold copyright on the work. The GPL is a license from the copyright holder to allow you to copy under certain constraints, not an assignment of copyright or an agreement giving you or anyone distributed to power of attorney over the rights of the copyright holder to decide what to do.
After all, what if the guy that actually holds copyright disagrees with your assessment that such and such is derivation? Some random guy who got a copy should hardly be able to trump the guy that actually did the work.
-Andy
On Fri, 2006-02-17 at 08:03 -0600, Les Mikesell wrote:
On Fri, 2006-02-17 at 03:57, Michael A. Peters wrote:
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Regardless of what the GPL does or doesn't say, it only has effect based on copyright law, so a violation must match the legal definition of a derived work.
The point is - you only have permission to distribute the kernel if you follow the GPL. Whether your module is a derived work doesn't matter, it modified the function of the kernel and therefore the kernel you are distributing is a derived work - so the module has to be released under a GPL compatible license or else you don't have permission to distribute the kernel.
You may still have permission to distribute your module - it's the kernel where I see there being a potential issue.
Another troll. This list is turning pretty sour - again.
View the LKML archives. This issue has been hashed over and over and over again. There is no need to do so again.
{o.o} ----- Original Message ----- From: "Michael A. Peters" mpeters@mac.com
Having a discussion on the GPL - and the broadcom driver in Linksys routers came up.
I'm taking the position that since it is a kernel module, it modifies the kernel when the kernel loads it - and thus, it is no different than if they were shipping a static kernel with the module compiled in, and thus they (Linksys) are in violation of the GPL because they are shipping a modified GPL product (the kernel) without releasing the source to their modifications.
Other arguments are that the driver uses the kernel and is not a modification to the kernel. But I don't see how it could be that way, I see it as adding functionality to the Linux kernel (the ability to talk to the broadcom chipset) and as such, they are shipping a modified kernel without also shipping the source.
Any GPL license gurus have comment?
The implications of my argument are bigger than Linksys - anyone who ships a non GPL compatible driver _with_ the Linux kernel would be in violation of the GPL - including distributions that ship with the nvidia drivers. It wouldn't make the the modules themselves non distributable, just that they are non distributable with the kernel.
I'm not positive my interpretation of the GPL is correct though, so I'd like comments from people who know it better than I do.
On Fri, 2006-02-17 at 14:30 -0800, jdow wrote:
Another troll. This list is turning pretty sour - again.
This is NOT a troll. Just for your information - Linux is the only OS I use, and the only OS I have used in quite some time.
And no - this hasn't been discussed that I have seen. This is a different issue than distributing binary modules - this is distributing the binary modules WITH the kernel.
-=-
For reference, see the fluendo mp3 plugin. They make it clear that you can't distribute it with GPL gstreamer software for the same reason - the GPL gstreamer software (ie rhythmbox) would gain functionality from the plugin - therefore, it would be a GPL violation to distribute the GPL software with their free mp3 plugin - that doesn't make the plugin not OK - nor does it make it not OK to use it with GPL software - it is the _distribution_ where there is an issue.
How is the kernel scenario any different?
Michael A. Peters wrote:
On Fri, 2006-02-17 at 14:30 -0800, jdow wrote:
Another troll. This list is turning pretty sour - again.
This is NOT a troll.
Right - this is a serious issue. I am working on an Embedded Linux device and would be in Linksys' position. As it happened for technical reasons our driver will only work when compiled into the actual kernel tree, so we were left with no real choice but to GPL the source. But certainly there would otherwise have been a raging argument as to whether we should have tried to keep the module binary-only.
I am sat here in front of the nVidia binary running my displays. I have two 54Mbps WiFi cards I can't use because they only have Windows binary drivers and I don't want to use ndiswrapper.
One way or another if there is an attack on Linksys that's something we will all be feeling the ramifications of for good and/or ill.
-Andy
On 2/18/06, Michael A. Peters mpeters@mac.com wrote:
On Fri, 2006-02-17 at 14:30 -0800, jdow wrote:
Another troll. This list is turning pretty sour - again.
This is NOT a troll. Just for your information - Linux is the only OS I use, and the only OS I have used in quite some time.
And no - this hasn't been discussed that I have seen. This is a different issue than distributing binary modules - this is distributing the binary modules WITH the kernel.
Aggregate media (read: simply having a file on distribution media that also contains GPL software) does not fall under the GPL. This is explicitly stated in the license and also by RMS himself. There is no point to discuss.
-- Chris
"I trust the Democrats to take away my money, which I can afford. I trust the Republicans to take away my freedom, which I cannot."