Subject: RE: "Derivative Work" for Software Defined
From: "Lawrence E. Rosen" <lrosen@rosenlaw.com>
Date: Mon, 6 Jan 2003 20:57:46 -0800

So what if "most of the Linux kernel is loadable modules?"  Probably
Linux is not a derivative work of those loadable modules, but instead a
compilation or collective work.  The GPL doesn't require you to publish
the source code of either of those types of work.

But there are other reasons to conclude that there is nothing improper
about reading the Linux source code to determine how to make programs
work with Linux.  At least until the DMCA muddied the waters, the courts
held that it was fair use to reverse engineer software to determine how
it works ("in order to gain an understanding of the unprotected
functional elements of the program").  Sega v. Accolade (9th Cir. 1992)
997 F.2d 1510.  Why should looking at *published* source code for that
same purpose be any different?  There is no copyright infringement if
one doesn't copy or create derivative works of the protected expressive
elements of a program. 

So what if the Linux APIs change constantly?  That only means that
relying on the source code rather than a published API is a risky
endeavor.  

Once again, I will argue, one doesn't create a derivative work merely by
figuring out how to make two independently-written programs work
together.  If you're trying to convince people that creating a loadable
module for Linux is creating a derivative work, you should come up with
a better justification for that opinion than what's been proffered here
so far.  

That's about as clear an answer as I have, subject to anyone citing a
clearer statement on the subject by a federal court.

/Larry Rosen

> When writing a binary loadable module in Linux, can you 
> really be described as using a published API?  I'm not aware 
> of any meaningful publishing of that API other than the Linux 
> sources themselves, and it's worth noting that API changes 
> regularly as the kernel changes.
> 
> It seems to be me that a loadable module is not so very 
> different from a straightforward enhancement of the existing 
> source.  After all, most of the Linux kernel is loadable modules.
> 
> I really don't think there is any clear answer to whether a 
> loadable module is a derivative work or not.

--
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3