GPL violation?
GPL violation?
Posted Oct 7, 2009 4:11 UTC (Wed) by jmm82 (guest, #59425)In reply to: GPL violation? by dlang
Parent article: Netgear's open-source router
Has there been any court rulings on this yet, I honestly have never looked into this, but it is my personal opinion that if a kernel module *IS* determined in court to be violating GPL, then one could argue the same for a system call. I feel the system call would be less likely to hold up in court.
"Linus has stated repeatedly that he doesn't think that such a thing is necessary, and that it makes no change to what is permitted under the plain GPLv2, but it makes people feel more comfortable."
I agree, although it does imply the copyright holders stance on the subject. My initial comment was naive, I will give you that.
"Also, Linus is not supportive of closed modules, although he has stated that it is possible for there to be a closed module that is not a derivative of the kernel."
I never said he did support closed modules, but he has chosen to turn the other cheek.
I agree with everything you have said neither of us will know until this does go to court and when it does it will not matter if the symbol was exported gpl or not, expect for the caveat that the copyright holder must be the one to bring someone to court. This will make for a very interesting situation. Hopefully more vendors will go the direction of madwifi --> ath5k and realize on their own the benefits.
Posted Oct 7, 2009 4:30 UTC (Wed)
by dlang (guest, #313)
[Link] (3 responses)
Has there been any court rulings on this yet, I honestly have never looked into this, but it is my personal opinion that if a kernel module *IS* determined in court to be violating GPL, then one could argue the same for a system call. I feel the system call would be less likely to hold up in court.
remember that the issue isn't that it uses the kernel, but instead is it a derivative work of the kernel.
people act as if merely using something makes the new thing a derivative work of the thing being used, but it's not nearly that simple. it's pretty clear that something using a defined interface is almost certainly not a derived work (and system calls are very clearly such an interface)
remember that copyright (which is what we are dealing with here) has some requirements for what can be protected,and it explicitly excludes things that are needed for interoperability (this is why lexmark lost it's case against people making replacement ink cartridges,even though they copied the code bit for bit, lexmark used the entire code binary as a key, so that made it impossible for anything else to be compatible and not use the code), there are requirements for it to be creative (so a list of error definitions in errono.h is not enough for SCO to win a copyright infringement suit against IBM), etc
as programmers (especially in opensource development) we tend to take a very liberal attitude about what is a derivative work, giving credit back to original authors whenever possible (to the extent that they get credit even if not a single line of their code remains), but the courts seem to require much stronger ties
Posted Oct 7, 2009 5:09 UTC (Wed)
by jmm82 (guest, #59425)
[Link] (2 responses)
The point about system calls was an extreme case, but I feel that given the proper precursory findings on some more boarder line cases(binary lkm) that is the direction we are heading.
I will leave you with my reasoning as to why a binary kernel module is a derived work.
Once a kernel module is linked into the kernel it shares the same namespace and if it dereferences a null pointer we are all F*cked, your code, my code, the the binary code. I guess from a programmer's perspective(me) that is a derived work. If the kernel module was staticly linked in this would probablly not even be a discussion, but they are not.
Posted Oct 7, 2009 6:09 UTC (Wed)
by simlo (guest, #10866)
[Link]
Many binary modules is only "derived" in the sense they are compiled with the kernels header files - and this is usually not enough to be deemed a derived work in the legal sense. And therefore NVIDIA can ship closed source video drivers as downloads.
BUT the binary module + kernel IS a derived work. I.e. when they are shipped on the same media such as being shipping as firmware inside a device, GPL covers the whole combination. With the same reasoning, you can't install Linux and a NVIDIA driver on a PC and then give it to somebody: THAT would be a GPL violation.
Then why must not the whole kernel+userspace covered: 1) Because of the explicit exception in the Linux COPYING file. 2) The programs in userspace are clearly decoupled from the kernel through a _standeard_ interface (almost POSIX) and therefore not derived. 3) Even though this has never been tested in court, there is absolutely no legal precedence (settled out of court) to suggest otherwise. And every source involved in GPL tells you that userspace is not covered.
Posted Oct 7, 2009 7:14 UTC (Wed)
by dlang (guest, #313)
[Link]
as a trivial example, if it was then every firefox plugin would be a derivative work of firefox.
every DOS application would be a derivative of DOS
there was a time when MAC OS was like this, so every MAC application would be a derivative of the OS (and each other)
derivative work is defined MUCH more narrowly
GPL violation?
"actually, there is an explanation that states that system calls are the expected API and so there is no expectation that using them can create a derivative work."
GPL violation?
GPL violation?
GPL violation?