From: "D. Hazelton" <dhazelton@enter.net>
To: davids@webmaster.com
Cc: "Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>
Subject: Re: GPL only modules
Date: Sun, 17 Dec 2006 16:46:40 -0500 [thread overview]
Message-ID: <200612171646.40655.dhazelton@enter.net> (raw)
In-Reply-To: <MDEHLPKNGKAHNMBLJOLKGEPFAGAC.davids@webmaster.com>
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.
Actually, thinking about it, the way a Linux driver module works actually
seems to make *ANY* driver a derivative work, because they are loaded into
the kernels memory space and cannot function without having that done.
*IF* the "Usermode Driver" interface that is being worked on ever proves
useful then, and only then, could you consider it *NOT* a derivative work.
Because then the only thing it is using *IS* an interface, not complete
chunks of the source as generated when the pre-processor finishes running
through the file.
But as David said - IANAL
D. Hazelton
next prev parent reply other threads:[~2006-12-17 22:23 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 [this message]
2006-12-18 15:47 ` Dave Neuer
2006-12-18 17:46 ` D. Hazelton
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=200612171646.40655.dhazelton@enter.net \
--to=dhazelton@enter.net \
--cc=davids@webmaster.com \
--cc=linux-kernel@vger.kernel.org \
/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).