public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Nasty Requirements for non-GPL Linux Kernel Modules?
@ 2001-05-09 17:50 Scott C. Karlin
  2001-05-09 18:06 ` Alan Cox
  0 siblings, 1 reply; 9+ messages in thread
From: Scott C. Karlin @ 2001-05-09 17:50 UTC (permalink / raw)
  To: linux-kernel

It appears that Linus Torvalds has stated that it is possible
to have a non-GPL'd (or even binary only) Linux device driver
kernel module dynamically linked to the kernel "assuming all
the nasty requirements are met." [see reference below]

What, specifically, are the "nasty requirements?"

  * Is it simply that it must compile separately from the kernel
    and load via insmod?

  * May I #include kernel header files in my module?

  * If so, which ones?

  * What if these header files have inline functions?
    (Does it matter?)

If I don't hear from Linus directly, can someone point me to
a document, file, or mailing list thread where this might be
spelled out.

As part of our operating system / networking research, we have
written a loadable kernel module for Linux.  We would like to
distribute the source but we're not sure if our development
office will allow us to release it under the GPL (at least
initially).  Before meeting with the lawyers, I'm trying to
learn what I can about the issue.

Thanks,
Scott


Reference:

Linux Kernel mailing list thread, "Is it OK to release non-GPL
network driver with source?" started 06 Sep 2000.  Specifically,
see http://lists.insecure.org/linux-kernel/2000/Sep/1491.html
which is copied here:

On 07 Sep 2000, Linus Torvalds writes:
>
> In article <20000906161126.B30302@ranma.sysrq.org>, Dave Allen wrote: 
> > 
> > My company is currently working on a linux network driver (I'm sorry, 
> > but I can't disclose which company or the nature of the driver right 
> > now). However, recent discussions on this list have made me grow 
> > concerned about licensing problems with the GPL. 
> > 
> > The source code for the driver _is_ going to be available, but it will 
> > not be GPL'd. 
> 
> Note that whenever it's not GPL'd, all the module restrictions kick in. 
> So it's going to be "legal" the same way any binary only module is 
> "legal" - assuming all the nasty requirements are met. For something as 
> simple (from a conceptual standpoint, not necessarily an implementation 
> standpoint) as a network driver, doing that is not likely to be a big 
> problem. 
> 
> It obviously cannot be linked into the kernel, but as a loadable module 
> it's ok as long as it uses the standard interfaces and nothing more. 
> 
> And sure, having source available might make it easier for people to 
> help you: it can't become part of the standard kernel, and as such it 
> will never be supported, but that's true of binary-only modules too. 
> 
> I wouldn't recommend it, but I don't see that it would be an 
> insurmountable problem. 
> 
>         Linus 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-09 17:50 Nasty Requirements for non-GPL Linux Kernel Modules? Scott C. Karlin
@ 2001-05-09 18:06 ` Alan Cox
  2001-05-09 18:48   ` Larry McVoy
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Cox @ 2001-05-09 18:06 UTC (permalink / raw)
  To: scott; +Cc: linux-kernel

> As part of our operating system / networking research, we have
> written a loadable kernel module for Linux.  We would like to
> distribute the source but we're not sure if our development
> office will allow us to release it under the GPL (at least
> initially).  Before meeting with the lawyers, I'm trying to
> learn what I can about the issue.

If you want to do binary only then it depends solely how your lawyers intend
to interpret the concept of 'linking'. Linus comments on the matter have no
impact since the kernel isnt all his copyright and he has linked in code by
bodies who are most definitely opposed to binary modules.

The same applies for source code under 'additional restrictions' as the GPL
calls things disallowing stuff it allows.

If you are releasing modules with source under terms that are at least as free
as the GPL (eg BSD without advertising clause) then nobody has any cares. We
probably wouldnt merge it with the mainstream kernel due to the lack of
patent trap protection in the BSD license but I suspect you dont want that
anyway.

Alan


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-09 18:06 ` Alan Cox
@ 2001-05-09 18:48   ` Larry McVoy
  2001-05-09 18:58     ` mirabilos
  2001-05-09 19:11     ` Alan Cox
  0 siblings, 2 replies; 9+ messages in thread
From: Larry McVoy @ 2001-05-09 18:48 UTC (permalink / raw)
  To: Alan Cox; +Cc: scott, linux-kernel

On Wed, May 09, 2001 at 07:06:38PM +0100, Alan Cox wrote:
> > As part of our operating system / networking research, we have
> > written a loadable kernel module for Linux.  We would like to
> > distribute the source but we're not sure if our development
> > office will allow us to release it under the GPL (at least
> > initially).  Before meeting with the lawyers, I'm trying to
> > learn what I can about the issue.
> 
> If you want to do binary only then it depends solely how your lawyers intend
> to interpret the concept of 'linking'. Linus comments on the matter have no
> impact since the kernel isnt all his copyright and he has linked in code by
> bodies who are most definitely opposed to binary modules.

The thing to realize is that the there is a concept of a boundary that the 
GPL can not cross.  The GPL itself acknowledges this boundary when it says:

    These requirements apply to the modified work as a whole. If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works. 

The point is that there has to be some boundary that the GPL can not
cross otherwise everything in the world would be ``infected'' with the
GPL ``virus.''

For example, suppose I ship you a tarball that has the source & binaries
for both a GPLed program and a non GPLed helper program in it - does the
non GPLed program become GPLed?  I tend to doubt it and so do the lawyers.

Another example: while we all tend to think of the kernel and userland
as different things, from some perspective it's all just code that is
working together to accomplish a task.  Someone could try to interpret
the next sentence in the GPL as saying that because you put the GPLed
kernel on a CD with a non GPLed userland program, the userland 
program is GPLed.  Here's the text:

    But when you distribute the same sections as part of a whole which is
    a work based on the Program, the distribution of the whole must be
    on the terms of this License, whose permissions for other licensees
    extend to the entire whole, and thus to each and every part regardless
    of who wrote it.

Obviously, noone is likely to try and do that because it would instantly
result in a pile of lawsuits that would end up declaring this portion of
the GPL unenforceable and the GPL folks do not want that.

Alan is correct in saying that it is open to interpretation but it is
worth noting that it isn't the concept of 'linking' that is being 
interpreted, it's the concept of a boundary.  This concept is well 
established in the legal world and it has been tested in court.  I don't
have the case in front of me right now, but the conclusion as I understood
it was that a boundary, which is something a license cannot cross, is one
where you can remove the implementation on one side of the boundary and
replace it with a completely different implementation and get identical
or substantially similar results.  Note that this nicely covers the
kernel/libc/user program boundaries.

If the free software community understood and accepted this, by the way,
then I think that it removes the need for the LGPL, it's redundant.

Note that I'm not a lawyer, so my opinion on this is just that,
my opinion.  I have spent a fair amount of time and money trying to
understand the issues and I think I do understand them, but that's still
my opinion and I can still be wrong.  If you really want to know where
you stand, it'll cost you around $15K and that, in my opinion, is fine.
If it isn't worth $15K to protect your code then it is worth so little to
you that there really is no good reason not to just GPL it from the start.
-- 
---
Larry McVoy            	 lm at bitmover.com           http://www.bitmover.com/lm 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-09 18:48   ` Larry McVoy
@ 2001-05-09 18:58     ` mirabilos
  2001-05-09 19:11     ` Alan Cox
  1 sibling, 0 replies; 9+ messages in thread
