Subject: Re: Porting a modem driver from Linux to NetBSD
To: Kamal R Prasad <kamalrpr@in.ibm.com>
From: None <cube@cubidou.net>
List: tech-kern
Date: 09/17/2003 15:27:04
On Wed, Sep 17, 2003 at 06:21:21PM +0530, Kamal R Prasad wrote:
> > By the way, if I faintly remember, any software using even parts of GPL
> > code must be wholly GPL'ed itself, no ?
> 
> >If I understand modules/makefile correctly (I may not; GNU make is
> >mostly French to me :-), the guy who wrote it was smart and put the 
> >GPL'd files into thier own kernel module. Once you load the module
> >into the kernel and provide a public interface to it's code, the viral
> >part of the GPL stops, because other code that accesses only the
> >public interface is not considered a "derived work" as a matter of law.
> 
> Can someone explain the finer points of where BSD license wins over GPL 
> esp when modifying the kernel [for some proprietry work -which may or may 
> not reach a customer]?

Using the word 'wins' here can look like a troll invocation. I'll try to
avoid it.

The key difference between BSD and GPL licenses is mostly about
(re)distribution of software. The GPL requires that if you distribute a
piece of software that includes GPL-licensed code, the whole piece must
be GPL'd.

When that piece of software is a binary object, the whole thing must
be GPL'd. But what does (did, actually) Linuxant here is distributing
source files under GPL, other source files under some other license,
and binary objects under some other license. Perfectly legal WRT the
GPL. That's what FreeBSD does, at least when I was using it last year,
with the math emulator in the kernel or the ext2fs code: it is GPL'd,
so as long as the distribution goes in source form, it's ok, but
you are warned that if you want to distribute a binary kernel with
the math emulator compiled in, you will have to do under the GPL
license.

That does not change the license of the rest of the FreeBSD kernel,
since the BSD license is 'GPL-compatible', as FSF states.

In the Linuxant issue, as long as they are the copyright owner of
the GPL'd code, they can distribute it under another license too,
allowing them to distribute a binary form of the driver.

The difference with the BSD license is that it doesn't require to
use the same license for redistribution, just to keep the copyright
stance.

For an internal development, you're free, that's the whole point.
Neither the GPL nor the BSD license requires you to make source
code of your modifications public. The GPL requires you that you
make them available under the GPL for the people you distribute
them to. Then, they're free to redistribute it too, but it is
not your concern anymore.

I hope it's a bit clearer, at least...

Quentin Garnier.