linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Giacomo A. Catenazzi" <cate@debian.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Alexandre Oliva <aoliva@redhat.com>,
	Ricardo Galli <gallir@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: GPL only modules
Date: Tue, 19 Dec 2006 08:40:31 +0100	[thread overview]
Message-ID: <4587976F.7070905@debian.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0612181242530.3479@woody.osdl.org>

Linus Torvalds wrote:
> 
> On Mon, 18 Dec 2006, Alexandre Oliva wrote:
>>> In other words, in the GPL, "Program" does NOT mean "binary". Never has.
>> Agreed.  So what?  How does this relate with the point above?
>>
>> The binary is a Program, as much as the sources are a Program.  Both
>> forms are subject to copyright law and to the license, in spite of
>> http://www.fsfla.org/?q=en/node/128#1
> 
> Here's how it relates:
>  - if a program is not a "derived work" of the C library, then it's not 
>    "the program" as defined by the GPLv2 AT ALL.
> 
> In other words, it doesn't matter ONE WHIT whether you use "ld --static" 
> or "ld" or "mkisofs" - if the program isn't (by copyright law) derived 
> from glibc, then EVEN IF glibc was under the GPLv2, it would IN NO WAY 
> AFFECT THE RESULTING BINARY.

I really don't agree.  It seems you confuse source and binary application.

The source surelly is not derived, you can link *any* libc to your
program.

But a binary is different.

Let start with your example about books: you write a book, you have
the copyright of the text, but if you publish it with X publiher, he
may use a own font.  You can read the book, scan it to extract text
(I hope fair use allows it), but not copy the book pages: there is
your text, but also copyrighted font.  Publisher should check
that the two license are compatible, as the user that links
with a new library.

For binary, it is the same. You can extract libraries and rest of
programs (better doing with sources), but until it is one binary,
it is a new mixed entity.

It is not only linking, it is mixing bytes! Some part of library is
linked statically, there are some references in the static part of
program. It is a mix and until the two part are mixed (not only linked)
you should follow both licenses for copying!

Choose any dynamic program in your machine, try to link glibc with an
other (not directly derived libc) library... you see how it is hard,
and it is very different to an "aggregation".  And dynamic links is
only the latest step of "merging" the two binaries.

Other libraries tend to be more "dynamic", but glibc mixes to much

In other word, source A, library B: the binary C is derived both from A
and B, but surelly A is not derived by B.  So IMHO IANAL, in arguments
we should not confuse the sources and the binary in the arguments, so
not calling simply "the program".


ciao
	cate


> 
> And I'm simply claiming that a binary doesn't become "derived from" by any 
> action of linking.
> 
> Even if you link using "ld", even if it's static, the binary is not 
> "derived from". It's an aggregate.
> 
> "Derivation" has nothing to do with "linking". Either it's derived or it 
> is not, and "linking" simply doesn't matter. It doesn't matter whether 
> it's static or dynamic. That's a detail that simply doesn't have anythign 
> at all to do with "derivative work".
> 
> THAT is my point. 
> 
> Static vs dynamic matters for whether it's an AGGREGATE work. Clearly, 
> static linking aggregates the library with the other program in the same 
> binary. There's no question about that. And that _does_ have meaning from 
> a copyright law angle, since if you don't have permission to ship 
> aggregate works under the license, then you can't ship said binary. It's 
> just a non-issue in the specific case of the GPLv2.
> 
> In the presense of dynamic linking the binary isn't even an aggregate 
> work.
> 
> THAT is the difference between static and dynamic. A simple command line 
> flag to the linker shouldn't really reasonably be considered to change 
> "derivation" status.
> 
> Either something is derived, or it's not. If it's derived, "ld", 
> "mkisofs", "putting them close together" or "shipping them on totally 
> separate CD's" doesn't matter. It's still derived.
> 
> 		Linus


  parent reply	other threads:[~2006-12-19  7:45 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
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 [this message]
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=4587976F.7070905@debian.org \
    --to=cate@debian.org \
    --cc=aoliva@redhat.com \
    --cc=gallir@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --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).