|
Authored by: DieterWasDriving on Wednesday, May 02 2012 @ 04:55 PM EDT |
Ahhh, someone points out the elephant in the room.
The Linux kernel is using the copyright terms to control what third-party items
may be added to the kernel using the module API.
Kernel modules are added to the kernel using an interface. The early
implementations (1995 era) were just linking, and arguably no "API"
was created. Once exportable functions were marked as such, it became an API.
I see most kernel modules as still being clearly derivative works. They use the
suggested skeleton structures, and would not have been created without the Linux
kernel right there to test against.
There are a few cases where there are substantial independent works, such as
video drivers, that are distributed as non-GPL kernel modules. Or as binary
blobs with source code shim layers. Linus has stated that these are not
derivative works for the purposes of the GPL.
I used to strongly disagree with him, but have come to understand his point of
view. I think I would have agreed with him a decade earlier if he had clearly
stated criteria. A sophisticated video driver that has a common core across
multiple OSes is an independent work. But a network driver.. even if there are a
few functions common across OSes, it's a derivative work of the kernel.
[ Reply to This | Parent | # ]
|
|
|
|
|