Re: Linux GPL and binary module exception clause?

From: Ihar 'Philips' Filipau
Date: Thu Dec 04 2003 - 12:07:37 EST


Jason Kingsland wrote:
On Wed, 3 Dec 2003, "Linus Torvalds" wrote:


And in fact, when it comes to modules, the GPL issue is exactly the same.
The kernel _is_ GPL. No ifs, buts and maybe's about it. As a result,
anything that is a derived work has to be GPL'd. It's that simple.
...
- anything that has knowledge of and plays with fundamental internal
Linux behaviour is clearly a derived work. If you need to muck around
with core code, you're derived, no question about it.



If that is the case, why the introduction of EXPORT_SYMBOL_GPL and
MODULE_LICENSE()?

Specifying explicit boundaries for the module interface has legitimised
binary-only modules.
This was the signal to developers of proprietary code that binary-only
modules are tolerable.

Note that I said tolerable, not acceptable. Ref also the 'tainted' flag
("man 8 insmod")
My personal view is that Linux should mandate GPL for all modules in 2.6 and
beyond.


GPL is about distribution.

e.g. NVidia can distribute .o file (with whatever license they have to) and nvidia.{c,h} files (even under GPL license).
Then install.sh may do on behalf of user "gcc nvidia.c blob.o -o nvidia.ko". Resulting module are not going to be distributed - it is already at hand of end-user. So no violation of GPL whatsoever.

Licensing is least technical issue regarding modules.
But sure I would like to have open source drivers - at least then I have chance to clean them up ;-)))

my 2 eurocents.

--
Ihar 'Philips' Filipau / with best regards from Saarbruecken.
-- _ _ _
Because the kernel depends on it existing. "init" |_|*|_|
literally _is_ special from a kernel standpoint, |_|_|*|
because its' the "reaper of zombies" (and, may I add, |*|*|*|
that would be a great name for a rock band).
-- Linus Torvalds

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/