Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 1997 13:12:17 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        bmcgover@cisco.com (Brian McGovern)
Cc:        hackers@freebsd.org
Subject:   Re: Porting device drivers...
Message-ID:  <199703062012.NAA13898@phaeton.artisoft.com>
In-Reply-To: <199703061912.OAA02242@bmcgover-pc.cisco.com> from "Brian McGovern" at Mar 6, 97 02:12:45 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> I'm curious if anyone has any comments on the feasability of "porting"
> Linux device drivers to FreeBSD. I'm looking at doing a driver for the
> Cyclom Z card, and there is one that currently works for Linux. I'm
> wondering if its worth my time trying to recode it, or whether I should
> just start from scratch.

Linus treats the kernel services exported to drivers as if the
kernel were a library distributed under the LGPL.  This lets him
get away with a GPL'ed kernel that does not cause commercial
drivers to become GPL'ed.  The Linux statement of license makes
this very clear.

Because of this, I believe that any driver that can be loaded as
an LKM satisfies both the LPGL relink clause, and the GPL agregation
clause.  Several lawyers have agreed with this intepretation at
various commercial companies (hence the availability of commercial
drivers for Linux).

Conversely, then, any driver that can be LKM'ed will satisfy those
clauses in the BSD environment as well.

The one problem you will have is with boot-critical devices: drivers
for them must be loaded as part of the kernel load.  You should attempt
to convince the driver authors to reclassify their drivers under LGPL,
if you can, if they are boot-critical drivers (disk controllers, and
so on), or, ideally, release them under UCB license as well.

This is actually one of the driving factors in my advocacy of VM86()
fallback drivers: boot critical devices can all have specific drivers
LKM'ed, as long as you can get to the point where you can load modules
at all before you need them, so the Linux drivers under GPL can still
be safely used by BSD via post-boot loading using the fallback drivers.

Unless this card is used for a serial console (ie: it's boot-critical),
there's no reason you can't make it an LKM, and allow users to locally
create statically linked kernels, which would be non-redistributable
because of the conflict between the GPL "no additional restrictions"
and the UCB "claim credit" clauses.


					My opinion,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703062012.NAA13898>