Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Dec 2001 22:08:37 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Greg Lehey <grog@FreeBSD.org>
Cc:        "Gary W. Swearingen" <swear@blarg.net>, hiten@uk.FreeBSD.org, "Brandon D. Valentine" <bandix@looksharp.net>, Hiten Pandya <hitmaster2k@yahoo.com>, chat@FreeBSD.org, phk@FreeBSD.org, Poul-Henning Kamp <phk@critter.freebsd.dk>
Subject:   Re: IBM's intentions with JFS (was: IBM suing (was: RMS Suing was  [SUGGESTION] - JFS for FreeBSD))
Message-ID:  <3C1AE8E5.ED0E7BA7@mindspring.com>
References:  <3C186381.6AB07090@yahoo.com> <3C1875D6.5DE4F996@mindspring.com> <1id71idej9.71i@localhost.localdomain> <3C1875D6.5DE4F996@mindspring.com> <20011213051012.Y56723-100000@turtle.looksharp.net> <3C186381.6AB07090@yahoo.com> <3C1875D6.5DE4F996@mindspring.com> <3C186381.6AB07090@yahoo.com> <20011214122837.O3448@monorchid.lemis.com> <3C19807D.C441F084@mindspring.com> <20011215103210.G85108@monorchid.lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Greg Lehey wrote:
> Correct.  But there's this funny agreement that loading modules falls
> under the LGPL, not the GPL.  I'll leave it to Linux people to
> explain; it's used to allow loading proprietary modules into the Linux
> kernel.  The implication appears to be that, since it's not linked
> with the kernel, it's not a derivative work.  I think it's a
> workaround for an overly restrictive license.

I'm well aware of this "funny agreement".  It's meant to keep the
GPL on the kernel from applying to proprietary modules being loaded,
like the NUC (NetWare UNIX Client) code module in Caldera Linux.

I'm not certain it applies to GPL'ed KLDs in FreeBSD; it certainly
did not apply to GPL'ed LKMs, because of the way the technology
used to work; I think KLDs still work this way: LKMs used to link
against the kernel using "ld -r" of PIC'ed modules, so that they
could be loaded at arbitrary locations in the KVA space, given that
location of the allocation was uncertain.

The term "significant code" is used quite purposefully, since it
dictates what does or does not qualify as a derivative work (it is
the "derivation test" used by legal authority), and it's what keeps
most code run on Linux from being GPL'ed by virtue of including
sometimes complex inline code and macros from Linux header files.

The problem is that the modules import static data and symbols at
link time (and hence "match" the kernel -- and so can not meet the
GPL/LGPL "relink clause" in all cases).

FWIW: Jeffrey Hsu did the original PIC generation for the GNU
compiler and assembler, and I did the original module loading
(LKM) implementation that was picked up by NetBSD, FreeBSD, and
OpenBSD.


> On Thursday, 13 December 2001 at 23:49:37 -0800, Gary W. Swearingen wrote:
> > Greg Lehey <grog@FreeBSD.org> writes:
> >> The loader might have to be GPL'd.
> >
> > If the loader, then the kernel too.
> 
> No, of course not.  That would imply that anything you run under the
> kernel also has to be GPLd.  The loader and kernel are two very
> different beasts.  You can load FreeBSD with the Linux loader.  Does
> that make FreeBSD GPLd?

No.  The Linux kernel has a special expection to cause it to be
treated as an LGPL'ed library by kernel modules.  Please read the
Linux license in its entirety.  See also the GPL FAQ, which
explicitly discusses how to grant such exceptions, yet still apply
the GPL to your code.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




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