My understanding is that the confusion stems from the fact that the GPL cannot determine what
is and what is not 'derived'.
In terms of copyrights a 'derived' work is a gray issue. That is kernel modules can either be
derived or not derived. It's very possible that there are proprietary modules out there that
are in violation of the GPL license and there are others that are not in violation.
If your doing driver development I'd say that it's very safe to assume that any kernel-level
module designed specificly for use in Linux is kernel-derived and thus needs to have the
source made avialable.
Google better make sure that this is known and widely accepted. I've recently been bitten by
this because of the Atheros wireless on my Asus EEE PC.
Currently the open source Ath5k driver does not support it.. the madwifi with proprietary HAL
does not support it... only the proprietary modules from Atheros/Asus supports it. I'm forced
to used ndiswrapper to use it and that pisses me off. (I think I'll buy a intel minipci
express card for it.. I wish ralink had a working mini-pci express wifi)
This makes for a bad user experiance when they are trying to use the machine to it's full
capabilities.
(Of course anything is better then the horrific shitfest that is the current mobile market.
It's very very bad.. nobody I know that isn't a mobile geek was ever happy with a purchase of
a smartphone, except as a fasion statement. Always dissapointed with the locked-down systems.)
Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)
Posted Nov 14, 2007 14:11 UTC (Wed) by admorgan (subscriber, #26575)
[Link]
There are other exceptions to this. For instance I used to work on an embedded system with a
home grown OS. The home grown OS was created back in 1992, and the original version of the
kernel driver in 1993 before anyone at the company ever heard of Linux. We decided to create
a new version on new hardware running under Linux. In response to this we added code to call
the pertinent symbols in the Linux Kernel, but we maintained support for our custom OS.
As far as I can tell this does not magically make this a derivative work of Linux. There are
a number of other modules I have encountered in the past that have similar origins.