Subject: Re: Porting a modem driver from Linux to NetBSD
To: None <tech-kern@netbsd.org>
From: Bruce J.A. Nourish <bjan+tech-kern@bjan.net>
List: tech-kern
Date: 09/17/2003 05:26:00
On Wed, Sep 17, 2003 at 10:11:41AM +0200, Vincent wrote:
> > I've looked at it, and here's what I can tell you:
> > 
> > * Porting this software to NetBSD would be a lot of work. It would
> >   require a significant knowledge of the internals of character device
> >   drivers. If you were to successfully complete this port, you would
> >   be considered a successful kernel hacker. It is a somewhat beyond my
> >   ability at least.
> 
> I might just try and learn whatever I need on the way !

Great! I don't mean to discourage anyone who wants to learn. I just
want you to be aware that this is not a weekend hack.

> >   This means you could not modify any of their code. You would have to
> >   start from scratch. As a matter of law, [Note: IANAL] I belive it
> >   would be legal to use _facts_ that you deduced from reading their
> >   software to write your own; nevertheless, they could make your life
> >   very hard(read: sue you and make you go to court) if they wanted to.
> 
> That looks similar to the early time of BSD 4.4 and BSDLite 4.4. Anyhow,
> the driver code won't be the same, obviously ! I don't figure out how
> it would not be rewritten from scratch, since Linux and BSD are quite
> different at that level. As for the DSP objects files, they don't need
> any modification, so they comply with the terms of the licence.

This is true. You'd still have to be careful to make your code not
resemble theirs.

> 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.

> That is a mistery to me : you buy a device, hardware, though thing, and
> you get with it a software that obviously cannot work without the
> hardware. Admitting that making a hardware copy of a card is thousand
> times more difficult than copying lines of code, what is the point in
> licencing the software ? And then, why hinder porting, since it
> potentially broaden the number of people you can sell you device to ?

Why do people pay $199 for Windows XP? I've no idea on that one either. 

> Paying for something you can do yourself is a waste of material :) I
> consider that learning how the kernel works is largely worth my time and
> money ! And I don't speak about jet lag :)

It's an awesome investment of your time - but it can be addictive, and
the learning curve is pretty steep for kernel work. If you decide to
do this, I'll help you if I can. (Contact me privately, so you don't
waste the time of everyone on tech-kern, like I did.)
-- 
Bruce J.A. Nourish <bjan+public@bjan.net> http://bjan.net