From: mirabilos @ 2001-05-09 18:58 UTC (permalink / raw)
  To: Larry McVoy, Alan Cox; +Cc: scott, linux-kernel

> If the free software community understood and accepted this, by the
way,
> then I think that it removes the need for the LGPL, it's redundant.

What is when compiling a DOS/DJGPP programme? IIRC it is statically
linked
to the libc-dos. IIRC the LGPL here prevents the remaining DOS programme
code
to be GPL'ed too.

I'm neither a lawyer, but this is the difference as I understood.
Please correct me if I am wrong.

-mirabilos
--
EA F0 FF 00 F0 #$@%CARRIER LOST


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-09 18:48   ` Larry McVoy
  2001-05-09 18:58     ` mirabilos
@ 2001-05-09 19:11     ` Alan Cox
  2001-05-13  9:32       ` Kai Henningsen
  1 sibling, 1 reply; 9+ messages in thread
From: Alan Cox @ 2001-05-09 19:11 UTC (permalink / raw)
  To: Larry McVoy; +Cc: Alan Cox, scott, linux-kernel

>     and can be reasonably considered independent and separate works in
>     themselves, then this License, and its terms, do not apply to those
>     sections when you distribute them as separate works. 
> 
> For example, suppose I ship you a tarball that has the source & binaries
> for both a GPLed program and a non GPLed helper program in it - does the
> non GPLed program become GPLed?  I tend to doubt it and so do the lawyers.

The counter example is the Objective C compiler. There the helper was not usable
without the GPL compiler so was not a 'seperate work'

> Note that I'm not a lawyer, so my opinion on this is just that,
> my opinion.  I have spent a fair amount of time and money trying to

Ditto but I spent favours not $15K chunks 8)

> you stand, it'll cost you around $15K and that, in my opinion, is fine.
> If it isn't worth $15K to protect your code then it is worth so little to
> you that there really is no good reason not to just GPL it from the start.

