Skip Links

Network World

  • Social Web 
  • Email 
  • Close

(Comma separation for multiple addresses)
Your Message:

Encouraging closed source modules part 2: law and the module interface

Where do you draw the line between what's part of a GPL-covered work and what isn't? Does NVIDIA need to tap-dance around the GPL to get a proprieary module into the kernel, or is there an easier approach?
By Doug Hass, LinuxWorld.com
December 05, 2006 03:11 PM ET
  • Share/Email
  • Tweet This
  • Comment
  • Print

This is part two in a three-part series of articles debunking some common myths about the GPL’s reach and highlighting the sensible solution that the Linux community has constructed despite these myths. This part applies the body of court cases to the GPL, outlining the framework of the “gentleman’s agreement” struck by commercial and non-commercial Linux developers.

Obviously, the highest levels of abstraction in the court’s current test provide very little copyright protection for Linux kernel modules. Linux creator Linus Torvalds suggested “when you have the GPL, and you have documented for years and years that [the kernel module interface] is not a stable API, and that it is not a boundary for the license and that you do not get an automatic waiver when you compile against this boundary, then things are different [than with a stable API].” At the same time, Torvalds focused on how today’s kernel modules are “used for pretty much everything, including stuff that is very much ‘internal kernel’ stuff,” destroying “the kind of historic ‘implied barrier’” between the GPL-licensed kernel and supporting modules. Torvalds argues “there are cases where something would be so obviously Linux-specific that it simply wouldn't make sense without the Linux kernel. In those cases it would also obviously be a derived work, and as such . . . it falls under the GPL license.” The level of integration required, in essence, could render a kernel module’s source code useless for other software platforms.

In Sega Enterprises, Ltd. v. Accolade, Inc., the court denied copyright protection for “functional requirements for compatibility with the Genesis console . . . .” Under this approach, the right of the kernel module author to create a compatible module overrides any nominal copyright infringement created when that author creates static or dynamic links to kernel code. Sega’s Genesis console had no public API whatsoever, stable or otherwise, yet the court still denied protection to these functional elements. Regardless of the status of the API or system interface required for compatibility, any parts of a program that a developer must copy — such as kernel headers, definition files, variables, or mandatory Linux kernel function calls — in order to create a Linux-compatible kernel module would not receive copyright protection.

Any Linux copyright holder would have a far weaker argument for protection given the public availability of code under the GPL (unlike the closed source Sega Genesis code). No court from Midway to Sega has ever discussed stability, relative usefulness, platform specificity, or advancements in functionality as acceptable standards. However functionally extensive or poorly documented the API may be, the source code provides the uncopyrightable tools necessary for developers to write Linux-compatible modules.

In its preamble, the GPL also essentially argues that its license does not erect any artificial hurdles. The GPL carries no fees and expressly makes source code freely available for the public. At first glance, this free and open source software approach would support what the Sega court termed “growth in creative expression, based on the dissemination of other creative works and the unprotected ideas contained in those works, that the Copyright Act was intended to promote.” However, the Sega court rejected this “favorable license” argument. The court extended the right of developers to create compatible modules free from the control of the original copyright holder — even if the original copyright holder was willing to license that right under other terms. Sega had offered Accolade a license agreement that would have allowed Accolade to create Sega-compatible games with the condition that Sega manufacture those games. Despite this license offer, the court declined to find copyright infringement in Accolade’s creation of Sega-compatible games without a license. The court used the opportunity to destroy the artificial barrier between personal or non-commercial use and commercial use. The Sega court held that the commercial nature of Accolade’s use of Sega’s unpublished API did “not alter [their] judgment in this regard.” The court found that Accolade’s creation of Sega-compatible games had led to “an increase in the number of independently designed video game programs offered for use with the Genesis console,” precisely what the Act “was intended to promote.” Like Sega’s license, the GPL would impermissibly apply the act’s principle of growth to only some works (those carrying its license).

  • Share/Email
  • Tweet This
  • Comment
  • Print
Our Commenting Policies
Latest News
rssRss Feed
View more Latest News