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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]