linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesse Pollard <jesse@cats-chateau.net>
To: "David Schwartz" <davids@webmaster.com>,
	"Linus Torvalds" <torvalds@osdl.org>
Cc: <Valdis.Kletnieks@vt.edu>,
	"Peter Chubb" <peter@chubb.wattle.id.au>,
	<linux-kernel@vger.kernel.org>
Subject: Re: Linux GPL and binary module exception clause?
Date: Fri, 5 Dec 2003 08:59:45 -0600	[thread overview]
Message-ID: <03120508594500.21696@tabby> (raw)
In-Reply-To: <MDEHLPKNGKAHNMBLJOLKAEJHIHAA.davids@webmaster.com>

On Friday 05 December 2003 05:16, David Schwartz wrote:
> > On Thu, 4 Dec 2003, David Schwartz wrote:
> > > The GPL gives you the unrestricted right to *use* the original work.
> > > This implicitly includes the right to peform any step necessary to use
> > > the work.
> >
> > No it doesn't.
> >
> > Your logic is fundamentally flawed, and/or your reading skills are
> > deficient.
>
> 	I stand by my conclusions.
>
> > The GPL expressly states that the license does not restrict the act of
> > "running the Program" in any way, and yes, in that sense you may "use"
> > the program in whatever way you want.
>
> 	Please tell me how you use the Linux kernel source code. Please tell me
> how you run the Linux kernel source code without creating a derived work.

You compile it without modifications.

> > But that "use" is clearly limited to running the resultant program. It
> > very much does NOT say that you can "use the header files in any way you
> > want, including building non-GPL'd programs with them".
>
> 	Huh? What "resultant program"? Are you talking about an executable that's
> a derived work of the Linux kernel source code?

You don't have "an executable" unless it includes the kernel as the 
executable.

It actually sounds like you are confusing Kernel mode with User mode.

> 	Modules are derived works of the Linux kernel source code, not the kernel
> executable. So the license that would be relevent would be a license that
> restricts how you can use the source code or derived works of the source
> code. License to run a program, when you have source code, is license to
> compile that source code.
>
> 	For example, 2b says:
>
>     b) You must cause any work that you distribute or publish, that in
>     whole or in part contains or is derived from the Program or any
>     part thereof, to be licensed as a whole at no charge to all third
>     parties under the terms of this License.
>
> 	You don't seriously think that's talking about derived works that are
> derived from *executables*, do you?

It is if you are referring to the Kernel. Look at the include files. They are
licened under GPL.

Look at the include files for applications. They are licenced under LGPL.

The kernel include files are NOT.

> > In fact, it very much says the reverse. If you use the source code to
> > build a new program, the GPL _explicitly_ says that that new program has
> > to be GPL'd too.
>
> 	I download the Linux kernel sources from kernel.org. Please tell me what I
> can do with them without agreeing to the GPL. Is it your position that I
> cannot compile them without agreeing to the GPL? If so, how can running the
> program be unrestricted? How can you run the linux kernel soruce code
> without compiling it?

compile them. Read them. run them.

You do not modify them. You do not combine them with propriatary executables 
and distribute them without that executable and it's source becoming GPL.

> > > Please tell me how you use a kernel header file, other than by
> > > including it in a code file, compiling that code file, and executing
> > > the result.
> >
> > You are a weasel, and you are trying to make the world look the way you
> > want it to, rather than the way it _is_.
>
> 	That is a serious example of projection.
>
> > You use the word "use" in a sense that is not compatible with the GPL.
> > You claim that the GPL says that you can "use the program any way you
> > want", but that is simply not accurate or even _close_ to accurate. Go
> > back and read the GPL again. It says:
> >
> > 	"The act of running the Program is not restricted"
> >
> > and it very much does NOT say
> >
> > 	"The act of using parts of the source code of the Program is not
> > 	 restricted"
>
> 	You run a piece of source code by compiling it. If a header file is
> protected by the GPL, permission to "run" it means permission to include it
> in files you compile.
>
> 	The GPL says:
>
>   0. This License applies to any program or other work which contains
> a notice placed by the copyright holder saying it may be distributed
> under the terms of this General Public License.  The "Program", below,
> refers to any such program or work, and a "work based on the Program"
> means either the Program or any derivative work under copyright law:
> that is to say, a work containing the Program or a portion of it,
>
> 	The work that was placed under the GPL is the Linux kernel source. The
> "program" is the source code. Please, tell me how you "run" the Linux
> kernel source code other than by compiling it to form a derived work.
>
> 	Perhaps you misunderstand the GPL to mean that a 'program' must be an
> executable? Not only does section zero clearly refute that, but if it were
> true, it would mean that a module is not a derived work from a GPL'd work!
> It is a program that's placed under the GPL, and a module is not a derived
> work from any other executable.
>
> > In short: you do _NOT_ have the right to use a kernel header file (or any
> > other part of the kernel sources), unless that use results in a GPL'd
> > program.
>
> 	The phrase "results in a GPL'd program" is one that I cannot understand. I
> have no idea what you mean by it. You have the right to "run" the header
> file, the GPL gives it to you. The way you "run" a header file is by first
> compiling a source code that includes it into an executable.

Quite simple. If you include the Linux kernel include files you get a derived
program that must be released under GPL if you distribute that program.

> > What you _do_ have the right is to _run_ the kernel any way you please
> > (this is the part you would like to redefine as "use the source code",
> > but that definition simply isn't allowed by the license, however much you
> > protest to the contrary).
>
> 	How can I run the kernel without compiling it? And how can I compile it
> without creating a derived work? The GPL says:
>
>   5. You are not required to accept this License, since you have not
> signed it.  However, nothing else grants you permission to modify or
> distribute the Program or its derivative works.  These actions are
> prohibited by law if you do not accept this License.  Therefore, by
> modifying or distributing the Program (or any work based on the
> Program), you indicate your acceptance of this License to do so, and
> all its terms and conditions for copying, distributing or modifying
> the Program or works based on it.
>
> 	Of course, the second sentence is utterly false. Fair use and necessary
> step provisions do just that.

It is not fair use to create and distribute derived works that use Kernel 
include files without agreeing to the GPL.

> > So you can run the kernel and create non-GPL'd programs while running it
> > to your hearts content. You can use it to control a nuclear submarine,
> > and that's totally outside the scope of the license (but if you do,
> > please note that the license does not imply any kind of warranty or
> > similar).
> >
> > BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES.
> >
> > Comprende?
>
> 	I have no idea what you mean by a "NON-GPL'D BINARY". *Any* binary you
> create from a kernel header file is, at least to some extent, a derived
> work of that header file. However, the question for whether it would be
> covered by the GPL is whether you exercised a privilege in creating that
> work that you were only granted by the GPL.

Nope. You are confusing GPL with LGPL. Not the same thing.

> 	Again, what I'm trying to say is that the term "program" in the GPL means
> whatever it is that's placed under the GPL (which can be an executable
> and/or source code). Of course, placing an executable under the GPL
> effectively places its source code under the GPL (as soon as you distribute
> it to someone else, as you are required to do, who is limited only by the
> GPL).
>
> 	In the case of the Linux kernel, the source code was initially placed
> under the GPL. Once source code is placed under the GPL, your right to "run
> the program" means a right to compile the source code. In the case of
> header files, this means the right to include the header file in code files
> and thereby produce and use derived works. (Whether or not you can
> distribute those derived works is, of course, a whole different argument.)
>
> 	So my point is that the GPL isn't really even relevant here. You have all
> the rights you need without agreeing to it. "Activities other than copying,
> distribution and modification are not
> covered by this License; they are outside its scope." Including a header
> file in your own class file is not copying, distribution, or modification
> of that header file. It is use, mere use.

Depends on where that class file ends up. If it is in a binary, that you 
intend to distribute, then that binary, and its source is GPL.

Check the headers. If it says GPL, then anything compiled that uses that
header should be GPL when/if distributed.


  parent reply	other threads:[~2003-12-05 15:00 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 [this message]
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
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=03120508594500.21696@tabby \
    --to=jesse@cats-chateau.net \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter@chubb.wattle.id.au \
    --cc=torvalds@osdl.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).