linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "D. Hazelton" <dhazelton@enter.net>
To: "Dave Neuer" <mr.fred.smoothie@pobox.com>
Cc: davids@webmaster.com,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>
Subject: Re: GPL only modules
Date: Mon, 18 Dec 2006 12:46:49 -0500	[thread overview]
Message-ID: <200612181246.49504.dhazelton@enter.net> (raw)
In-Reply-To: <161717d50612180747k5e40a802uf33203eca9515acc@mail.gmail.com>

On Monday 18 December 2006 10:47, Dave Neuer wrote:
> On 12/17/06, D. Hazelton <dhazelton@enter.net> wrote:
> > On Sunday 17 December 2006 16:32, David Schwartz wrote:
> > > > I would argue that this is _particularly_ pertinent with regards to
> > > > Linux.  For example, if you look at many of our atomics or locking
> > > > operations a good number of them (depending on architecture and
> > > > version) are inline assembly that are directly output into the code
> > > > which uses them.  As a result any binary module which uses those
> > > > functions from the Linux headers is fairly directly a derivative work
> > > > of the GPL headers because it contains machine code translated
> > > > literally from GPLed assembly code found therein.  There are also a
> > > > fair number of large perhaps-wrongly inline functions of which the
> > > > use of any one would be likely to make the resulting binary
> > > > "derivative".
> > >
> > > That's not protectable expression under United States law. See Lexmark
> > > v. Static Controls and the analogous case of the TLP (ignore the DMCA
> > > stuff in that case, that's not relevant). If you want to make that kind
> > > of content protectable, you have to get it out of the header files.
> > >
> > > You cannot protect, by copyright, every reasonably practical way of
> > > performing a function. Only a patent can do that. If taking something
> > > is reasonably necessary to express a particular idea (and a Linux
> > > module for the ATI X850 card is an idea), then that something cannot be
> > > protected by copyright when it is used to express that idea. (Even if
> > > it would clearly be protectably expression in another context.)
> > >
> > > The premise of copyright is that there are millions of equally-good
> > > ways to express the same idea or perform the same function, and you
> > > creatively pick one, and that choice is protected. But if I'm
> > > developing a Linux module for a particular network card, choosing to
> > > use the Linux kernel header files is the only practical choice to
> > > perform that particular function. So their content is not protectable
> > > when used in that context. (If you make another way to do it, then the
> > > content becomes protectable in that context again.)
> > >
> > > IANAL.
> > >
> > > DS
> >
> > Agreed. You missed the point. Since the Linux Kernel header files contain
> > a chunk of the source code for the kernel in the form of the macros for
> > locking et. al. then using the headers - including that code in your
> > module - makes it a derivative work.
>
> David didn't miss the point; Lexmark vs. Static Controls, however
> unintuitively, ruled that even _verbatim_ copying is not always
> copyright infringement in the case of software because of issues like
> the doctrine of scenes a faire. In the case of spinlocks, if the only
> way to accomplish atomic operations on an architecture is to use
> something like the assembler that the inclusion of spinlock.h injects
> into your binary, then according to Lexmark vs. Static Controls that
> makes that included code unprotectable by copyright.

Ah, okay. However I'm quite sure that there are more ways to accomplish the 
tasks handled by the code in the header files (in most cases). 

> Where I disagree with David (as I have publicly before on this list),
> is that he incorrectly applies the concept of "functional idea" to
> "write a linux kernel module." I don't believe that is a "functional
> idea" in the sense that is meaningful in the context of software
> copyright or patents (at least until someone writes a piece of
> software that writes kernel modules).

Agreed. And thanks for clarifying that.

DRH

  reply	other threads:[~2006-12-18 20:51 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-16 18:27 GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Ricardo Galli
2006-12-16 21:01 ` Linus Torvalds
2006-12-17  0:22   ` Ricardo Galli
2006-12-17  4:10     ` Theodore Tso
2006-12-17 13:54   ` GPL only modules Alexandre Oliva
2006-12-17 15:56     ` Ricardo Galli
2006-12-17 16:25     ` Kyle Moffett
2006-12-17 21:32       ` David Schwartz
2006-12-17 21:46         ` D. Hazelton
2006-12-18 15:47           ` Dave Neuer
2006-12-18 17:46             ` D. Hazelton [this message]
2006-12-18 21:01               ` Dave Neuer
2006-12-18 17:16           ` David Schwartz
2006-12-19  6:35             ` D. Hazelton
2006-12-19 16:39               ` David Lang
2006-12-18 19:41       ` Alexandre Oliva
2006-12-18 22:14         ` Christoph Hellwig
2006-12-19  3:42         ` D. Hazelton
2006-12-20  1:02           ` Alexandre Oliva
2006-12-20 23:28             ` Scott Preece
2006-12-17 17:59     ` Linus Torvalds
2006-12-17 22:45       ` Paul Mackerras
2006-12-18  6:50         ` Junio C Hamano
2006-12-18 23:16           ` Paul Mackerras
2006-12-18 15:38       ` Dave Neuer
2006-12-18 17:02         ` Theodore Tso
2006-12-18 17:23           ` Dave Neuer
2006-12-18 19:27       ` Alexandre Oliva
2006-12-18 19:42         ` Linus Torvalds
2006-12-18 20:37           ` Alexandre Oliva
2006-12-18 20:50             ` Linus Torvalds
2006-12-18 21:23               ` David Schwartz
2006-12-18 22:35                 ` Scott Preece
2006-12-19  1:29                   ` David Schwartz
2006-12-19 16:55                     ` Scott Preece
2006-12-20  0:09                     ` Alexandre Oliva
2006-12-20  0:06                 ` Alexandre Oliva
2006-12-18 22:06               ` Jeff V. Merkey
2006-12-18 23:28               ` Alexandre Oliva
2006-12-19  1:35                 ` David Schwartz
2006-12-19  2:38                   ` D. Hazelton
2006-12-19 12:42                     ` Horst H. von Brand
2006-12-20  0:20                   ` Alexandre Oliva
2006-12-18 23:52               ` Paul Mackerras
2006-12-18 23:59                 ` Linus Torvalds
2006-12-19  0:43                   ` Paul Mackerras
2006-12-19  1:39                 ` David Schwartz
2006-12-19  4:20               ` Daniel Barkalow
2006-12-20 19:14                 ` David Schwartz
2006-12-20 23:08                   ` Scott Preece
2006-12-20 23:26                     ` David Schwartz
2006-12-19  7:39               ` Giacomo A. Catenazzi
2006-12-19  7:40               ` Giacomo A. Catenazzi
2006-12-19  8:00           ` Sanjoy Mahajan
2006-12-19 13:09             ` Horst H. von Brand
2006-12-19 17:27               ` Sanjoy Mahajan
2006-12-20  1:06               ` Alexandre Oliva
  -- strict thread matches above, loose matches on Subject: below --
2006-12-14  0:32 GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Greg KH
2006-12-14  0:43 ` Jonathan Corbet
2006-12-14  0:55 ` Greg KH
2006-12-14  4:15   ` Linus Torvalds
2006-12-14 15:46     ` Jeff Garzik
2006-12-14 17:03       ` Linus Torvalds
2006-12-14 17:08         ` Chris Wedgwood
2006-12-14 17:38           ` Christoph Hellwig
2006-12-14 17:52             ` Chris Wedgwood
2006-12-14 18:09               ` Jan Engelhardt
2006-12-18 10:28                 ` GPL only modules Eric W. Biederman
2006-12-14 18:15               ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Eric Sandeen
2006-12-14 18:39                 ` Chris Wedgwood
2006-12-14 19:42                   ` Scott Preece
2006-12-14 19:34                     ` Jeff V. Merkey
2006-12-15  5:28                       ` GPL only modules Alexandre Oliva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200612181246.49504.dhazelton@enter.net \
    --to=dhazelton@enter.net \
    --cc=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mr.fred.smoothie@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).