public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Reid Hekman <reid.hekman@ndsu.nodak.edu>
To: David Lang <dlang@diginsite.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: MODULE_LICENSE and EXPORT_SYMBOL_GPL
Date: Fri, 19 Oct 2001 07:44:43 -0500	[thread overview]
Message-ID: <3BD0203B.1080407@ndsu.nodak.edu> (raw)
In-Reply-To: <Pine.LNX.4.40.0110181655340.1380-100000@dlang.diginsite.com>

David Lang wrote:

> so are you saying that BSD licened modules are not going to be allowed to
> use any future entry points (assuming they are all put under the the
> export_symbol_gpl limits)?
> 
> saying that existing stuff will not change doesn't answer the problem
> about licences that may have source avilable (tainting) but may not. if
> you assume either way you will cause a bunch of problems.
> 
> David Lang
> 


That's nonsense. OK, with a strict interpretation on the use of the 
MODULE_LICENSE and depending on the implementation of license strings, 
old BSD licensed code could taint a kernel, but according to 
http://www.gnu.org/licenses/license-list.html modified BSD licensed code 
or code falling under the similar X11 license is GPL compatible. 
Therefore if you distribute or contribute source for a module that is 
BSD licensed, and MODULE_LICENSE is implemented in a remotely sane way 
you will be able to install a BSD licensed module without tainting the 
kernel.

>  On Thu, 18 Oct 2001, John Alvord wrote:

>>Linus said that all existing entry points would remain untagged. Thus
>>existing modules would not be affected.
>>
>>john


The GPL includes as derivative works any code, when compiled or 
executed, that is linked with GPL covered code, calls functions or 
shares data structures. Simply fork()ing or exec()ing is not a 
derivative work. FSF states that linking and simply calling main() and 
returning is a border case(1). From that we can extrapolate a number of 
things. Simply doing a syscall is not a derivative work. As I have read 
in the past, Linus, for practical reasons, has stated that modules using 
published interfaces need not qualify as derivative works. Also, 
"modules" in the generic sense, say plugins for example, when written to 
link with GPL code need not be GPL themselves. So long as they are GPL 
compatible, they can be linked without violating the license. Hence, 
MODULE_LICENSE strings may include GPL compatible source distributing 
licenses, eg. newBSD or X11.

MODULE_LICENSE & EXPORT_SYMBOL_GPL are good things. MODULE_LICENSE 
provides an easier way to screen binary only modules from submitted 
bugs. It doesn't prevent someone from running a tainted kernel and it 
also doesn't prevent someone on linux-kernel from investigating the bug 
report if they want to. MODULE_LICENSE also has the potential to educate 
users. EXPORT_SYMBOL_GPL throws a speed bump in front of potentially 
dangerous subsystem modules. The Linux Security Module interface is the 
most recent example of this(2). If modules are allowed to insert hooks 
willy nilly into the kernel, eventually large proprietary functionality 
could result, unfairly taking advantage of Linus' practical foresight. 
EXPORT_SYMBOL_GPL allows us a simple way to define "public" interfaces 
that binary only module writers can use and which symbols are off 
limits. There is no restriction on fair use, as you can still remove the 
  disabling GPL compatible exports for internal, non-released code. 
Also, we are afforded more leeway in the future. If general consesus is 
that we need to let a proprietary vendor use a GPL symbol, we can always 
remove the restriction. Alternatively, if a vendor realizes he could 
write a better module if only he could use GPL-compatible-only symbols 
he may think twice and release the source. In the end, thats a solution 
I can live with.

Regards,
Reid

1. From GNU GPL FAQ: 
http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense

2. http://lwn.net/2001/1004/kernel.php3


  reply	other threads:[~2001-10-19 12:46 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-18 16:43 MODULE_LICENSE and EXPORT_SYMBOL_GPL Roy Murphy
2001-10-18 15:49 ` Arjan van de Ven
2001-10-18 18:42   ` Tim Bird
2001-10-19 15:38   ` Taral
2001-10-18 16:07 ` Jan-Benedict Glaw
2001-10-18 22:38   ` David Lang
2001-10-19  0:46     ` John Alvord
2001-10-18 23:57       ` David Lang
2001-10-19 12:44         ` Reid Hekman [this message]
2001-10-19 20:07           ` David Lang
2001-10-20  0:00             ` Reid Hekman
2001-10-20  6:38             ` Keith Owens
2001-10-21 15:06               ` Alan Cox
2001-10-21 15:47 ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2001-10-19 18:03 Roy Murphy
2001-10-18 16:05 Roy Murphy
2001-10-18 15:17 ` Arjan van de Ven
2001-10-19 15:30   ` Taral
2001-10-21 15:22     ` Alan Cox
2001-10-21 20:16       ` Taral
2001-10-19 17:06   ` David Woodhouse
2001-10-18  3:23 Keith Owens
2001-10-18  4:03 ` Alexander Viro
2001-10-19  7:16 ` Kai Henningsen
2001-10-19  8:26   ` Nils Philippsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3BD0203B.1080407@ndsu.nodak.edu \
    --to=reid.hekman@ndsu.nodak.edu \
    --cc=dlang@diginsite.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox