public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Larry McVoy <lm@work.bitmover.com>,
	Linus Torvalds <torvalds@osdl.org>, Larry McVoy <lm@bitmover.com>,
	Erik Andersen <andersen@codepoet.org>,
	Zwane Mwaikambo <zwane@arm.linux.org.uk>,
	Paul Adams <padamsdev@yahoo.com>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux GPL and binary module exception clause?
Date: Sat, 6 Dec 2003 10:38:45 -0500	[thread overview]
Message-ID: <20031206153845.GA8552@thunk.org> (raw)
In-Reply-To: <20031206051433.GA25766@work.bitmover.com>

On Fri, Dec 05, 2003 at 09:14:33PM -0800, Larry McVoy wrote:
> Your view that "(b) is compiled into a Linux kernel module, then it
> _is_ part of (a+b) whether (a) is physically present or not." is not
> something that I have managed to seen in any caselaw.  On the other hand,
> it is widely held that you can't force licenses across an API and it's
> perfectly reasonable to see the loadable module interface as an API.

Well, whether or not you can force licenses across an API is not well
settled, as far as I know (IANAL) Microsoft and Apple still have
licenses that try to claim ownership across API's.  And to the extent
that the FSF still tries to claim that programs written to use the GNU
readline library must fall under the GPL, when two other BSD-licensed
implementations of the readline interface exist, they are claiming
exactly the same thing (although the FSF has been known to call for
bycotts of companies that try to claim interfacde copyrights; heh).

Which brings up an interesting point.  The moment someone implements
BSD-licensed code which implements a particular interface, it very
strongly weakens the case that anyone implementing code to that
interface is a derived work of the GPL'ed interface.  This is one of
the reasons why claiming that the GPL can infect across an interface
(whether it is a module interface, a system call interface, or
dynamically linked shared library interface) is bizarre at best.

For example, let me give the following example.  Debugfs of the
e2fsprogs library uses libss, which I recently enhanced to attempt to
dynamically load one of the following libraries via dlopen: readline
(GPL'ed), editline (BSD licensed), or libedit (BSD licensed), which
all export the same interface.  Libss dates back to 1985 or so, and
has a BSD-style license.  It is also used in Kerberos V5 (which is
also BSD licensed), and so Solaris has a propietary derived version of
Krb5 whose administration client uses libss.  So if you compile the
latest version of e2fsprogs on Solaris, and Solaris' krb5 admin client
manages to use the new version of libss, then you could potentially
have in the single address space:

	* Solaris's propietary admin client
	* The libss shared library (BSD)
	* The GPL'ed readline library

OK, riddle me this: is there a GPL violation, and if so, who committed
it?  The user, for running the admin client in this configuration?
But the GPL explicitly says that it's only about distribution, and
doesn't restrict usage in any way, and the end-user is only using the
code.  

Solaris, the owner of the propietary admin client?  But they weren't
involved in my enhancing the libss shared library to dynamically load
either a GPL'ed or a BSD-licensed library, and they created the admin
client before I added the libss enhancement.  And heck, the original
admin client was created by me while I was working at MIT, and is part
of the original MIT Kerberos V5 disitribution (although Sun has
modified it extensively since then).

Me, for modifying a BSD-licensed library to try to dynamically load a
GPL'ed library?  But I was trying to make a perfectly legitimate stack
work:

	* Debugfs (which is GPL'ed)
	* The libss shared library (BSD)
	* The GPL'ed readline library

and the reason why I used dynamic linking was because I wanted debugfs
to only optionally depend on readline library, since the readline
library is a monster (over 600k) and so it wouldn't fit on a rescue
floppy.

So trust me, you really don't want to claim that just because a
program was written to use a particular interface, the license infects
across the API.  Apple and Microsoft are playing that game, and a very
unsavory game it is.  And it leads to all sorts of paradoxes, such as
the one I described above.

						- Ted

  parent reply	other threads:[~2003-12-06 15:39 UTC|newest]

Thread overview: 275+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams
2003-12-05  0:07 ` Nick Piggin
2003-12-05  2:07   ` Kendall Bennett
2003-12-05 15:57     ` Thierry Vignaud
2003-12-05  4:23   ` Peter Chubb
2003-12-05  4:42     ` Nick Piggin
2003-12-05  8:23       ` Peter Chubb
2003-12-05 17:19         ` Linus Torvalds
2003-12-05 18:42           ` Jeremy Fitzhardinge
2003-12-05  5:13     ` Valdis.Kletnieks
2003-12-05  5:26       ` Hua Zhong
2003-12-05  6:34       ` David Schwartz
2003-12-05  6:58         ` Linus Torvalds
2003-12-05 11:16           ` David Schwartz
2003-12-05 13:34             ` Anders Karlsson
2003-12-05 14:03             ` Ryan Anderson
2003-12-05 16:38               ` Shawn Willden
2003-12-05 16:54                 ` Arjan van de Ven
2003-12-05 17:03                   ` Shawn Willden
2003-12-05 22:36                   ` Derek Fawcus
2003-12-05 17:34                 ` Linus Torvalds
2003-12-05 17:35               ` Hua Zhong
2003-12-05 18:12                 ` Filip Van Raemdonck
2003-12-05 18:37                   ` Hua Zhong
2003-12-05 19:56                     ` 'Filip Van Raemdonck'
2003-12-05 20:26                       ` Hua Zhong
2003-12-06  0:08                         ` Filip Van Raemdonck
2003-12-05 19:55               ` David Schwartz
2003-12-05 20:14                 ` Linus Torvalds
2003-12-05 21:16                   ` Shawn Willden
2003-12-09  0:17                   ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya
2003-12-09 12:16                     ` Petr Sebor
2003-12-09 20:31                     ` bill davidsen
2003-12-08 15:38                 ` Linux GPL and binary module exception clause? Jesse Pollard
2003-12-05 14:59             ` Jesse Pollard
2003-12-05 19:15               ` Kendall Bennett
2003-12-05 18:44           ` Kendall Bennett
2003-12-05 19:09             ` Valdis.Kletnieks
2003-12-05 19:22               ` Arjan van de Ven
2003-12-10 13:52                 ` Andre Hedrick
2003-12-10 15:18                   ` Linus Torvalds
2003-12-10 15:32                     ` Larry McVoy
2003-12-10 16:21                       ` Linus Torvalds
2003-12-10 16:34                         ` Larry McVoy
2003-12-10 17:10                           ` Linus Torvalds
2003-12-10 17:25                             ` Chris Friesen
2003-12-10 17:58                               ` Linus Torvalds
2003-12-10 17:56                             ` Larry McVoy
2003-12-10 18:02                               ` Linus Torvalds
2003-12-10 18:08                                 ` Larry McVoy
2003-12-10 18:17                                   ` Linus Torvalds
2003-12-10 18:38                                     ` Larry McVoy
2003-12-10 19:15                                       ` Linus Torvalds
2003-12-11  0:50                                         ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen
2003-12-11  4:01                                           ` Peter Chubb
2003-12-11 15:47                                             ` Jason Kingsland
2003-12-11 22:47                                               ` Peter Chubb
2003-12-11 10:06                                           ` viro
2003-12-11 12:47                                             ` Hannu Savolainen
2003-12-11 13:33                                               ` viro
2003-12-11 14:54                                                 ` Hannu Savolainen
2003-12-10 18:37                                   ` Linux GPL and binary module exception clause? Jan-Benedict Glaw
2003-12-10 19:51                                 ` Hua Zhong
2003-12-10 20:09                                 ` Andre Hedrick
2003-12-11  1:24                               ` Andrew Pimlott
2003-12-11  7:43                               ` Rob Landley
2003-12-11  8:11                                 ` Hua Zhong
2003-12-11  8:37                                   ` Rob Landley
2003-12-11 18:22                                     ` Hua Zhong
2003-12-11 21:20                                     ` Andre Hedrick
2003-12-11 21:59                                       ` Rob Landley
2003-12-11 22:42                                         ` Andre Hedrick
2003-12-12  5:39                                           ` Rob Landley
2003-12-12  7:21                                             ` Andre Hedrick
2003-12-12  7:39                                               ` Rob Landley
2003-12-12  7:56                                                 ` Andre Hedrick
2003-12-12  9:27                                                   ` Rob Landley
2003-12-10 18:14                             ` David Schwartz
2003-12-10 18:21                               ` Linus Torvalds
2003-12-10 19:48                             ` Kendall Bennett
2003-12-11  7:32                           ` Rob Landley
2003-12-11 14:03                             ` Geert Uytterhoeven
2003-12-10 22:49                         ` Oliver Hunt
2003-12-10 17:15                     ` Hua Zhong
2003-12-10 17:42                       ` Linus Torvalds
2003-12-10 19:32                         ` Andre Hedrick
2003-12-10 22:43                           ` Jason Kingsland
2003-12-10 22:49                             ` Andre Hedrick
2003-12-10 23:11                           ` Linus Torvalds
2003-12-10 23:24                             ` Andre Hedrick
2003-12-10 19:48                         ` Kendall Bennett
2003-12-10 21:15                           ` viro
2003-12-10 22:36                             ` Kendall Bennett
2003-12-10 23:13                               ` viro
2003-12-11 15:29                               ` Jesse Pollard
2003-12-11 18:47                                 ` Kendall Bennett
2003-12-11 18:55                                   ` Nick Piggin
2003-12-11 22:18                                   ` Jesse Pollard
2003-12-10 22:18                           ` Larry McVoy
2003-12-10 22:25                             ` Andre Hedrick
2003-12-10 23:38                             ` Linus Torvalds
2003-12-11  1:03                               ` Larry McVoy
2003-12-11 14:46                                 ` Ingo Molnar
2003-12-10 23:39                             ` Andrea Arcangeli
2003-12-11 17:44                             ` Robin Rosenberg
2003-12-11 17:56                               ` Valdis.Kletnieks
2003-12-11 18:16                                 ` Nick Piggin
2003-12-11 18:50                                 ` Mihai RUSU
2003-12-11 18:37                               ` David Schwartz
2003-12-11 12:04                         ` David Woodhouse
2003-12-10 17:49                       ` Jörn Engel
2003-12-10 18:16                     ` Andre Hedrick
2003-12-05 19:25               ` Kendall Bennett
2003-12-05 19:26             ` Linus Torvalds
2003-12-05 15:50         ` Valdis.Kletnieks
2003-12-05 18:44         ` Kendall Bennett
2003-12-06  0:02           ` Maciej Zenczykowski
2003-12-05 18:44       ` Kendall Bennett
2003-12-10 13:16       ` Andre Hedrick
2003-12-10 15:02         ` Jesse Pollard
2003-12-10 20:37           ` Theodore Ts'o
2003-12-11 16:26             ` Jesse Pollard
2003-12-05 13:52   ` Richard B. Johnson
2003-12-05  0:09 ` Oliver Hunt
2003-12-05 10:55   ` Russell King
2003-12-05  0:46 ` Erik Andersen
2003-12-05  0:58   ` Zwane Mwaikambo
2003-12-05  1:03     ` Erik Andersen
2003-12-05  1:21       ` Larry McVoy
2003-12-05  1:30         ` Hua Zhong
2003-12-05  1:58         ` Linus Torvalds
2003-12-06  3:00           ` Larry McVoy
2003-12-06  4:39             ` Linus Torvalds
2003-12-06  5:14               ` Larry McVoy
2003-12-06  5:48                 ` Linus Torvalds
2003-12-06 17:14                   ` Larry McVoy
2003-12-06 15:38                 ` Theodore Ts'o [this message]
2003-12-06 16:47                   ` Jason Kingsland
2003-12-06 21:30                   ` David Schwartz
2003-12-06 21:42                     ` Larry McVoy
2003-12-07 13:01               ` Ingo Molnar
2003-12-07 22:11                 ` Rob Landley
2003-12-06 14:13             ` Andrew Pimlott
2003-12-06 17:50               ` Larry McVoy
2003-12-06 21:19                 ` Theodore Ts'o
2003-12-06 21:45                   ` Larry McVoy
2003-12-08 16:34                 ` Andrew Pimlott
2003-12-11 12:37           ` David Woodhouse
2003-12-11 12:42             ` Andre Hedrick
2003-12-11 12:58               ` David Woodhouse
2003-12-12 20:26                 ` Brian Beattie
2003-12-13 12:03                   ` David Woodhouse
2003-12-13 15:04                     ` jeff millar
2003-12-13 17:27                     ` Gene Heskett
2003-12-14  0:51                     ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick
2003-12-14  1:06                       ` Andre Hedrick
2003-12-14  2:40                         ` David S. Miller
2003-12-14  2:37                           ` Andre Hedrick
2003-12-14  6:55                         ` Rob Landley
2003-12-14  6:35                       ` Rob Landley
2003-12-11 13:54             ` Linux GPL and binary module exception clause? Andrew Pimlott
2003-12-11 15:12               ` David Woodhouse
2003-12-05  3:58         ` Jason Kingsland
2003-12-05  1:58   ` David Schwartz
2003-12-05  4:58     ` Erik Andersen
2003-12-05  6:34       ` David Schwartz
2003-12-05  6:43         ` Linus Torvalds
2003-12-05  2:07   ` Kendall Bennett
2003-12-05  7:39     ` Stefan Smietanowski
2003-12-05  1:47 ` Linus Torvalds
2003-12-10 12:57   ` Andre Hedrick
2003-12-10 15:14     ` Linus Torvalds
2003-12-10 15:25       ` Larry McVoy
2003-12-10 18:58         ` Andre Hedrick
2003-12-12 19:40     ` Pavel Machek
2003-12-12 22:08       ` Andre Hedrick
2003-12-12 23:06         ` Jamie Lokier
2003-12-12 23:43         ` Pavel Machek
2003-12-15 18:01     ` Adam Sampson
2003-12-15 21:12       ` Andre Hedrick
  -- strict thread matches above, loose matches on Subject: below --
2003-12-18  9:12 Randy Zagar
2003-12-18  9:51 ` Thorsten Glaser
2003-12-18  9:55 ` Daniel Newby
2003-12-18 14:24 ` Jesse Pollard
2003-12-19  7:56 ` Andre Hedrick
     [not found] <fa.go3ahvi.h68o2q@ifi.uio.no>
     [not found] ` <fa.nk4vl6d.g0181@ifi.uio.no>
2003-12-12  3:03   ` walt
2003-12-10 19:06 Manfred Spraul
2003-12-09  6:20 Paul Zimmerman
2003-12-09 13:22 ` Andrew Walrond
2003-12-09 14:12   ` Dale Whitchurch
2003-12-09 20:47     ` bill davidsen
2003-12-09 23:47     ` David Schwartz
2003-12-10 14:30     ` Jesse Pollard
2003-12-10 14:17 ` Jesse Pollard
2003-12-10 16:10   ` Richard B. Johnson
2003-12-10 17:58   ` Andre Hedrick
2003-12-11 15:01     ` Jesse Pollard
2003-12-07  2:34 gary ng
2003-12-08 16:08 ` Alex Bennee
2003-12-08 16:26   ` gary ng
2003-12-06 12:31 Matt
2003-12-05 22:43 gary ng
2003-12-05 23:11 ` Linus Torvalds
2003-12-06  0:07   ` gary ng
     [not found] <732BE51FE9901143AE04411A11CC465602F155F3@evtexc02.tc.fluke.com>
2003-12-05 17:05 ` David Dyck
2003-12-05 18:51   ` Jesse Pollard
2003-12-05 11:35 Adam J. Richter
2003-12-05 11:25 ` David Schwartz
2003-12-05 15:36   ` Valdis.Kletnieks
     [not found] <YPep.5Y5.21@gated-at.bofh.it>
     [not found] ` <Z3AK-Qw-13@gated-at.bofh.it>
2003-12-04 17:05   ` Ihar 'Philips' Filipau
2003-12-04 17:57     ` Thierry Vignaud
2003-12-05 11:11     ` Helge Hafting
2003-12-05 12:12       ` Stefan Smietanowski
2003-12-05 14:51         ` Ihar 'Philips' Filipau
2003-12-03 23:22 Jason Kingsland
2003-12-03 22:58 Xose Vazquez Perez
2003-12-03 21:31 Kendall Bennett
2003-12-03 21:47 ` Arjan van de Ven
2003-12-03 23:33   ` Kendall Bennett
2003-12-03 22:11 ` Richard B. Johnson
2003-12-03 23:33   ` Kendall Bennett
2003-12-03 23:40   ` bill davidsen
2003-12-04  0:00 ` Linus Torvalds
2003-12-04  0:23   ` Linus Torvalds
2003-12-04  6:25     ` Karim Yaghmour
2003-12-06  0:08       ` David Woodhouse
2003-12-06  2:28         ` Larry McVoy
2003-12-06  9:55           ` David Woodhouse
2003-12-06 10:51             ` Geert Uytterhoeven
2003-12-08 18:58         ` Karim Yaghmour
2003-12-09 20:26           ` bill davidsen
2003-12-09 21:46             ` Craig Milo Rogers
2003-12-12 11:36               ` Jamie Lokier
2003-12-12 15:27                 ` Bill Davidsen
2003-12-10 14:09         ` Andre Hedrick
2003-12-10 14:25           ` David Woodhouse
2003-12-10 14:46             ` Larry McVoy
2003-12-10 15:05               ` David Woodhouse
2003-12-10 15:11                 ` Larry McVoy
2003-12-10 15:49                   ` Aron Rubin
2003-12-10 15:59                   ` David Woodhouse
2003-12-10 16:06                     ` Larry McVoy
2003-12-10 16:22                       ` David Woodhouse
2003-12-10 18:38                     ` Andre Hedrick
2003-12-04 19:24     ` viro
2003-12-13  0:11       ` Nix
2003-12-13  0:25         ` viro
2003-12-13 15:01           ` Nix
2003-12-04  0:29   ` Kendall Bennett
2003-12-04  0:52   ` Aaron Smith
2003-12-04  1:47     ` David Lang
2003-12-04  1:20       ` Aaron Smith
2003-12-04  4:48       ` Jamie Lokier
2003-12-04 15:21   ` Jason Kingsland
2003-12-04 15:58     ` Linus Torvalds
2003-12-05  1:58     ` David Schwartz
2003-12-05  2:43       ` Jason Kingsland
2003-12-05 13:09         ` Pat Erley
2003-12-05 18:44         ` Kendall Bennett
2003-12-10 13:06         ` Andre Hedrick
2003-12-05 13:49       ` Maciej Zenczykowski
2003-12-10 13:43         ` Andre Hedrick
2003-12-10 16:07           ` Linus Torvalds
2003-12-10 18:33             ` Andre Hedrick
2003-12-10 19:20               ` Linus Torvalds
2003-12-10 20:15                 ` Andre Hedrick
2003-12-10 21:04                   ` Ingo Molnar
2003-12-10 21:05                     ` Andre Hedrick
2003-12-10 21:17                       ` Ingo Molnar
2003-12-10 22:59                         ` Andre Hedrick
2003-12-11  0:58                           ` Rob Love
2003-12-11 10:56                           ` Xavier Bestel
2003-12-11  7:26             ` Rob Landley
2003-12-05 17:29   ` Jason Kingsland
2003-12-05 17:50     ` Linus Torvalds

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=20031206153845.GA8552@thunk.org \
    --to=tytso@mit.edu \
    --cc=andersen@codepoet.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@bitmover.com \
    --cc=lm@work.bitmover.com \
    --cc=padamsdev@yahoo.com \
    --cc=torvalds@osdl.org \
    --cc=zwane@arm.linux.org.uk \
    /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