All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael K. Edwards" <medwards.linux@gmail.com>
To: "Pavel Machek" <pavel@ucw.cz>
Cc: davids@webmaster.com, "v j" <vj.linux@gmail.com>,
	trent.waddington@gmail.com,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
	"Neil Brown" <neilb@suse.de>
Subject: Re: GPL vs non-GPL device drivers
Date: Sun, 25 Feb 2007 03:54:47 -0800	[thread overview]
Message-ID: <f2b55d220702250354j29583e5ak1397d28ef7028783@mail.gmail.com> (raw)
In-Reply-To: <20070225104211.GB2045@elf.ucw.cz>

On 2/25/07, Pavel Machek <pavel@ucw.cz> wrote:
> Ok, but this is not realistic. I agree that if Evil Linker only adds
> two hooks "void pop_server_starting(), void pop_server_stopping()", he
> can get away with that.
>
> But... how does situation change when Evil Linker does #include
> <pop3/gpl_header_file_with_some_inline_functions.h> from his
> binary-only part?

There is no such thing as a "GPL header file".  There is an original
work of authorship, that is, your POP server.  There is a modified
work of authorship (not exactly a "derivative work", but let's call it
an Annotated Edition in order to bring it into the "derivative works"
category), that is, your POP server as altered by the Evil Linker in a
coherent and readable way.  There is an independent work of
authorship, the Evil Linker's program.  And there is a claim that the
independent work of authorship infringes on the original author's
copyright in the POP server.

If the sole factual basis for that claim is that the Evil Linker's
program contains #include "what_you_said.h", then it's not going to
fly in court (IANAL, TINLA).  The #include directive itself is not
protectable expression, and anything that winds up in the Evil
Linker's binary is either a "method of operation" or "fair use" under
a "minimum practical amount of copying needed to accomplish a
sanctioned purpose" standard.  Interoperation, even competitive
interoperation and circumvention of partner licensing programs, is a
sanctioned purpose under US law.  You have to go pretty far out of
your way to find a case like Atari v. Nintendo in which the court
ruled that the competitor had been too lazy or venal in its reverse
engineering methodology not to be entitled to copy the bits needed to
interoperate.

> I believe situation in this case changes a lot... And that's what
> embedded people are doing; I do not think they are creating their own
> headers or their own inline functions where headers contain them.

Remember, I am not defending people who hack the kernel and then don't
release the source code to their hacked kernel.  (I'm not really
defending people who hack the kernel and write a closed-source
application locked to those hacks, either, although I am saying that
calling such tactics "illegal" or "GPL violation" is irrelevant and
wrong-headed.)  And when what they in fact did was to riffle shuffle
together two drivers from Linus's tarball and change the names of the
symbolic constants to match their hardware interface (itself doubtless
a half-assed clone of someone else's), there's no excuse for GPLing
the result.

But a 20KLoC 3-D graphics driver that happens to #include
<linux/whatever.h> is not thereby a "derivative work" of the kernel,
no matter how many entrypoints are labeled EXPORT_SYMBOL_GPL or
provided as inline functions.  And under the Lexmark standard,
MODULE_LICENSE("GPL") with a disclaimer in the doco is by far the
sanest way to deal with the EXPORT_SYMBOL_GPL mind games, and likely
(IANAL, TINLA) to be endorsed by any court in the US and probably lots
of other places too.  Especially when the graphics chip maker explains
that keeping their driver source code closed isn't really an attempt
to hide their knowledge under a bushel basket.  It's a defensive
measure against having their retail margins destroyed by nitwits who
take out all the busy-wait loops and recompile with -O9 to get another
tenth of a frame per second, and then pretend ignorance when
attempting to return their slagged GPU at Fry's.

Cheers,
- Michael

  parent reply	other threads:[~2007-02-25 11:54 UTC|newest]

Thread overview: 255+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9b3a62ab0702142115m4ea7d2c0m6869eb64ef3ee14e@mail.gmail.com>
2007-02-15  5:16 ` GPL vs non-GPL device drivers v j
     [not found]   ` <75b66ecd0702142130x64824694ieee1869d0d70ab15@mail.gmail.com>
2007-02-15  5:38     ` v j
2007-02-15  5:47   ` Trent Waddington
     [not found]     ` <9b3a62ab0702142214p5c33a02am7e783c59ae0a64f1@mail.gmail.com>
2007-02-15  6:16       ` v j
2007-02-15 12:45         ` Neil Horman
2007-02-15  6:35       ` Trent Waddington
2007-02-15  6:46         ` v j
2007-02-15  6:56           ` Trent Waddington
2007-02-15  7:32           ` Dave Jones
2007-02-15  9:44             ` Jeff Garzik
2007-02-15 10:50               ` Dave Jones
2007-02-15 14:24             ` Jan De Luyck
2007-02-15 14:37               ` Benny Amorsen
2007-02-15 14:47                 ` Bernd Petrovitsch
2007-02-15 17:49                 ` Jan Knutar
2007-02-15  7:55           ` Neil Brown
2007-02-15 14:45           ` Bernd Petrovitsch
2007-02-15 20:21           ` Chris Snook
2007-02-15 22:34             ` Jeff Garzik
2007-02-16  4:20             ` Alexandre Oliva
2007-02-15  6:11   ` Dave Jones
2007-02-15  6:27     ` v j
2007-02-15  6:43       ` Neil Brown
2007-02-15  6:55         ` v j
2007-02-15  7:02           ` Trent Waddington
2007-02-15  7:09             ` v j
2007-02-15  7:18               ` Trent Waddington
2007-02-15  7:30               ` Neil Brown
2007-02-15 11:52                 ` Adrian Bunk
2007-02-15  7:11       ` Randy Dunlap
2007-02-15  7:28         ` v j
2007-02-15  7:43           ` Neil Brown
2007-02-15  7:53             ` Trent Waddington
2007-02-15  8:11               ` Neil Brown
2007-02-15  8:35                 ` Trent Waddington
2007-02-15 20:56               ` David Schwartz
2007-02-15 21:51                 ` Trent Waddington
2007-02-16  0:38                   ` David Schwartz
2007-02-16 12:53                     ` Adrian Bunk
2007-02-17  2:42                       ` David Schwartz
2007-02-17  8:29                         ` Neil Brown
2007-02-18  2:55                           ` Michael K. Edwards
2007-02-18  3:26                             ` Trent Waddington
2007-02-18  6:56                               ` Michael K. Edwards
2007-02-18  7:20                                 ` Michael K. Edwards
2007-02-18  8:54                                 ` Oleg Verych
2007-02-18 23:42                                   ` Michael K. Edwards
2007-02-18 13:57                               ` Theodore Tso
2007-02-18 21:16                                 ` Trent Waddington
2007-02-18  1:26                         ` Trent Waddington
2007-02-18  1:28                           ` David Lang
2007-02-18  1:51                             ` Trent Waddington
2007-02-19 17:48                           ` David Schwartz
2007-02-19 20:55                             ` Trent Waddington
2007-02-19 21:53                               ` Michael K. Edwards
2007-02-19 22:26                                 ` Trent Waddington
2007-02-19 22:48                                   ` Michael K. Edwards
2007-02-19 22:58                                     ` Trent Waddington
2007-02-19 23:18                                       ` Michael K. Edwards
2007-02-19 23:26                                         ` Trent Waddington
2007-02-20  0:28                                           ` Michael K. Edwards
2007-02-20  0:36                                             ` Trent Waddington
2007-02-20  0:50                                               ` Michael K. Edwards
2007-02-20  0:55                                                 ` Trent Waddington
2007-02-20  0:58                                                 ` Michael K. Edwards
2007-02-20  1:00                                                   ` Trent Waddington
2007-02-20  7:48                                                   ` Trent Waddington
2007-02-20  8:24                                                     ` v j
2007-02-20  9:01                                                     ` Trent Waddington
2007-02-20  1:29                                       ` David Schwartz
2007-02-20  5:19                                         ` v j
2007-02-20 10:54                                           ` Nick Piggin
2007-02-20 11:00                                           ` Bernd Petrovitsch
2007-02-20 15:14                                             ` Valdis.Kletnieks
2007-02-20 15:39                                               ` Bernd Petrovitsch
2007-02-20 14:36                                           ` Helge Hafting
2007-02-20 20:30                                             ` Jan-Benedict Glaw
2007-02-21 12:45                                               ` Helge Hafting
2007-02-21 22:08                                         ` Michael K. Edwards
2007-02-21 23:30                                           ` Nuno Silva
2007-02-22  0:26                                             ` Michael K. Edwards
2007-02-21 23:34                                           ` David Lang
2007-02-22  0:28                                             ` Michael K. Edwards
2007-02-22  1:30                                               ` D. Hazelton
2007-02-22  2:05                                                 ` Michael K. Edwards
2007-02-22  4:17                                                   ` D. Hazelton
2007-02-22  4:24                                                     ` Trent Waddington
2007-02-22  6:12                                                     ` Michael K. Edwards
2007-02-22  9:28                                                     ` Jon K Hellan
2007-02-22 16:45                                                     ` Theodore Tso
2007-02-22 20:30                                                       ` D. Hazelton
2007-02-25  0:59                                                       ` Adrian Bunk
2007-02-22 14:14                                                   ` Alan
2007-02-22 22:42                                                     ` Michael K. Edwards
2007-02-23  0:18                                                       ` Alan
2007-02-23  1:12                                                         ` Randy Dunlap
2007-02-23  1:21                                                         ` Michael K. Edwards
2007-02-22 14:10                                                 ` Alan
2007-02-22 21:36                                                   ` D. Hazelton
2007-02-22 22:28                                                     ` Michael K. Edwards
2007-02-25 10:42                                           ` Pavel Machek
2007-02-25 11:33                                             ` David Schwartz
2007-02-25 19:39                                               ` Pavel Machek
2007-02-26  0:47                                                 ` David Schwartz
2007-02-26  1:54                                                   ` D. Hazelton
2007-02-25 11:54                                             ` Michael K. Edwards [this message]
2007-02-25 13:52                                               ` Alan
2007-02-25 14:21                                                 ` Michael K. Edwards
2007-02-25 19:10                                                   ` Alan
2007-02-26 10:16                                                     ` Michael K. Edwards
2007-02-26 14:12                                                       ` Alan
2007-02-25 22:27                                                   ` Trent Waddington
2007-02-26 10:17                                                     ` Michael K. Edwards
2007-02-25 20:15                                               ` D. Hazelton
2007-02-25 17:56                                             ` Stephen Clark
2007-02-19 22:47                               ` David Schwartz
2007-02-15 13:09             ` Jan Engelhardt
2007-02-15  8:12           ` Nick Piggin
2007-02-15 10:01           ` Xavier Bestel
2007-02-15 10:51             ` Mohammed Gamal
2007-02-15 11:00               ` Xavier Bestel
2007-02-15 11:05                 ` Trent Waddington
2007-02-15 11:17                   ` Dave Jones
2007-02-15 11:15                 ` Dave Jones
2007-02-15 11:35                   ` Trent Waddington
2007-02-15 13:14                     ` Jan Engelhardt
2007-02-15 14:43           ` Bernd Petrovitsch
2007-02-15 16:22           ` Stuart MacDonald
2007-02-16  0:36             ` Scott Preece
2007-02-16  9:44               ` Xavier Bestel
2007-02-16  9:58               ` Bernd Petrovitsch
2007-02-15  7:24       ` Dave Jones
2007-02-15  9:54       ` Xavier Bestel
2007-02-15 14:14       ` Neil Horman
2007-02-15 14:43       ` Bernd Petrovitsch
2007-02-15 16:25       ` Rik van Riel
2007-02-15 16:53       ` Theodore Tso
2007-02-15 18:20         ` v j
2007-02-15 18:41           ` Josh Boyer
2007-02-16 15:34             ` Lennart Sorensen
2007-02-15 18:58           ` Xavier Bestel
2007-02-15 19:02           ` Miguel Ojeda
2007-02-16  1:12             ` Scott Preece
2007-02-16  1:14               ` David Lang
2007-02-16  5:48                 ` v j
2007-02-16  5:57                   ` Trent Waddington
2007-02-16  6:25                     ` v j
2007-02-16  6:40                       ` Miguel Ojeda
2007-02-16  6:45                       ` Trent Waddington
2007-02-16  9:16                         ` David Schwartz
2007-02-16 10:00                           ` Joshua Simmons
2007-02-16 11:42                             ` David Schwartz
2007-02-16 11:51                               ` Bernd Petrovitsch
2007-02-16 13:29                               ` Joshua Simmons
2007-02-17  2:42                                 ` David Schwartz
2007-02-17  6:44                                   ` Alexandre Oliva
2007-02-17  7:26                                     ` Valdis.Kletnieks
2007-02-16 10:35                           ` Richard Knutsson
2007-02-16 17:12                           ` Dave Neuer
2007-02-16 21:26                             ` Scott Preece
2007-02-18 17:08                               ` Pavel Machek
2007-02-17  2:42                             ` David Schwartz
2007-02-17 10:46                               ` Giuseppe Bilotta
2007-02-17 14:19                                 ` David Schwartz
2007-02-17 23:30                                   ` Giuseppe Bilotta
2007-02-17 23:55                                     ` Michael K. Edwards
2007-02-18  9:00                                       ` Giuseppe Bilotta
2007-02-19 17:53                                     ` David Schwartz
2007-02-18  5:15                                   ` Alexandre Oliva
2007-02-17 22:18                               ` Dave Neuer
2007-02-17 23:04                                 ` David Schwartz
2007-02-17 23:04                                 ` Michael K. Edwards
2007-02-16  9:52                       ` Valdis.Kletnieks
2007-02-16 13:44                         ` Trent Waddington
2007-02-16 10:30                       ` Valdis.Kletnieks
2007-02-16 10:38                       ` Bernd Petrovitsch
2007-02-16 14:04                       ` Neil Horman
2007-02-16 14:14                       ` Jesper Juhl
2007-02-17  2:59                         ` David Schwartz
2007-02-17  6:32                           ` Alexandre Oliva
2007-02-17 13:27                             ` David Schwartz
2007-02-17 19:29                             ` Scott Preece
2007-02-17 21:15                               ` Michael K. Edwards
2007-02-19 20:31                                 ` Alan
2007-02-19 20:20                                   ` Michael K. Edwards
2007-02-19 20:48                                     ` linux-os (Dick Johnson)
2007-02-19 21:50                                       ` Michael K. Edwards
2007-02-19 22:12                                         ` Michael Dreher
2007-02-17 21:21                               ` David Schwartz
2007-02-18  4:38                                 ` Alexandre Oliva
2007-02-16 15:40                       ` Lennart Sorensen
2007-02-16  9:12                   ` Xavier Bestel
2007-02-16  9:44                     ` Jon K Hellan
2007-02-16 11:41                       ` Jan Engelhardt
2007-02-16  6:46               ` Miguel Ojeda
2007-02-15 19:27           ` Geert Uytterhoeven
2007-02-16  1:24             ` Scott Preece
2007-02-15 22:21           ` Jeff Garzik
2007-02-16  0:04             ` Michael K. Edwards
2007-02-16  0:37               ` Jeff Garzik
2007-02-16  2:09                 ` Michael K. Edwards
2007-02-16  2:12                 ` Trent Waddington
2007-02-16  4:00                 ` Alexandre Oliva
2007-02-16  5:16                   ` Jeff Garzik
2007-02-16  5:57                     ` Alexandre Oliva
2007-02-15 22:42           ` Gene Heskett
2007-02-16  1:48             ` Scott Preece
2007-02-17  4:03             ` Michael K. Edwards
2007-02-17  4:19               ` Gene Heskett
     [not found]           ` <7b69d1470702151705h297c3b38g138eb0138b900aea@mail.gmail.com>
2007-02-16  2:00             ` v j
2007-02-16  6:07               ` Chris Friesen
2007-02-16  8:36               ` Martin Mares
2007-02-16 17:00               ` Matthew Frost
2007-02-16 17:52               ` Matthew Frost
2007-02-20 14:55               ` Helge Hafting
2007-02-16  0:10         ` Greg Trounson
2007-02-16  0:18           ` Lee Revell
2007-02-16  0:37             ` Greg Trounson
2007-02-16  1:58               ` Lee Revell
2007-02-16  0:58         ` Scott Preece
2007-02-18 16:42           ` Pavel Machek
2007-02-15  6:15   ` Neil Brown
2007-02-15  6:51     ` Gene Heskett
2007-02-15  6:23   ` Ben Nizette
2007-02-15  7:40     ` Nick Piggin
2007-02-15 20:56       ` David Schwartz
2007-02-15 21:53       ` Bernd Petrovitsch
2007-02-15 22:41         ` Jeff Garzik
2007-02-15 23:20           ` Bernd Petrovitsch
2007-02-15  7:36   ` Arjan van de Ven
2007-02-15  8:04     ` v j
2007-02-15  8:13       ` Arjan van de Ven
2007-02-15  8:17       ` Richard Knutsson
2007-02-15  8:40         ` v j
2007-02-15 19:36           ` Jörn Engel
2007-02-15  8:24       ` Nick Piggin
2007-02-15 11:52       ` Martin Mares
2007-02-16  4:13       ` Alexandre Oliva
2007-02-16 13:32       ` Lennart Sorensen
2007-02-15 11:54   ` Mws
2007-02-15 12:51     ` Manu Abraham
2007-02-15 14:32       ` linux-os (Dick Johnson)
2007-02-15 14:54         ` Manu Abraham
2007-02-16  8:19         ` Valdis.Kletnieks
2007-02-16  9:25           ` Bernd Petrovitsch
2007-02-16 15:33           ` Chris Friesen
2007-02-16 15:58           ` Scott Preece
2007-02-15 15:18   ` Michael K. Edwards
2007-02-15 11:06 Ihar `Philips` Filipau
     [not found] <7OHci-7fx-5@gated-at.bofh.it>
     [not found] ` <7OHci-7fx-3@gated-at.bofh.it>
     [not found]   ` <7OJnQ-24B-19@gated-at.bofh.it>
     [not found]     ` <7OJQP-2VO-9@gated-at.bofh.it>
2007-02-15 11:53       ` Bodo Eggert
     [not found]   ` <7OI8n-fp-11@gated-at.bofh.it>
     [not found]     ` <7OIi9-tI-11@gated-at.bofh.it>
     [not found]       ` <7OS7S-7tW-27@gated-at.bofh.it>
     [not found]         ` <7OTx3-1tH-17@gated-at.bofh.it>
2007-02-15 23:40           ` Bodo Eggert
     [not found] <fa.GPbYGi2HYDPl2WlRgsq2dPbD6cM@ifi.uio.no>
     [not found] ` <fa.5t0XkAtEpB2nDYFPJKUBce9BKFE@ifi.uio.no>
     [not found]   ` <fa.upvZMIS42lj8Tbudh1OdnbDn+Ts@ifi.uio.no>
     [not found]     ` <fa.821rWTmf8FgAMnDeO7b6yeUeXYg@ifi.uio.no>
     [not found]       ` <fa.+3hIy95KSdtolNz5kNmm6qk4FU8@ifi.uio.no>
2007-02-15 23:31         ` Robert Hancock
2007-02-16 15:29           ` linux-os (Dick Johnson)
2007-02-16 23:08             ` Robert Hancock
2007-04-01 12:16 devzero

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=f2b55d220702250354j29583e5ak1397d28ef7028783@mail.gmail.com \
    --to=medwards.linux@gmail.com \
    --cc=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=pavel@ucw.cz \
    --cc=trent.waddington@gmail.com \
    --cc=vj.linux@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.