On 13 Jan 2005 15:05:36 -0500, Michael Poole <[EMAIL PROTECTED]> wrote:
> Grzegorz B. Prokopski writes:
[snip]
> > Even according to Linus such "use" is not permitted
> >
> >       http://seclists.org/lists/linux-kernel/2003/Dec/1042.html
> 
> Linux header files are different from Java packages in a number of
> ways.
> 
> One difference is that C header files, especially those from Linux,
> contain function bodies as well as function declarations; Java
> packages define a functional interface but do not insert expressive
> content in a file that imports the package.

There's a case that functional use of these header files, in the
course of compilation to create object code, doesn't create a
derivative work even if the intermediate result of C preprocessing
contains fragments in excess of a "de minimis" standard.  As the
Lexmark court pointed out, copyright infringement happens when use is
made of the expressive content in creating a derivative work, but even
"functional" use of the entire content needn't constitute
infringement.  I think (IANAL) that a court is especially likely to
rule this direction if there is an added interoperability-related
defense such as "we were following the only practical method of
circumventing a technical restriction through a protected form of
reverse engineering" (Lexmark) or "we were using the published API of
a work which is licensed under terms which only attempt to reach
derivative works" (Linux).

>From another point of view, if a C header file is commonly understood
to contain a public, arm's-length interface between one person's code
and another's, then there can only be two reasons to embed fragments
of code in excess of "de minimis" in that header file:  because that's
the practical, functional choice (in which case using them via the
published API still doesn't create a derivative work) or because one
is trying to force competitors to create a derivative work in order to
interoperate.  The latter case (which is related to the Lexmark facts
and to situations like ICQ's use of partial checksums of the WinAIM
binary) is often considered an attempt to abuse the statutory monopoly
granted in copyright law, leading to decisions like Lexmark.

> Another difference is that Linux is the only implementation of many
> functions; using those means that you require Linux specifically, and
> cannot use an alternative such as the FreeBSD kernel.

Courts do use this sort of test when deciding whether a use that is
prima facie a form of copyright infringement is justifiable under a
"fair use" defense.  (Compare Sony v. Connectix, Sega Enterprises, and
Atari I, all cited in Lexmark, and see also Micro Star v. Formgen, in
which Micro Star lost because the only way in which the works they
published were usable was to feed them to the Duke Nukem engine and
thereby create "derivative works" in the classical sense of sequels
using the same characters and setting.)  I doubt (IANAL) that a
discussion about a published API, used under the terms of a license
which only addresses the status of derivative works, would ever get
that far.

Cheers,
- Michael

Reply via email to