Smart advice.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-09 19:11     ` Alan Cox
@ 2001-05-13  9:32       ` Kai Henningsen
  2001-05-13 10:59         ` Mike Galbraith
  0 siblings, 1 reply; 9+ messages in thread
From: Kai Henningsen @ 2001-05-13  9:32 UTC (permalink / raw)
  To: linux-kernel

alan@lxorguk.ukuu.org.uk (Alan Cox)  wrote on 09.05.01 in <E14xZNJ-00033f-00@the-village.bc.nu>:

> > you stand, it'll cost you around $15K and that, in my opinion, is fine.
> > If it isn't worth $15K to protect your code then it is worth so little to
> > you that there really is no good reason not to just GPL it from the start.
>
> Smart advice.

Problem is, the people making that decision are not always the people  
wanting to distribute the work in question, in which case the argument  
doesn't work.

I don't know more about this specific case than what was said in the  
thread, but it sounds like a case in point.

MfG Kai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-13  9:32       ` Kai Henningsen
@ 2001-05-13 10:59         ` Mike Galbraith
  2001-05-13 18:18           ` Kai Henningsen
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2001-05-13 10:59 UTC (permalink / raw)
  To: Kai Henningsen; +Cc: linux-kernel

On 13 May 2001, Kai Henningsen wrote:

> alan@lxorguk.ukuu.org.uk (Alan Cox)  wrote on 09.05.01 in <E14xZNJ-00033f-00@the-village.bc.nu>:
>
> > > you stand, it'll cost you around $15K and that, in my opinion, is fine.
> > > If it isn't worth $15K to protect your code then it is worth so little to
> > > you that there really is no good reason not to just GPL it from the start.
> >
> > Smart advice.
>
> Problem is, the people making that decision are not always the people
> wanting to distribute the work in question, in which case the argument
> doesn't work.

if (!cost_analysis) goto darwinism;


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-13 10:59         ` Mike Galbraith
@ 2001-05-13 18:18           ` Kai Henningsen
  2001-05-14  6:21             ` Mike Galbraith
  0 siblings, 1 reply; 9+ messages in thread
From: Kai Henningsen @ 2001-05-13 18:18 UTC (permalink / raw)
  To: linux-kernel

mikeg@wen-online.de (Mike Galbraith)  wrote on 13.05.01 in <Pine.LNX.4.33.0105131250150.338-100000@mikeg.weiden.de>:

> On 13 May 2001, Kai Henningsen wrote:
>
> > alan@lxorguk.ukuu.org.uk (Alan Cox)  wrote on 09.05.01 in
> > <E14xZNJ-00033f-00@the-village.bc.nu>:
> >
> > > > you stand, it'll cost you around $15K and that, in my opinion, is
> > > > fine. If it isn't worth $15K to protect your code then it is worth so
> > > > little to you that there really is no good reason not to just GPL it
> > > > from the start.
> > >
> > > Smart advice.
> >
> > Problem is, the people making that decision are not always the people
> > wanting to distribute the work in question, in which case the argument
> > doesn't work.
>
> if (!cost_analysis) goto darwinism;

Thank you for completely missing the point.

MfG Kai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Nasty Requirements for non-GPL Linux Kernel Modules?
  2001-05-13 18:18           ` Kai Henningsen
@ 2001-05-14  6:21             ` Mike Galbraith
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Galbraith @ 2001-05-14  6:21 UTC (permalink / raw)
  To: linux-kernel

On 13 May 2001, Kai Henningsen wrote:

> mikeg@wen-online.de (Mike Galbraith)  wrote on 13.05.01 in <Pine.LNX.4.33.0105131250150.338-100000@mikeg.weiden.de>:
>
> > On 13 May 2001, Kai Henningsen wrote:
> >
> > > alan@lxorguk.ukuu.org.uk (Alan Cox)  wrote on 09.05.01 in
> > > <E14xZNJ-00033f-00@the-village.bc.nu>:
> > >
> > > > > you stand, it'll cost you around $15K and that, in my opinion, is
> > > > > fine. If it isn't worth $15K to protect your code then it is worth so
> > > > > little to you that there really is no good reason not to just GPL it
> > > > > from the start.
> > > >
> > > > Smart advice.
> > >
> > > Problem is, the people making that decision are not always the people
> > > wanting to distribute the work in question, in which case the argument
> > > doesn't work.
> >
> > if (!cost_analysis) goto darwinism;
>
> Thank you for completely missing the point.

You're welcome.

	-Mike


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2001-05-14  6:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-09 17:50 Nasty Requirements for non-GPL Linux Kernel Modules? Scott C. Karlin
2001-05-09 18:06 ` Alan Cox
2001-05-09 18:48   ` Larry McVoy
2001-05-09 18:58     ` mirabilos
2001-05-09 19:11     ` Alan Cox
2001-05-13  9:32       ` Kai Henningsen
2001-05-13 10:59         ` Mike Galbraith
2001-05-13 18:18           ` Kai Henningsen
2001-05-14  6:21             ` Mike Galbraith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox