|
|
Subscribe / Log in / New account

binary modules include GPL code from kernel headers

binary modules include GPL code from kernel headers

Posted Oct 15, 2003 12:20 UTC (Wed) by ballombe (subscriber, #9523)
Parent article: LinkSys and binary modules

If a binary module require GPL kernel headers files to build, then it
is certainly GPL since kernel headers contain macro and inline functions,
which are copyrighted code not just interface definitions as the macro code
and inline functions are copied by the compiler in the binary module.

This is clear GPL violation and should be treated as such.


to post comments

binary modules include GPL code from kernel headers

Posted Oct 15, 2003 16:26 UTC (Wed) by pizza (subscriber, #46) [Link] (3 responses)

So under this intrepretaion, glibc has to be GPL, as it relies on kernel headers to build. Since glibc is therefore GPL, any applications which run on linux must also be considered GPL.

Food for thought. You can't have it both ways.

binary modules include GPL code from kernel headers

Posted Oct 15, 2003 18:19 UTC (Wed) by ballombe (subscriber, #9523) [Link] (2 responses)

Note the "user space programs" exception in Linux/COPYING.

Outside the above exception, kernel headers are under the GPL, not the
LGPL as are GLIBC headers.

So whereas non GPL programs can use GLIBC headers, non GPL modules cannot
use kernel headers.

Correct

Posted Oct 16, 2003 4:17 UTC (Thu) by Ross (guest, #4065) [Link] (1 responses)

This is why most binary modules use a wrapper which separates the non-GPLed code from the GPLed code. See the NVIDIA driver for an example.

Wrapper which separates the non-GPLed code from the GPLed code ?

Posted Oct 23, 2003 13:04 UTC (Thu) by khim (subscriber, #9252) [Link]

They try to make module usable with >1 version of kernel. You can not write such a wrapper NOW. You need to add exception like it's done for userspace programs ! And only copyright holder can add such exception.

binary modules include GPL code from kernel headers

Posted Oct 17, 2003 6:14 UTC (Fri) by dododge (guest, #2870) [Link]

If a binary module require GPL kernel headers files to build, then it is certainly GPL since kernel headers contain macro and inline functions,

Not necessarily. Earlier this year there was a big argument on LKML regarding header use. RMS stated the FSF position as:

Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that.

Granted they do not define "simple" and "substantial", but they do at least believe a distinction exists and that some macros and/or functions would not automatically produce a derived work.

More info here: http://www.ussg.iu.edu/hypermail/linux/kernel/0301.1/0362.html

binary modules include GPL code from kernel headers

Posted Oct 17, 2003 11:53 UTC (Fri) by cross (guest, #13601) [Link] (1 responses)

This is a clearly ridiculous argument. Most software in C includes all sorts of headers with different licences and cannot be considered to be subject to the same license as all of them. The header defines the interface to the library, it should not be considered to be the library itself. Something to bear in mind when you write your own header files, anything you put there is being exported* (i.e. it's now outside your library), that is what header files are for.

*Export: to carry or send to some other place (Merriam-Webster)

binary modules include GPL code from kernel headers

Posted Oct 23, 2003 13:14 UTC (Thu) by khim (subscriber, #9252) [Link]

Something to bear in mind when you write your own header files, anything you put there is being exported* (i.e. it's now outside your library), that is what header files are for.

*Export: to carry or send to some other place (Merriam-Webster)

Such a bold statement will be more believable if you'll supply link to any law where C headers are mentioned at all. Otherwise you can, of course, apply it to your programs - but only to your programs.

Yes, it is a problem for things like libstd++ and such - that's why all quite non-trivial inline fuctions in libstd++ are not LGPL-copyrighted - exactly to make then usable for non-GPL programs!


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds