Index Home About Blog
From: torvalds@penguin.transmeta.com (Linus Torvalds)
Newsgroups: comp.os.linux.advocacy
Subject: Re: Interesting Linus Quote
Message-ID: <acjbbg$2fq$1@penguin.transmeta.com>
Date: Thu, 23 May 2002 18:10:56 +0000 (UTC)

In article <slrnaeme00.2bh.azerty@agena.island.nl>,
Rob S. Wolfram <azerty@hamal.xs4all.nl> wrote:
>[snip]
>>     Quite frankly, I don't _want_ people using Linux for ideological reasons. I
>>     think ideology sucks. This world would be a much better place if people had
>>     less ideology, and a whole lot more "I do this because it's FUN and because
>>     others might find it useful, not because I got religion."
>
>/me thinks that if that is his opinion, he chose a wrong license for
>spreading his kernel. He should have chosen the BSD license instead
>(which actually did exist back in '91).

No. I think the BSD license is a fine license, but I don't want any of
my code under it.

The point about the GPL (for me) is the continual improvements it allows
by everybody.  The BSD license tends to inherently fracture the project
at some point: if it becomes interesting enough commercially, somebody
_will_ take the approach of not feeding back his changes, and the
project as a whole suffers.

Yes, the BSD apologists talk about how the original code is still
available, but that's a complete red herring. It doesn't matter if the
original code is available, if somebody else makes something that is
"better enough" to steal away a lot of resources from the project. I do
not want _my_ code to end up like that.

This is not just theory, you can see it in the "dilution" of the BSD
camps themselves, but you can also see it clearly in projects like Wine.
In Wine it got so bad that the project leaders themselves decided to opt
for the LGPL exactly because of these issues.  And that kind of license
change is _painful_. They didn't do it lightly.

Finally, I don't see the point of the BSD license.  If I really don't
care about what happens to my code, I'd just make it truly public
domain.

But licenses are like underwear: you get _really_ upset if somebody
tries to change them for you. To each his own.

			Linus


Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@transmeta.com>
Subject: Re: large page patch (fwd) (fwd)
Original-Message-ID: <Pine.LNX.4.44.0208130942130.7411-100000@home.transmeta.com>
Date: Tue, 13 Aug 2002 17:05:01 GMT
Message-ID: <fa.m8eqdiv.16gs88o@ifi.uio.no>

On Tue, 13 Aug 2002, Rob Landley wrote:
>
> Last time I really looked into all this, Stallman was trying to do an
> enormous new GPL 3.0, addressing application service providers.  That seems
> to have fallen though (as has the ASP business model), but the patent issue
> remains unresolved.

At least one problem is exactly the politics played by the FSF, which
means that a lot of people (not just me), do not trust such new versions
of the GPL. Especially since the last time this happened, it all happened
in dark back-rooms, and I got to hear about it not off any of the lists,
but because I had an insider snitch on it.

I lost all respect I had for the FSF due to its sneakiness.

The kernel explicitly states that it is under the _one_ particular version
of the "GPL v2" that is included with the kernel. Exactly because I do not
want to have politics dragged into the picture by an external party (and
I'm anal enough that I made sure that "version 2" cannot be misconstrued
to include "version 2.1".

Also, a license is a two-way street. I do not think it is morally right to
change an _existing_ license for any other reason than the fact that it
has some technical legal problem. I intensely dislike the fact that many
people seem to want to extend the current GPL as a way to take advantage
of people who used the old GPL and agreed with _that_ - but not
necessarily the new one.

As a result, every time this comes up, I ask for any potential new
"patent-GPL" to be a _new_ license, and not try to feed off existing
works. Please dopn't make it "GPL". Make it the GPPL for "General Public
Patent License" or something. And let people buy into it on its own
merits, not on some "the FSF decided unilaterally to make this decision
for us".

I don't like patents. But I absolutely _hate_ people who play politics
with other peoples code. Be up-front, not sneaky after-the-fact.

		Linus



Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@transmeta.com>
Subject: Re: large page patch (fwd) (fwd)
Original-Message-ID: <Pine.LNX.4.44.0208131054240.9145-100000@home.transmeta.com>
Date: Tue, 13 Aug 2002 18:10:06 GMT
Message-ID: <fa.mae4eiv.10ga98q@ifi.uio.no>

On Tue, 13 Aug 2002, Rik van Riel wrote:
>
> Having a license that explicitly states that people who
> contribute and use Linux shouldn't sue you over it might
> prevent some problems.

The thing is, if you own the patent, and you sneaked the code into the
kernel, you will almost certainly be laughed out of court for trying to
enforce it.

And if somebody else owns the patent, no amount of copyright license makes
any difference.

		Linus



Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@transmeta.com>
Subject: Re: large page patch (fwd) (fwd)
Original-Message-ID: <Pine.LNX.4.44.0208131125240.7411-100000@home.transmeta.com>
Date: Tue, 13 Aug 2002 18:46:42 GMT
Message-ID: <fa.m9ecd2v.17g29ov@ifi.uio.no>

On Tue, 13 Aug 2002, Rob Landley wrote:
>
> > Having a license that explicitly states that people who
> > contribute and use Linux shouldn't sue you over it might
> > prevent some problems.
>
> Such a clause is what IBM insisted on having in ITS open source license.  You
> sue, your rights under this license terminate, which is basically automatic
> grounds for a countersuit for infringement.

Note that I personally think the "you screw with me, I screw with you"
approach is a fine one. After all, the GPL is based on "you help me, I'll
help you", so it fits fine.

However, it doesn't work due to the distributed nature of the GPL. The FSF
tried to do something like it in the GPL 3.0 discussions, and the end
result was a total disaster. The GPL 3.0 suggestion was something along
the lines of "you sue any GPL project, you lose all GPL rights". Which to
me makes no sense at all - I could imagine that there might be some GPL
project out there that _deserves_ getting sued(*) and it has nothing to do
with Linux.

		Linus

(*) "GNU Emacs, the defendent, did inefariously conspire to play
towers-of-hanoy, while under the guise of a harmless editor".



From: torvalds@penguin.transmeta.com (Linus Torvalds)
Newsgroups: comp.os.linux.advocacy
Subject: Re: 2.5 kernel performance graph
Message-ID: <aqn4es$gph$1@penguin.transmeta.com>
Date: Mon, 11 Nov 2002 02:25:32 +0000 (UTC)

In article <o7jz9.36836$Dc4.149586@rwcrnsc51.ops.asp.att.net>,
Erik Funkenbusch <erik@despam-funkenbusch.com> wrote:
>
>Why is it a bad thing?  Fragmentation is what nearly caused the death of
>Unix during the late 80's and early 90's.  What happens when those trees
>start diverging even more, and suddenly start having incompatible API's?

Fragmentation per se is not bad.  Fragmentation without any way to merge
good features _back_ from different fragments is what killed UNIX: it
caused everybody to make a half-assed job at copying each others
features, wasting everybody's time, and causing nobody to be able to do
a very good job.

That's why the GPL is important.  It doesn't disallow fragmentation (in
fact, _anybody_ can fork/fragment the source base thanks to the GPL),
but the thing it really requires is that you can always merge back good
features from those other fragmented trees.

In other words, with the GPL you can fork the project all you want,
_without_ ending up in the mess that UNIX was in the late 80's and 90's.
Because with Linux every vendor can concentrate on what they think is
important, yet still merge back the stuff that other vendors have done.

So don't fear forks and fragmentation.  Forks are what keeps developers
honest.  If I make a bad decision, a fork is what others who disagree
with me can do to show the world that I screwed up.

			Linus


Newsgroups: fa.linux.kernel
From: Larry McVoy <lm@bitmover.com>
Subject: Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]
Original-Message-ID: <20031006012212.GA14646@work.bitmover.com>
Date: Mon, 6 Oct 2003 01:29:42 GMT
Message-ID: <fa.gh4r2jt.1u4av1v@ifi.uio.no>

On Sun, Oct 05, 2003 at 09:34:40PM +0100, David Woodhouse wrote:
> The GPL says you may use the kernel _itself_ but only with certain
> restrictions.
>
> My claim is that the GPL forbids you from loading a non-GPL'd module.
> Not that if you do so, the non-GPL'd module becomes a derived work, but
> that in doing do you are violating the licence under which you received
> the _kernel_ and hence you must immediately cease using the _kernel_.

Your claim is not, as far as I know, supported by the law or the GPL
itself.

GPL v2 section 2:
    "These requirements apply to the modified work as a whole.
    If identifiable sections of that work are not derived from the
    Program, and can be reasonably considered independent and separate
    works in themselves, then this License, and its terms, do not apply"

That leaves the question of what "can be reasonably considered independent
and separate works".  I've both heard about other companies researching
this and I've done it myself.  The lawyers came to the same conclusion,
independently.  In software, what constitutes an independent work is
something which can be pulled out and have another implementation dropped
in and the rest of the system can't tell the difference.

A very obvious boundary is user vs kernel, nobody here thinks that because
some application runs on a GPLed kernel that application is GPLed.
Some people here may _pretend_ they think that so that they can argue
that Linus made an "exception" for user land applications but that's
just self serving posturing and I'm sure those people know that (just
as I'm sure there will be 50 flaming replies saying that is not at all
what they think.  Politicians are the same everywhere).

Another boundary is a tarball.  If it weren't for the above clause of
the GPL then anything combined in a tarball with a GPLed work would be
considered GPLed.  Even RMS knew that wouldn't fly.

A less obvious boundary, and the one that got me into this, is the storage
of a GPLed source file in a source management system.  Does that mean that
the metadata used to store that file is GPLed?  At one point I was worried
about this (why?  Damn good question, in retrospect it is a "don't care",
I didn't create the metadata so I don't own it anyway so why do I care if
it is GPLed or not?  Whatever, at one point I cared).  I spent more than
a lot of you make in a year in legal fees looking into it and that's where
I learned about boundaries.  The law has pretty clear ideas about boundaries
and it doesn't matter what you think or I think or the GPL thinks, the
boundaries are there and the GPL can't cross them.  The conclusion of the
lawyers was that no, putting a GPLed file into an SCM system in no way
makes the SCM metadata GPLed.  BTW, I asked RMS about this and he of course
refused to accept that, his position is that the metadata would be GPLed,
nice to see he is consistent :)

A much more obvious example than the SCM one is a device driver or a module.
That's so cut and dried it isn't even open to debate in the eyes of the
law.  It's a hard and fast boundary, the GPL can't cross it no matter what
people think or want (on either side).

That's why I think that your claim is not supported, by the GPL or
(far more importantly) the law.  While I'm no lawyer I'm perhaps more
qualified than some people on this list since I've actually spent a pile
of money researching this.  I'm sure that someone with more money could
buy^H^H^Hpay some lawyers try and make an opposing view stick but I'm
equally sure that those of you without money don't have an iceballs'
chance in hell of making an opposing view stick.  Talk is cheap, legal
decisions are expensive.

Once again, please note that I don't make money off the kernel or any other
GPLed product (we ship diff & patch with BK but we also provide source for
all our changes, they aren't substantial nor are they money makers).  So I
have no vested interest in which way this works out.  I'm simply passing on
what I've learned, I'm more or less one of you who has actually spent a lot
of money getting legal opinions on the topic.
--
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm


Newsgroups: fa.linux.kernel
From: Larry McVoy <lm@bitmover.com>
Subject: Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]
Original-Message-ID: <20031006015122.GB14646@work.bitmover.com>
Date: Mon, 6 Oct 2003 01:52:38 GMT
Message-ID: <fa.gi4r3bs.1u4aups@ifi.uio.no>

On Sun, Oct 05, 2003 at 06:37:18PM -0700, David Lang wrote:
> not to disagree with Larry in what he posted below, but there is nothing
> in what he says that at all means that if you paste in code from one side
> of a barrier to the other side the result doesn't need to be GPL'd

Agreed.  If you are making a derived work, and pasting in stuff from a
GPLed source, your work is definitely derived and you are GPLed.  And I'd
be with everyone else ripping you a new one if you didn't GPL it.

I hope people understand that I respect the GPL and what it has accomplished.
It's a great thing.  People should not abuse it.  My comments which may seem
against that are legal in their basis, not my personal goals.
--
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm


Newsgroups: fa.linux.kernel
From: Larry McVoy <lm@bitmover.com>
Subject: Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]
Original-Message-ID: <20031006183857.GA3508@work.bitmover.com>
Date: Mon, 6 Oct 2003 18:42:28 GMT
Message-ID: <fa.hipgnnt.vmgka1@ifi.uio.no>

On Mon, Oct 06, 2003 at 08:28:46PM +0200, Pascal Schmidt wrote:
> On Mon, 06 Oct 2003 03:40:05 +0200, you wrote in linux.kernel:
>
> > A much more obvious example than the SCM one is a device driver or a module.
> > That's so cut and dried it isn't even open to debate in the eyes of the
> > law.  It's a hard and fast boundary, the GPL can't cross it no matter what
> > people think or want (on either side).
>
> Huh? How is a driver an independent work under the definition you gave?
> I can't take the Linux kernel out and insert the driver into another
> kernel and have it still work. Only the opposite is true - the kernel
> would run without the driver, and therefore the kernel is not a derived
> work of the driver and can't be subject to license terms of the driver.

The thing that is trying to cross the boundary is the kernel license
so what matters is if the thing which you believe should be GPLed is
separable or not.

> The kernel doesn't have a defined interface for drivers. It changes a
> lot at least during a development series. A driver is not independent from
> the kernel running under it because it has to be changed quite often to
> adapt to the changing internal kernel interfaces.

That has no bearing on the legalities.  A version of the kernel can't
force the GPL on a driver that works with that version of the kernel
because you can pull that driver out and drop in another.  A great example
is the eepro driver, there is Becker's version and the Intel version.
Any judge who wasn't fooled by Microsoft priced lawyers would clearly
see the boundary and make a ruling that the GPL can't cross over it.

By the way, many people here want to argue against this point of view
because they are pro GPL.  OK, fine, maybe you can change the laws
and make that stick.  I very much doubt it but let's suppose you do.
By doing that you will be supporting SCO's legal case.  If the GPL can
cross over those boundaries than so can SCO's license.  You can't have
one set of rules for you and another set of rules for them, you have to
apply them to everyone.

When you understand that you will understand more clearly why I bother to
comment on this at all.
--
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm


Newsgroups: fa.linux.kernel
From: Larry McVoy <lm@bitmover.com>
Subject: Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]
Original-Message-ID: <20031007005657.GA11759@work.bitmover.com>
Date: Tue, 7 Oct 2003 00:59:05 GMT
Message-ID: <fa.gjl92k3.1sksvhr@ifi.uio.no>

On Mon, Oct 06, 2003 at 11:29:42PM +0200, Olivier Galibert wrote:
> On Mon, Oct 06, 2003 at 11:38:57AM -0700, Larry McVoy wrote:
> > That has no bearing on the legalities.  A version of the kernel can't
> > force the GPL on a driver that works with that version of the kernel
> > because you can pull that driver out and drop in another.  A great example
> > is the eepro driver, there is Becker's version and the Intel version.
> > Any judge who wasn't fooled by Microsoft priced lawyers would clearly
> > see the boundary and make a ruling that the GPL can't cross over it.
>
> So you're saying the LGPL and the GPL mean the same thing for
> libraries?  That, for instance, you can handle Qt as if it was LGPL?

I think so, I'm afraid.  I know that this view of the law isn't what
people think is true and the end result may well be a court case which
tests it.

You can sort of see how the logic works.  There has to be some sort
of boundary, right?  Does anyone really think that if Linus hadn't
said that the GPL doesn't cross over to the user apps that the GPL
really would have crossed over?  So if there is a boundary concept,
how do you define what a boundary is?  Is that left to each license or
is that part of the law?  As far as I can tell, that's part of the law,
it has a concept of a boundary already.  The lawyers got a little squirmy
around this part and I got the sense that what is a boundary is not
universally established.  But everyone seemed to think that allowing
licenses which bleed over into "unrelated" stuff is about as legal as
contracts imposing human slavery, i.e., both are not legal.

It's certainly not a done a deal, I think that sooner or later there will
be some court case that establishes the case law on which all future
cases will be based.  The people I know who care about the GPL dread
this case because the GPL has sort of had it both ways for a long time
and that can't continue.  If you want the law to be that SCO can't claim
all the IP that was built on top of the original Unix then that same law
also says that the GPL can't claim dominion over separable works either.

I can also image that the Qt people are less than thrilled with what I'm
saying because it basically invalidates the GPL-ed library or pay for a
non-GPLed version business model.

All of what I say should be taken with a grain of salt.  Yeah, I've spent
money trying to understand this and I perhaps understand more than some
people here (maybe a lot of people in this instance).  That doesn't mean
what I say is right.  If you really care, if your business depends on
it, you need to get a lawyer to work through the issues.  Right now,
I think the side with the deeper pockets would win, so even though I'm
pointing at what I think will be the long term outcome, I'm not sure I'd
bet the farm on that.  How's that for weasel words?
--
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm


Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@osdl.org>
Subject: Re: Linux 2.6.8-rc3 - BSD licensing
Original-Message-ID: <Pine.LNX.4.58.0408041146070.24588@ppc970.osdl.org>
Date: Wed, 4 Aug 2004 18:54:41 GMT
Message-ID: <fa.itnpn0b.13kkarv@ifi.uio.no>

On Wed, 4 Aug 2004, Fruhwirth Clemens wrote:
>
> As a matter of principle I do not add additional restrictions as respect
> for the original author's efforts. But James, David or Linus might do
> that, and by accident choose these additional restrictions to be like
> those of the GPL. I would understand such action as I'd would like to
> see that every kernel code is protected by the GPL.

That's not actually what we did. I refused the code originally because I
didn't feel that Gladman's license was a proper subset of the GPL. I only
accepted it after dual-licensing under the GPL had been ok'd by Dr Brian
Gladman himself.

Note that the kernel is perfectly fine with dual-licensing: there's a
number of drivers in the kernel that can be distributed either under BSD
or GPL licenses. I hate adding restrictions too, so when we have a mix of
licenses, I much prefer allowing _both_ for that piece of code. That's why
the current aes-i586-asm.S file has

//  ALTERNATIVELY, provided that this notice is retained in full, this product
//  may be distributed under the terms of the GNU General Public License (GPL),
//  in which case the provisions of the GPL apply INSTEAD OF those given above.

Of course, the kernel itself always uses the GPL version, but dual
licensing is how we can allow certain drivers to be maintained across
Linux and the BSD's (or other projects, for that matter). No need to
duplicate work that way.

		Linus


Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@osdl.org>
Subject: Re: Linux 2.6.8-rc3 - BSD licensing
Original-Message-ID: <Pine.LNX.4.58.0408041251060.24588@ppc970.osdl.org>
Date: Wed, 4 Aug 2004 19:58:58 GMT
Message-ID: <fa.itnpn86.13kgajo@ifi.uio.no>

On Wed, 4 Aug 2004, Fruhwirth Clemens wrote:
>
> I don't view the FSF as sort of last instance, but just for the
> protocol: The exact wording of this license is labeled 'GPL-compatible'
> by the FSF. Imho, this makes it a subset.

Ahh. Fair enough. I didn't have any lawyer look at it, I just don't like
assuming.

> Additional coding, no problem, but additional social work, I'd prefer
> not to be involved with. As there is no legal requirement, such efforts
> would just make a good appearance.

I'd much rather do the social work, not so much necessarily for legal
reasons, but for my own mental well-being. It's just _so_ much nicer to
work with a code-base where none of the authors might complain about being
included.

So even if the original license is GPL-compatible, just the fact that Jari
doesn't want his work re-licensed means that I don't want his work in the
kernel - whether it's a legal issue or not.

Now, I obviously believe that Jari has acted like an ass, since he has
used the very same code under the GPL before, but hey, that's his problem.

Jari - please stop distributing your loop-aes patches. If you consider the
license to be non-GPL-compatible, then you have no business distributing
the thing as kernel patches. Alternatively, just say it's GPL'd. You can't
have it both ways.

		Linus


Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@osdl.org>
Subject: Re: Linux 2.6.8-rc3 - BSD licensing
Original-Message-ID: <Pine.LNX.4.58.0408050941590.24588@ppc970.osdl.org>
Date: Thu, 5 Aug 2004 16:57:37 GMT
Message-ID: <fa.ivodn07.11koarp@ifi.uio.no>

On Thu, 5 Aug 2004, Jari Ruusu wrote:
>
> Most of the files in loop-AES are licensed under GPL. Some files have less
> restrictive license, but are still licensed under GPL-compatible license.
> I am not aware of any files in loop-AES that are GPL-incompatible.

You're saying that you consider Gladman's original AES license to be
GPL-compatible (ie a subset of it)? That's fine - apparently the FSF
agrees.

However, that is incompatible with you then complaining when it gets
released under the GPL. If the original license was a proper subset of the
GPL, then it can _always_ be re-released under the GPL, and you don't have
anything to complain about.

So which is it? Either it's GPL-compatible or it isn't. If it is
GPL-compatible, why are you making noises? And if it is not, why are you
claiming that you can distribute loop-AES as a GPL'd project?

You seem to be very very confused, Jari. There really _are_ only these two
cases:

 - the AES code is GPL-compatible

   This fundamentally means that it has no more restrictions than the GPL,
   and that in turn means that it can always be re-licensed as GPL'd code.
   Which James Morris did (well, it was dual-licensed, but the only
   license that matters for the _kernel_ is the GPL).

   In this case, you can't say "you can't do that". I'm sorry, but James
   _can_ do that, and it is _you_ who can't do that.

 - the AES code is _not_ GPL compatible.

   This fundamentally means that you can't relicense it under the GPL, but
   it _also_ means that you can't link it with GPL code, since the GPL
   _requires_ that the code be under the GPL. In this case, loop-AES was
   always wrong and lying about being GPL'd, and you should stop
   distributing it immediately.

You can't have it both ways. And there aren't any third alternatives.

Explain yourself.

		Linus



Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@osdl.org>
Subject: Re: Linux 2.6.8-rc3 - BSD licensing
Original-Message-ID: <Pine.LNX.4.58.0408060918320.24588@ppc970.osdl.org>
Date: Fri, 6 Aug 2004 16:46:58 GMT
Message-ID: <fa.iunvm8f.12kebjj@ifi.uio.no>

On Fri, 6 Aug 2004, Jari Ruusu wrote:
>
> Linus, you are mixing two completely different rights here;
> re-distribution right and re-licensing right.

Ehh.. You're wrong.

Copyright law has nothing to do with "licensing". In fact, if you actually
read copyright law, you will find that the _only_ thing that it's about is
the right to distribute a work and the right to make derived works.

(Side note: there are also certain "right of attribution" etc, but that's
still not about re-licensing and those are about the author, not the owner
of the copyright).

In other words, being the "owner" of a work has nothing to do with the
right to "relicence".

Being able to license somebody else to distribute the work does NOT
require ownership. It only requires a _license_ to do so. You can keep
owning your copyright, and let somebody else distribute the copy for you
by liccensing him to do that.

And a license like the BSD license that allows very broad rights to
_everybody_ means that pretty much everybody can not only distribute it,
but since the BSD license doesn't even limit how they re-distribute it,
you can distribute it with some additional requirements of your own.

Why do you think Microsoft etc can take BSD code and then slap their EULA
on it? Right. They were given the right to distribute.

> Original license grants
> you GPL-compatible re-distribution rights, which means that the code can
> be distributed and linked with GPL code just fine.

You clearly do not know what you're talking about.

You haven't even read the GPL, have you?

The GPL doesn't say "you can link this with a GPL-compatible license". It
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.

Notice? It says "this License". Not "this license or some more permissive
license".

The ONLY license you can use to create a GPL derivative is the GPL itself.

And the way "GPL-compatible" licenses work is _exactly_ because these
licenses are "weaker" than the GPL, and as such can always be _relicensed_
as the GPL.

THAT IS WHAT GPL-COMPATIBLE MEANS!

So when you claim that the code isn't GPL-compatible, and at the same time
claim that we can't re-license it under the GPL, you are very very
confused indeed. Either it is GPL-compatible, or it is not. And if it is
GPL-compatible, that ABSOLUTELY means that it can be relicensed under the
GPL.

Comprende?

Anyway, the point is moot.  We've removed the code you touched, and I'm
about to apply the new version that is based on Gladman's code (I did the
conversion myself, and James Morris did the final stuff and the
integration with the rest of the code).

And we did that not for legal reasons, but because quite frankly, I don't
want to have _anything_ to do with somebody as confused as you are.

			Linus


Newsgroups: fa.linux.kernel
From: Linus Torvalds <torvalds@osdl.org>
Subject: Re: Linux 2.6.8-rc3 - BSD licensing
Original-Message-ID: <Pine.LNX.4.58.0408071025510.24588@ppc970.osdl.org>
Date: Sat, 7 Aug 2004 17:30:26 GMT
Message-ID: <fa.j07bmgd.114qbbv@ifi.uio.no>

On Sat, 7 Aug 2004, Jari Ruusu wrote:
> >
> > Ehh.. You're wrong.
>
> Yep. I goofed.

Hey, Welcome back, Jari.

It's easy to be wrong. It's much harder to come out and say so.

Let's leave this spat behind us. Friends?

		Linus


From: Theodore Ts'o <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: Linux in a binary world... a doomsday scenario
Date: Tue, 06 Dec 2005 19:17:54 UTC
Message-ID: <fa.d38nemu.1pl4ure@ifi.uio.no>
Original-Message-ID: <20051206181919.GA19905@thunk.org>

On Mon, Dec 05, 2005 at 08:12:16PM -0800, Greg KH wrote:
> On Mon, Dec 05, 2005 at 03:56:06PM -0800, Tim Bird wrote:
> > DISCLAIMER: I'm not speaking for Sony here. Personally
> > I don't believe that most drivers are derivative works
> > of the operating systems they run with, and I don't
> > believe it helps Linux to assert that they are.
> > But, hey, it's not my kernel, and not my plan for
> > world domination. ;-)
>
> Why do people bring up the "derivative works" issue all the time.  Are
> they so blind to the very simple "linking" issue that all kernel modules
> do when they are loaded into the kernel?

The linked kernel+module combination is pretty clearly a derived work
(but I am not a lawyer).  However, that never gets *distributed* and
the GPL only covers distribution rights.

The question of whether or not something which *could* be linked into
the kernel is a derived work is a very different question, and if
taken too far, an advocate of this interpretation starts advocating
something very close to interface copyrights --- something which I
will note the FSF is passionately against when they called a boycott
on companies such as Lotus many years ago.

But this is very much off-topic for this list.  I suggest that folks
talk to Larry Rosen for his view on this issue, if they want a
balanced counterpoint to that pushed by the FSF.

							- Ted


From: Theodore Ts'o <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: Linux in a binary world... a doomsday scenario
Date: Tue, 06 Dec 2005 19:38:49 UTC
Message-ID: <fa.d3o9f6t.1o5mubf@ifi.uio.no>
Original-Message-ID: <20051206193801.GC19905@thunk.org>

On Tue, Dec 06, 2005 at 07:27:42PM +0000, Alan Cox wrote:
> On Maw, 2005-12-06 at 13:19 -0500, Theodore Ts'o wrote:
> > The question of whether or not something which *could* be linked into
> > the kernel is a derived work is a very different question
>
> Its also a question that falls into the area of conspiracy to commit an
> offence in some legal domains rather than being about 'interface
> copyright'.

Conspiracy to commit what offence?  There's nothing wrong with linking
GPL'ed code with proprietary code, in the privacy of your own home (or
server).  The offence only happens when you distribute the resulting
derived work....

						- Ted


From: Theodore Ts'o <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: Linux in a binary world... a doomsday scenario
Date: Tue, 06 Dec 2005 20:53:43 UTC
Message-ID: <fa.d389e6j.1olmtb9@ifi.uio.no>
Original-Message-ID: <20051206205306.GA23408@thunk.org>

On Tue, Dec 06, 2005 at 08:18:27PM +0000, Alan Cox wrote:
> On Maw, 2005-12-06 at 14:38 -0500, Theodore Ts'o wrote:
> > Conspiracy to commit what offence?  There's nothing wrong with linking
> > GPL'ed code with proprietary code, in the privacy of your own home (or
> > server).  The offence only happens when you distribute the resulting
> > derived work....
>
> In many countries moving the data from hard disk to memory is copying,
> ditto to cache, and that is established caselaw.

Ah, but the GPL hangs its requirements off of "distribution", not
copying per se.  Also note the following statement from the GPL:

	"The act of running the Program is not restricted"

But this is not legal advice, and I am not a lawyer; anyone who is
wants to figure out what they can or can't do shouldn't be talking to
either Alan or me; they should be talking to a real, live lawyer.

							- Ted


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Wed, 25 Jan 2006 22:41:13 UTC
Message-ID: <fa.X+K26SCYZlK0Mv41CP+NTE5QVws@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601251728530.2644@evo.osdl.org>

On Wed, 25 Jan 2006, Chase Venters wrote:
>
> This means that when the code went GPL v1 -> GPL v2, the transition was
> permissible. Linux v1.0 shipped with the GPL v2. It did not ship with a
> separate clause specifying that "You may only use *this* version of the GPL"
> as it now does. (I haven't done any research to find out when this clause was
> added, but it was after the transition to v2).

Bzzt. Look closer.

The Linux kernel has _always_ been under the GPL v2. Nothing else has ever
been valid.

The "version 2 of the License, or (at your option) any later version"
language in the GPL copying file is not - and has never been - part of the
actual License itself. It's part of the _explanatory_ text that talks
about how to apply the license to your program, and it says that _if_ you
want to accept any later versions of the GPL, you can state so in your
source code.

The Linux kernel has never stated that in general. Some authors have
chosen to use the suggested FSF boilerplate (including the "any later
version" language), but the kernel in general never has.

In other words: the _default_ license strategy is always just the
particular version of the GPL that accompanies a project. If you want to
license a program under _any_ later version of the GPL, you have to state
so explicitly. Linux never did.

So: the extra blurb at the top of the COPYING file in the kernel source
tree was added not to _change_ the license, but to _clarify_ these points
so that there wouldn't be any confusion.

The Linux kernel is under the GPL version 2. Not anything else. Some
individual files are licenceable under v3, but not the kernel in general.

And quite frankly, I don't see that changing. I think it's insane to
require people to make their private signing keys available, for example.
I wouldn't do it. So I don't think the GPL v3 conversion is going to
happen for the kernel, since I personally don't want to convert any of my
code.

> If a migration to v3 were to occur, the only potential hairball I see is if
> someone objected on the grounds that they contributed code to a version of the
> kernel Linus had marked as "GPLv2 Only". IANAL.

No. You think "v2 or later" is the default. It's not. The _default_ is to
not allow conversion.

Conversion isn't going to happen.

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Sat, 28 Jan 2006 04:40:32 UTC
Message-ID: <fa.N/kSynF2oLnBzRdB3pOV6WnzMMs@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601272333070.2909@evo.osdl.org>

On Fri, 27 Jan 2006, Simon Oosthoek wrote:
>
> I'm not sure this is the correct interpretation of the current draft. I
> assume you're referring to this part:
>
> [ snipped ]

Yes.

> I'd interpret that as forcing people who try to hide their code or make it
> difficult to get at the source code to not be able to do that.

IF that is the legal interpretation, then yes, I'd agree with you. And no,
I'm not a lawyer. However, the way I read it, it's not about just not
being able to hide the object code - it's fundamentally about being able
to replace and run the object code.

I may indeed be reading it wrong, but I don't think I am. It explicitly
says "install and/or execute".

So I think it says that if I have a private signing key that "enables" the
kernel on some hardware of mine, GPLv3 requires that private key to be
made available for that hardware. Note how that is tied to the _hardware_
(or platform - usualyl the checking would be done by firmware, of course),
not the actual source code of the program.

And that's really what I don't like. I believe that a software license
should cover the software it licenses, not how it is used or abused - even
if you happen to disagree with certain types of abuse.

I believe that hardware that limits what their users can do will die just
because being user-unfriendly is not a way to do successful business. Yes,
I'm a damned blue-eyed optimist, but I'd rather be blue-eyed than consider
all uses of security technology to necessarily always be bad.

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Sat, 28 Jan 2006 05:23:55 UTC
Message-ID: <fa.CxpbXsvdhrVYv564tItPX9dIFKc@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601280001000.2909@evo.osdl.org>

On Fri, 27 Jan 2006, Linus Torvalds wrote:
>
> This is basic copyright law, btw, and has nothing to do with the GPL per
> se. If you don't have a license, you don't have any copyright AT ALL.

This is really important, btw.

Yes, when we speak colloquially we talk about the fact that Linux is
licensed "under the GPL", but that is _not_ how anybody actually has ever
gotten a license legally. The ONLY way anybody has ever legally licensed
Linux is either with the original very strict copyright _or_ thanks to the
COPYING file. Nothing else really matters.

So the version of the GPL has always been explicit. At no point has the
kernel been distributed without a specific version being clearly mentioned
in the ONLY PLACE that gave you rights to copy the kernel in the first
place. So either you knew it was GPLv2, or you didn't have the right to
copy it in the first place.

In other words, Linux has _never_ been licensed under anything but the GPL
v2, and nobody has _ever_ gotten a legal Linux source distribution with
anything but a complete copy of GPLv2 license file.

So when I say that the additions at the top of the COPYING file are
nothing but clarifications, I'm not just making that up. Anybody who
claims that any Linux kernel I've ever made has ever been licensed under
anything else than those exact two licenses is just not correct.

And Alan, I know we've had this discussion before. You've claimed before
that my clarifications are somehow "changing" the license, and I've told
you before that no, they don't change the license, they just clarify
things that people keep on getting wrong, or keep on being nervous about.

So people can argue all they want about this. But unless you get a real
legal opinion (not just any random shyster - a real judge making a
statement, or a respected professional who states his firm legal opinion
in no uncertain terms), I don't think you have a legal leg to stand on.

But no, IANAL. I'd be willing to bet real money that a real lawyer would
back me up on this, though.

			Linus

---

PS. Just out of historical interest, the only other copyright license ever
distributed with the kernel was this one:

 "This kernel is (C) 1991 Linus Torvalds, but all or part of it may be
  redistributed provided you do the following:

	- Full source must be available (and free), if not with the
	  distribution then at least on asking for it.

	- Copyright notices must be intact. (In fact, if you distribute
	  only parts of it you may have to add copyrights, as there aren't
	  (C)'s in all files.) Small partial excerpts may be copied
	  without bothering with copyrights.

	- You may not distibute this for a fee, not even "handling"
	  costs.

  Mail me at "torvalds@kruuna.helsinki.fi" if you have any questions."

and that one was only valid between kernel versions 0.01 and 0.12 or
something like that.


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Sat, 28 Jan 2006 01:34:03 UTC
Message-ID: <fa.FGunsmBZJjEY8vdiohm6tKu/kJU@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601271948340.3192@evo.osdl.org>

On Thu, 26 Jan 2006, Marc Perkel wrote:
>
> Just for clarification. What you are saying is that anyone who insists on
> contributing to the kernel under GPLv3 - that code would be prohibited from
> being included in the kernel? That to contribute to the kernel you must
> contribute under the terms presently in place?

No. We actually have a lot of code that is more widely licensed than just
GPLv2. There's the GPL/BSD code, and there's a lot of files that have the
".. or any later version" addendum which means that they are GPLv3
compatible.

The only thing that the kernel requires is that since the majority of the
code is actually GPLv2-only, that in order for you to be able to link with
the code, your license has to be GPLv2-compatible.

A "GPLv3 _only_" license is not compatible with GPLv2, since v3 adds new
limitations to re-distribution. But what you can do is to dual-license the
code - the same way we've had GPL/BSD dual licenses. Of course, that
effectively becomes the same as "GPLv2" with the "any later version"
clause, but if you like the v3 in _particular_, you can actually mention
it specifically (ie you can dual-license under "v2 _or_ v3", but without
the "any later version" wording if you want).

Note that the Linux kernel has had the clarification that the "by default,
we're version-2 _only_" for a long time, and that limitation is not a new
thing.

You can argue that I should have made that clear on "Day 1" (back in 1992,
when the original switch to the GPL happened), but the fact is, all of the
development for the last five or more years has been done with that "v2
only, unless otherwise stated" (I forget exactly when it happened, but it
was before we even started using BK, so it's a loong time ago).

Also, this has been discussed before, and anybody who felt that they
didn't want to have the "v2 only" limitation has been told to add the "or
any later version" thing to their own code, so nobody can claim that I
restricted their licensing.

So to recap:

 - Linux has been v2-only for a _loong_ time, long before there was even
   any choice of licenses. That explicit "v2 only" thing was there at
   least for 2.4.0, which is more than five years ago. So this is not some
   sudden reaction to the current release of GPLv3. This has been there
   quite _independently_ of the current GPLv3 discussion.

 - if you disagree with code you write, you can (and always have been
   able) to say so, and dual-license in many different ways, including
   using the "or later version" language. But that doesn't change the fact
   that others (a _lot_ of others) have been very much aware of the "v2
   only" rule for the kernel, and that most of the Linux kernel sources
   are under that rule.

 - People argue that Linux hasn't specified a version, and that by virtue
   of paragraph 9, you'd be able to choose any version you like. I
   disagree. Linux has always specified the version: I don't put the
   license in the source code, the source code just says

	Copyright (C) 1991-2002 Linux Torvalds

   and the license is in the COPYING file, which has ALWAYS been v2. Even
   before (for clarification reasons) it explicitly said so.

   In other words, that "if no version is mentioned" simply isn't even an
   argument. That's like arguing that "if no license is mentioned, it's
   under any license you want", which is crap. If no license is mentioned,
   you don't have any license at all to use it. The license AND VERSION
   has always been very much explicit: linux/COPYING has been there since
   1992, and it's been the _version_2_ of the license since day 1.

   People can argue against that any way they like. In the end, the only
   way you can _really_ argue against it is in court. Last I saw,
   intentions mattered more than any legalistic sophistry. The fact that
   Linux has been distributed with a specific version of the GPL is a big
   damn clue, and the fact that I have made my intentions very clear over
   several years is another HUGE clue.

 - I don't see any real upsides to GPLv3, and I do see potential
   downsides. Things that have been valid under v2 are no longer valid
   under v3, so changing the license has real downsides.

Quite frankly, _if_ we ever change to GPLv3, it's going to be because
somebody convinces me and other copyright holders to add the "or any later
license" to all files, just because v3 really is so much better. It
doesn't seem likely, but hey, if somebody shows that the GPLv2 is
unconsitutional (hah!), maybe something like that happens.

So I'm not _entirely_ dismissing an upgrade, but quite frankly, to upgrade
would be a huge issue. Not just I, but others that have worked on Linux
over the last five to ten years would have to agree on it. In contrast,
staying with GPLv2 is a no-brainer: we've used it for almost 15 years, and
it's worked fine, and nobody needs any convincing.

And that really is a big issue: GPLv2 is a perfectly fine license. It has
worked well for us for fourteen years, nothing really changed with the
introduction of GPLv3. The fact that there is a newer license to choose
from doesn't detract from the older ones.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Sat, 28 Jan 2006 23:16:17 UTC
Message-ID: <fa.mSNZRyDJanFPR4jsVjq8gHA73Ag@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601281805300.3812@evo.osdl.org>

On Sat, 28 Jan 2006, Al Viro wrote:
> >
> > 	- You may not distibute this for a fee, not even "handling"
> > 	  costs.
> >
> >   Mail me at "torvalds@kruuna.helsinki.fi" if you have any questions."
> >
> > and that one was only valid between kernel versions 0.01 and 0.12 or
> > something like that.
>
> Interesting...  What does that do to e.g. DVD with full (OK, modulo missing
> early versions) kernel history all way back to 0.01?

Well, the good news is that I was the only real copyright holder back then
(there's a couple of other people who contributed to 0.11 and/or 0.12,
mainly Ted T'so with the BSD terminal control stuff - ^Z and friends).

I used to even re-write patches to suit my style (this was back then, the
patches were smaller, and I was younger and had more energy). So some
things that others sent in patches for (I think Peter McDonald did pty's)
I ended up re-writing myself (and in the process I mixed up the master and
slave pty major number, iirc ;)

> Even funnier question is what does that do to full CVS including the
> early versions.  Can that be distributed at all and what license would
> fit it?  Arguing that it's mere aggregation is possible, but it's a
> bit of a stretch...

I think you can take it for granted that the GPL re-licensing was
retro-active. I'm the sole copyright holder for 99% of it, and there were
no objections to the relicensing even back when it happened, so I can
pretty much guarantee that there would be none now ;)

It was a kind of strange license. I didn't spend a whole lot of time
thinking about it ;)

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Tue, 31 Jan 2006 20:43:30 UTC
Message-ID: <fa.PsTydDFB5FF1BrP9mUgxvWqStXM@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601311152070.7301@g5.osdl.org>

On Tue, 31 Jan 2006, Jeff V. Merkey wrote:
>
> > I did _not_ put that language in, which is the whole point.
>
> If you can provide this beyond all doubt, then I agree you have a solid
> basis to object.

It's really easy to prove.

Look at core kernel source code today, and look at it 10 years ago. Look
at it 15 years ago. Nothing has changed.

The really core files have copyright notices like this:

	/*
	 *  kernel/sched.c
	 *
	 *  Kernel scheduler and related syscalls
	 *
	 *  Copyright (C) 1991-2002  Linus Torvalds
	...

with absolutely no mention of any license rights at all. Not "this is
under the GPL", not "GPLv2 or later". The _only_ license rights anybody
ever had to those files come from the COPYING file, which very clearly
states that it's "version 2, 1991"

(And yes, I'm a lazy bastard. I don't update the years. Some of the files
I wrote still say "1991, 1992" even though they've obviously been edited
since by me. If they fall into the public domain a couple of years
earlier, I really don't see myself caring, since I will have been dead for
a long while by that time _anyway_, judging by the current copyright
nonsense).

[ Side note: the _core_ kernel files are more universally GPL v2-only than
  the rest of the kernel. So for example, while almost a third of all C
  files have the "any later version" notice in them, when you look at just
  the core files in kernel/ mm/ fs/, it's a _lot_ less rare. For example,
  in fs/*.c, it's only two files out of 57, and those aren't even the most
  core files.

  So _qualitatively_, a lot more than "just" two thirds of the kernel are
  based on my core files, and are GPLv2 _only_. The "..any later version"
  stuff tends to exist mostly in drivers (and some filesystems: 9pfs,
  afs, autofs, cifs, jfs, ntfs, ocfs2 have the "any later version" in
  them, but the most common ones do not, and are often derived
  (admittedly very indirectly, by now) from my original code. ]

> However, it being there does make the whole arguments
> nebulous. I would suggest removing any such language from kernel.org and
> state GPLv2 ONLY.

The COPYING file was edited (over _five_ years ago) to clarify the issue,
exactly because some people were confused. So the COPYING file now
explicitly says:

 Also note that the only valid version of the GPL as far as the kernel
 is concerned is _this_ particular version of the license (ie v2, not
 v2.2 or v3.x or whatever), unless explicitly otherwise stated.

and that has been the case for the last 5+ years.

(Another clarification is even older: the clarification that using "normal
system calls" is _not_ considered linking, and thus the GPL doesn't infect
any normal user-level programs. That one is over ten years old, since some
people seriously worried about it. Again, it was really pretty obvious
from the license itself, but the clarification made the question stop and
made some people stop worrying unnecessarily).

Alan argues that that extra notice "changed" the license (and that any
code that is older than 5 years would somehow not be GPLv2). I argue
otherwise. I argue that for the whole history, Linux has been v2-only
unless otherwise explicitly specified.

And I don't think even Alan will argue that the "v2 only" thing hasn't
been true for the last five years.

> I was also under the impression based on the language "any later license"
> and I am a very bright chap. So if I got it wrong, then imagine how many other
> folks are likely to be confused.

Exactly. That's why I added the clarification on top of the COPYING file:
people _have_ been confused.

That confusion doesn't stem from Linux, btw, but from the FSF distribution
of the GPLv2 license itself. The license is distributed as one single
file, which actually contains three parts: (1) the "preamble", (2) the
actual license itself and (3) the "How to Apply These Terms to Your New
Programs" mini-FAQ.

And that third part actually contains the wording "(at your option) any
later version.", but a lot of people seemed to not realize that this was
just part of a FSF-suggested boiler-plate on what to put in your source
files.  In other words, that was never actually part of the license
itself, but just a "btw, here's how you should use it" post-script.

A lot of people seemed to be confused by that, and this is exactly why the
Linux COPYING file got the additional explanation.

(Side note: from a legal standpoint, "intent" does actually matter in the
US legal system. So the FSF can actually argue that their pre-amble and
their post-script to the license carry legal weight, because it shows
their _intent_. However, they can only argue that for programs that they
own copyright to, or when the license itself might be unclear - they can't
argue that it shows _my_ intent. I've made my intent very clear over the
years, and I've been consistent on this matter, so nobody can claim that
I've "changed the rules").

> Alan is trying to help you. I have never seen him do anything other than
> support you to the hilt. Sure, disagreements happen, but he is there for
> you and Linux and has been from day one.

Absolutely. And I actually try to be very open to changing my mind if
somebody has a valid point. Open source is absolutely not about just the
source code - it's very much about the process, and about (mostly the lack
of) control.

And hey, Alan tends to be mostly right in his concerns. Which is why he's
so respected in the community. I just think that he is off the deep end on
this one, and I have yet to see any actual convincing arguments for his
standpoint.

> Linus, remove all nebulous language and post a notice on kernel.org
> clarifying your position on this code, and I think the issue becomes
> closed.

The thing is, even the _clarification_ HAS BEEN THERE FOR 5 YEARS. At the
very top of the COPYING file.

This really is nothing new. How much more prominent can it be than be in
the top-level COPYING file that gets distributed with every single kernel
version?

> > Because let's face it, the burden on proof on changing the kernel license is
> > on _Alan_, not me. Alan is the one arguing for change.
>
> A change to GPLv3 would be a good thing for you.

A lot of people like the GPLv3. I personally don't _dislike_ the current
draft, but I don't think it's appropriate for the kernel. Part of why I
liked the GPL in the first place (v2 at that point, obviously - v3 hadn't
even been thought about) was that it put no restrictions at all on the
_use_ of binaries.

So I actually prefer the GPLv2. I don't think the current GPLv3 draft is
"evil" or "bad", or anything like that, but it's not the license I would
have selected when I started, and I don't see any reason to change to it
for the kernel.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Tue, 31 Jan 2006 22:27:51 UTC
Message-ID: <fa.T88+ZSQiqPZYEZ/faxfe9U21fPg@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0601311415510.7301@g5.osdl.org>

On Tue, 31 Jan 2006, Paul Jakma wrote:
>
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0009.1/0096.html
>
> Until you made that change, a reasonable person might have presumed that lack
> of version statement (no, the actual GPL license version at the top of the GPL
> itself does not count ;) ) would mean section 9 would have applied.

Actually, I don't think it was really debatable even before that, but yes,
I wanted to cover my ass. _Exactly_ because of that confusion over "any
version" in section 9.

IOW, it isn't a new confusion. It's an old confusion that I've always felt
was silly - and incorrect - and that I wanted to address explicitly,
exactly so that there wouldn't be any ambiguoity.

So I maintain that "version 2" has always been the version of the GPL as
it pertains to the kernel as far as I'm concerned, but exactly because
some other people have been confused, I wanted to make it not only
explicit, but also mention it publicly when the clarification was done, so
that people who _had_ been confused could just add in the necessary
verbiage so that code that they owned would fall under the license they
had _thought_ was the right one.

Note how I called it a "clarification" even back then. It wasn't a change
to make things GPLv2 - it was _clarifying_ that the kernel had always been
GPLv2, and acknowledging that there had indeed been confusion.

And hey, if people want to put the confusion at my door, go right ahead.
I'm just happy I did it five years ago, so that by _now_, things are
hopefully pretty damn clear-cut.

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Wed, 01 Feb 2006 22:31:50 UTC
Message-ID: <fa.6JyxY+mptH5EhqBRbUfMBu9BMwk@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0602011414550.21884@g5.osdl.org>

On Wed, 1 Feb 2006, Karim Yaghmour wrote:
>
> DRM is something worth fighting, but we need something that attacks the
> root problem, not its symptoms. In comparison, GPLv2 was indeed
> successful in that it attacked the root problem of software distribution
> freedom. How it may leverage that by introducing restrictions on symptoms
> of another problem still evades me.

Side note: the reason GPLv2 is so successful at fighting the root problem
of using copyright to fight restrictive copyrights is that it makes
"interesting material" available under a license that forbids further
restricting it.

I would suggest that anybody who wants to fight DRM practices seriously
look at the equivalent angle. If you create interesting content, you can
forbid that _content_ to ever be encrypted or limited.

In other words, I personally think that the anti-DRM clause is much more
sensible in the context of the Creative Commons licenses, than in software
licenses. If you create valuable and useful content that other people want
to be able to use (catchy tunes, funny animation, good icons), I would
suggest you protect that _content_ by saying that it cannot be used in any
content-protection schemes.

Afaik, all the Creative Commons licenses already require that you can't
use technological measures to restrict the rigts you give with the CC
licenses. The "Share Alike" license in particular requires all work based
on it to also be shared alike, ie it has the "GPL feel" to it.

If enough interesting content is licensed that way, DRM eventually becomes
marginalized. Yes, it takes decades, but that's really no different at all
from how the GPL works. The GPL has taken decades, and it hasn't
"marginalized" commercial proprietary software yet, but it's gotten to the
point where fewer people at least _worry_ about it.

As long as you expect Disney to feed your brain and just sit there on your
couch, Disney & co will always be able to control the content you see. DRM
is the smallest part of it - the crap we see and hear every day
(regardless of any protection) is a much bigger issue.

The GPL already requires source code (ie non-protected content). So the
GPL already _does_ have an anti-DRM clause as far as the _software_ is
concerned. If you want to fight DRM on non-software fronts, you need to
create non-software content, and fight it _there_.

I realize that programmers are bad at content creation. So many
programmers feel that they can't fight DRM that way. Tough. Spread the
word instead. Don't try to fight DRM the wrong way.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Thu, 02 Feb 2006 09:01:56 UTC
Message-ID: <fa.CXUvk93NRseM4TmFFqLq+9rCaOM@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0602020044520.21884@g5.osdl.org>

On Thu, 2 Feb 2006, Pierre Ossman wrote:
>
> The point is not only getting access to the source code, but also being able
> to change it. Being able to freely study the code is only half of the beauty
> of the GPL. The other half, being able to change it, can be very effectively
> stopped using DRM.

No it cannot.

Sure, DRM may mean that you can not _install_ or _run_ your changes on
somebody elses hardware. But it in no way changes the fact that you got
all the source code, and you can make changes (and use their changes) to
it. That requirement has always been there, even with plain GPLv2. You
have the source.

The difference? The hardware may only run signed kernels. The fact that
the hardware is closed is a _hardware_ license issue. Not a software
license issue. I'd suggest you take it up with your hardware vendor, and
quite possibly just decide to not buy the hardware. Vote with your feet.
Join the OpenCores groups. Make your own FPGA's.

And it's important to realize that signed kernels that you can't run in
modified form under certain circumstances is not at all a bad idea in many
cases.

For example, distributions signing the kernel modules (that are
distributed under the GPL) that _they_ have compiled, and having their
kernels either refuse to load them entirely (under a "secure policy") or
marking the resulting kernel as "Tainted" (under a "less secure" policy)
is a GOOD THING.

Notice how the current GPLv3 draft pretty clearly says that Red Hat would
have to distribute their private keys so that anybody sign their own
versions of the modules they recompile, in order to re-create their own
versions of the signed binaries that Red Hat creates. That's INSANE.

Btw, what about signed RPM archives? How well do you think a secure
auto-updater would work if it cannot trust digital signatures?

I think a lot of people may find that the GPLv3 "anti-DRM" measures aren't
all that wonderful after all.

Because digital signatures and cryptography aren't just "bad DRM". They
very much are "good security" too.

Babies and bathwater..

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Thu, 02 Feb 2006 17:45:44 UTC
Message-ID: <fa./AnETPFc+puSaNFC96vOK/YId7g@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0602020937360.21884@g5.osdl.org>

On Thu, 2 Feb 2006, Pierre Ossman wrote:
>
> So taking open software and closed hardware and combining it into something
> that I cannot modify is ok by you?

But you CAN modify the software part of it. You can run it on other
hardware.

It boils down to this: we wrote the software. That's the only part _I_
care about, and perhaps (at least to me) more importantly, because it's
the only part we created, it's the only part that I feel we have a moral
right to control.

I _literally_ feel that we do not - as software developers - have the
moral right to enforce our rules on hardware manufacturers. We are not
crusaders, trying to force people to bow to our superior God. We are
trying to show others that co-operation and openness works better.

That's my standpoint, at least. Always has been. It's the reason I
chose the GPL in the first place (and it's the exact same reason that I
wrote the original Linux copyright license). I do _software_, and I
license _software_.

And I realize that others don't always agree with me. That's fine. You
don't have to. But I licensed my project under a license _I_ agreed with,
which is the GPLv2. Others who feel differently can license under their
own licenses. Including, very much, the GPLv3.

I'm not arguing against the GPLv3.

I'm arguing that the GPLv3 is wrong for _me_, and it's not the license I
ever chose.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPL V3 and Linux - Dead Copyright Holders
Date: Thu, 02 Feb 2006 18:54:02 UTC
Message-ID: <fa.kB9VH3A/4JAsuJHLzSL6GB1jYZI@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0602021021320.21884@g5.osdl.org>

On Thu, 2 Feb 2006, Pierre Ossman wrote:
> Linus Torvalds wrote:
> > I _literally_ feel that we do not - as software developers - have the
> > moral right to enforce our rules on hardware manufacturers. We are not
> > crusaders, trying to force people to bow to our superior God. We are
> > trying to show others that co-operation and openness works better.
>
> Then I have to ask, why GPL and not a BSD license? GPL is after all,
> forcing our beliefs onto anyone who wishes to benefit from our work.

Yes, a lot of people see the GPL as a "crusading" license, and I think
that's partly because the FSF really has been acting like a crusader.

But I think that one of the main reasons Linux has been successful is that
I don't think that the Linux community really is into crusading (some
small parts of it are, but it's not the main reason). I think Linux has
made the GPL more "socially acceptable", by being a hell of a lot less
religious about it than the FSF was.

So to me, the point of the GPL is not the "convert the infidels" logic,
but something totally different:

 - "quid pro quo"

   This is where I started out. My initial reason for my original license
   (which was also "you must make changes available under the same
   license") was not crusading, but simple reciprocity. I give out source
   code - you can use it if you reciprocate.

   In other words, to me, the GPL "give back source" is an issue of
   fairness. I don't ask for anything more than I give. I ask for source
   code and the ability to incorporate your changes back into _my_ use,
   but I don't want to limit _your_ use in any way.

   So in my worldview - not as a crusader - the GPLv2 is _fair_. It asks
   others to give back exactly what I myself offer: the source code to
   play with. I don't ask for control over their other projects (be they
   hardware or software), and I don't ask for control over copyrights
   (in the kernel, people are _encouraged_ to keep their copyrights,
   rather than signing them over to me).

   I only ask for exact reciprocity of what I give: the license for me to
   freely use the changes to source code that I initiated.

   The GPLv3 fundamentally changes that balance, in my opinion. It asks
   for more than it gives. It no longer asks for just source back, it asks
   for _control_ over whatever system you used the source in.

See? I think the GPLv3 makes _perfect_ sense as a conversion tool. But as
a "please reciprocate in kind" tool, the GPLv2 is better.

Now, my very earliest original license (and the GPLv2) fit my notion of
reciprocity, and as mentioned, that was the reason I _originally_ selected
that over the BSD license. However, over time, having seen how things
evolve, I've come to appreciate another aspect of the GPLv2, which is why
I would never put a project I personally really cared about under the BSD
license:

 - encouraging merging

   I've come to believe that the BSD license is not a "sustainable"
   license, because while it encourages (and allows) forking even more
   than the GPL does, it does not encourage merging the forks back.

   And I've come to the private conclusion that the real value of a fork
   is lost if you don't have the ability to merge back the end result. Not
   that all forks should be merged back - most forks are dead ends - but
   the firm ability to merge back _if_ it turns out to be something other
   than a dead end.

   The GPL guarantees you the right to both fork _and_ merge the result
   back - equally, and on both sides. That makes it sustainable. In
   contrast, the BSD license encourages forking, but also allows for not
   merging back, and that means that if the project ever gets to the point
   where there are economic or political reasons to diverge, it _will_
   eventually diverge, and there is no counter-acting force at all.

   Now, not all projects have any economic incentives to diverge: there
   are good reasons to stay on one base, and the costs of forking are
   bigger than the advantages. So projects like Apache and sendmail have
   worked fine - the pain of being different (when you're "just" a network
   service) is generally much higher than the gain of differentiation.

   But just about anywhere else, the "cohesion" of a BSD-licensed project
   is just lower. You'll have somebody make a commercial release of it,
   and they'll spend a bit more effort on it, and eventually the original
   freely licensed project will become immaterial.

So long-term, I believe that a GPL'd project is stabler. I believe, for
example, that the fact that Wine switched over to the LGPL (which shares a
lot of the cohesion argument) was a very important decision for the
project, and that they would eventually have otherwise become irrelevant
and the commercial users of the BSD-licensed code would have taken over.

But note that my second reason is not why I _began_ using the GPLv2, and
that it's also equally true of the GPLv3 and LGPL.

Anyway, there are other reasons I like the GPLv2. It's a "known entity"
and it's been around for a long time.

In fact, even in -92, when I switched to the GPL, that "known factor" part
was a major secondary reason for switching. I could have tried to just
change my own license - but I felt it was an advantage to be something
that people knew about, and not having to explain it and check it with
lawyers. The fact that the GPLv2 was still "young" back then was nothing
compared to how wet behind the ears my _own_ license was ;)

			Linus


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPL Violation?
Date: Thu, 17 Aug 2006 15:56:02 UTC
Message-ID: <fa.GCr2OjUM80f4o0c82XDyVWH7Sfo@ifi.uio.no>

On Thu, Aug 17, 2006 at 03:31:53PM +0200, Grzegorz Kulewski wrote:
> Ok, that could be a reason. But then at least make such strong comment as
> proposed later in my post and put it where people will be searching for it
> - in COPYING file. Even if it will not be legally enforceable, it will
> show the intentions of main authors and will anwser many people
> questions.

That assumes that the "main authors" want to spend time debating the
point and making an official statement --- one that might not be held
up in a court of law, afterwards.  And in fact it assumes people want
to waste time discussing this further in LKML, as well.

When I asked the question of my IP Law professor when I was taking
some classes at the Sloan School of Management 12 years ago, in his
opinion a claim that the GPL could infect across a dynamic link would
be "laughed out of court".  But that wasn't legal advice, and there
hasn't been legal precedent, and while as far as I know no court has
ruled directly on that point in the past 12 years, there may be others
that would cause a lawyer to be more or less certain about what might
happen should it ever go to court.  However, I am not a lawyer, and
neither are most people on this list.  Hence Alan's advice, "go see a
lawyer"; a lawyer will listen to the facts of your situation, apply it
to the law as it currently exists in a particular time and place, and
tender you legal advice.

But regardless of whether or not it is legal, a better and more
stronger argument is that companies that try to use proprietary binary
modules will not be able to service their customers as effectively,
and thus be at a competitive disadvantage.  From a code maintenance,
and future-proofing point of view, you really, really, really want to
have your device drivers in mainline.  In my opinion, the legal
arguments are only good for wasting bandwidth on mailing lists.

							- Ted


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: RE: The GPL: No shelter for the Linux kernel?
Date: Fri, 22 Sep 2006 21:45:49 UTC
Message-ID: <fa.P4Xt5UNxzKs5OeNLnmK2eK4iXC8@ifi.uio.no>

[ Sorry if this shows up twice - the first post to linux-kernel was
  apparently eaten by an over-eager spam filter with an agenda ;^]

On Fri, 22 Sep 2006, David Schwartz wrote:
>
> This is probably going to be controversial, but Linus should seriously
> consider adding a clause that those who contribute to the kernel from now on
> consent to allow him to modify the license on their current contributions
> and all past contributions, amending the Linux kernel license as
> appropriate. This would at least begin to reduce this problem over the next
> few years, leaving fewer and fewer people with claim to less and less code
> who would have legal standing to object.

It's the last thing I'd ever want to do, for all the same reasons the
kernel doesn't have the "or later versions" language wrt licenses.

I don't actually want people to need to trust anybody - and that very much
includes me - implicitly.

I think people can generally trust me, but they can trust me exactly
because they know they don't _have_ to.

The reason the poll and the whitepaper got started was that I've obviously
not been all that happy with the GPLv3, and while I was pretty sure I was
not alone in that opinion, I also realize that _everybody_ thinks that
they are right, and that they are supported by all other right-thinking
people. That's just how people work. We all think we're better than
average.

So while I personally thought it was pretty clear that the GPLv2 was the
better license for the kernel, I didn't want to just depend on my own
personal opinion, but I wanted to feel that I had actually made my best to
ask people.

Now, I could have done it all directly on the Linux-kernel mailing list,
but let's face it, that would just have caused a long discussion and we'd
not have really been any better off anyway. So instead, I did

	git log | grep -i signed-off-by: |
		cut -d: -f2- | sort | uniq -c | sort -nr | less -S

which anybody else can do on their copy of their git repository, and I
just picked the first screenful of people (and Alan. And later we added
three more people after somebody pointed out that some top people use
multiple email addresses so my initial filtering hadn't counted for them
properly).

[ I also double-checked by just checking the same numbers for authorship.
  I'll very openly admit to thinking that the maintainership that goes
  with forwarding other peoples patches to me counts as almost as
  important as the authorship itself, which is why I started out with the
  signed-off-by count, but I also wanted to verify that the list of people
  makes sense either way. It did. ]

In other words, maybe some people thought that the 29 names were somehow
"selected" to get that particular answer.  Nope. The only selection was
just an arbitrary cut-off-point (and the fact that I think two people
didn't actually vote).

It wasn't meant to be really "definitive" - the poll was literally meant
to get _some_ kind of view into how the top developers feel. I think the
end result ended up being more definitive (just thanks to the very clear
voting pattern) than we might have expected.

So, to anybody not on the list - don't feel bad. This was about getting a
good _feeling_ for how the top kernel maintainers - judging purely by an
admittedly fairly arbitrary, but also very neutral, measure - felt about
the license.

If the result had turned out very differently, I would probably have had
to seriously re-think my stance on the license. I don't guarantee that I
always change my mind, but I _can_ guarantee that if most of the people I
trust tell me I'm a dick-head, I'll at least give it a passing thought.

[ Chorus: "You're a dick-head, Linus" ]

Anyway, nobody got voted off the island. This was a poll, to get a view
into what people thought. Take it as such, and I think people will happily
discuss issues.

Different people had different issues with the GPLv3, so the separate
white-paper that was written was done by a different group, and is meant
for a different reason - it talks about some of the issues those
particular people wanted to point out.

My personal opinion is that a lot of the public discussion has been driven
by people who are motivated by the politics of the discussion. So you have
a lot of very vocal GPLv3 supporters. But I think that the people who
actually end up doing a lot of the development are usually not as vocal,
and haev actually not been heard very much at all.

In some sense, the poll is a way for the people who actually do a lot of
the work to show that the FSF doesn't speak for necessarily even a very
big portion of actual developers.

				Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: RE: The GPL: No shelter for the Linux kernel?
Date: Sat, 23 Sep 2006 18:00:52 UTC
Message-ID: <fa.gaytsL9faEmF5n7bDmxr+XkVi60@ifi.uio.no>

On Sat, 23 Sep 2006, Jan Engelhardt wrote:
>
> Now that you raise it: I think developers can already have done that
> if they wish - properly name author and conditions who may possibly
> change the license to what. Not that I have seen such code yet, but you
> never know.

Side note: in "git", we kind of discussed this. And because the project
was started when the whole GPL version discussion was already in bloom,
the git project has a note at top of the COPYING file that says:

 Note that the only valid version of the GPL as far as this project
 is concerned is _this_ particular version of the license (ie v2, not
 v2.2 or v3.x or whatever), unless explicitly otherwise stated.

 HOWEVER, in order to allow a migration to GPLv3 if that seems like
 a good idea, I also ask that people involved with the project make
 their preferences known. In particular, if you trust me to make that
 decision, you might note so in your copyright message, ie something
 like

        This file is licensed under the GPL v2, or a later version
        at the discretion of Linus.

  might avoid issues. But we can also just decide to synchronize and
  contact all copyright holders on record if/when the occasion arises.

but note how it's still at the discretion of the actual developers (ie
when you add a file, you can either not specify any extensions, in which
case it's "GPLv2 only", or you can specify "GPLv2 or any later", or you
can specify the "GPLv2 or any later at the discretion of Linus Torvalds".

The silly thing, of course, is that I'm not even the maintainer any more,
and that Junio has done a kick-ass job of maintaining the thing, and is
definitely the main author by now. So the whole "discretion of Linus" is a
bit insane.

[ Although exactly _because_ Junio has been such a great maintainer, I'd
  bow down to whatever decision he does, so my "discretion" would be to
  let him decide, if he wanted to. At some point, you have to trust some
  people, and just let go - if they do more than you do, they damn well
  have more rights than you do too. "Maintainership has its privileges" ]

Anyway, I suspect the git language was a mistake. We should just have done
what the kernel did - make the version number be clear and fixed, so that
people don't even have to worry about exactly what conditions might cause
a relicensing to happen.

				Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Mon, 25 Sep 2006 16:51:06 UTC
Message-ID: <fa.ZIVTYQQ1h2+QDJV2+6AsZKBDxiY@ifi.uio.no>

On Mon, 25 Sep 2006, Michiel de Boer wrote:
>
> I support the current draft of the GPL version 3 and am very dissapointed
> it will not be adopted as is. IMHO, Linux has the power and influence
> to move mountains in the software industry, and shouldn't shy away from
> the opportunity to take moral responsibility when it arises.

Well, you do have to realize that Linux has never been an FSF project, and
in fact has never even been a "Free Software" project.

The whole "Open Source" renaming was done largely _exactly_ because people
wanted to distance themselves from the FSF. The fact that the FSF and it's
followers refused to accept the name "Open Source", and continued to call
Linux "Free Software" is not _our_ fault.

Similarly, the fact that rms and the FSF has tried to paint Linux as a GNU
project (going as far as trying to rename it "GNU/Linux" at every
opportunity they get) is their confusion, not ours.

I personally have always been very clear about this: Linux is "Open
Source". It was never a FSF project, and it was always about giving source
code back and keeping it open, not about anything else. The very first
license used for the kernel was _not_ the GPL at all, but read the release
notes for Linux 0.01, and you will see:

		2. Copyrights etc

  This kernel is (C) 1991 Linus Torvalds, but all or part of it may be
  redistributed provided you do the following:

	- Full source must be available (and free), if not with the
	  distribution then at least on asking for it.

	- Copyright notices must be intact. (In fact, if you distribute
	  only parts of it you may have to add copyrights, as there aren't
	  (C)'s in all files.) Small partial excerpts may be copied
	  without bothering with copyrights.

	- You may not distibute this for a fee, not even "handling"
	  costs.

notice? Linux from the very beginning was not about the FSF ideals, but
about "Full source must be available". It also talked about "Free", but
that very much was "Free as in beer, not as in freedom", and I decided to
drop that later on.

How much clearer can I be? I've actively tried to promote "Open Source" as
an alternative to "Free Software", so the FSF only has itself to blame
over the confusion.

Thinking that Linux has followed FSF goals is incorrect. IT NEVER DID!

I think the GPLv2 is an absolutely great license. I obviously relicensed
everything just a few months after releasing the first version of Linux.
But people who claim that that means that I (or anybody else) should care
what the FSF thinks on other issues are just being totally silly.

> What is the stance of the developer team / kernel maintainers on DRM,
> Trusted Computing and software patents?

I'm very much on record as not liking them. That changes nothing. I'm also
very much on record as saying that DRM, TPC etc have nothing at all to do
with the kernel license.

If you want to fight DRM, do so by joining the Creative Commons movement.
The problem with Disney is not that they use DRM, it's that they control
the content in the first place - and they do that because content tends to
be too monopolized.

The whole "content" discussion has _nothing_ to do with an operating
system. Trying to add that tie-in is a bad idea. It tries to link things
that aren't relevant.

So go fight the problem at the _source_ of the problem, not in my project
that has got nothing to do it.

And please, when you join that fight, use your _own_ copyrights. Not
somebody elses. I absolutely hate how the FSF has tried to use my code as
a weapon, just because I decided that their license was good.

> How about a public poll?

Here's a poll for you:
 - go write your own kernel
 - poll which one is more popular

It really is that simple. The kernel was released with a few rules. The
same way you can't just make your own version of it and then not release
sources, you _also_ cannot just make it GPLv3.

It's not a democracy. Copyright is a _right_. Authors matter.

			Linus


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 12:33:46 UTC
Message-ID: <fa.qex6rYtc0+sAoNWQhOJwU4Q+JJQ@ifi.uio.no>

On Wed, Sep 27, 2006 at 07:55:41AM +0200, Jan Engelhardt wrote:
> If by operating system you mean the surrounding userland application,
> then yes, why should there be a problem with a GPL2 kernel and a GPL3
> userland? After all, the userland is not only GPL, but also BSD and
> other stuff.

Actually, the biggest problem will likely be userland applications and
shared libraries.  Many people believe that the GPL infects across
shared library links.  Whether or not that's true, it's never been
tested in court, and probably depends on the legal jurisdiction.  In
any case, many parts of the community, and certainly distributions
like Debian, behave as if the GPL infects across shared libraries.
But if that's true, then we have a big problem, because just as the
CDDL is incompatible with GPLv2, so too is the GPLv3 incompatible with
GPLv2.  (It has to be; the whole point of the GPLv3 is to fix "bugs"
such as spiking out companies considered evil like Tivo.  If you're
going to make the argument that there are no differences and so the
GPLv2 and v3 are compatible, then why are we wasting all of this time
and money on GPLv3?)

And if there are additional restrictions in GPLv3 (and I've never
heard Eben deny it), then there's nothing you can do in GPLv3 to fix
the compatibility problem, because GPLv3 has more restrictions than
GPLv2, and the GPLv2 prohibits additional restrictions.  So the
incompatibility is forced from the GPLv2 side, and no textual changes
in GPLv3 can possibly hope to fix things.  Hence, for userspace code
which is licensed under a GPLv2 only license, it must be strictly
incompatible with any GPLv3 shared library.

And given that Stallman has announced that the new LGPL will be (to
use programming terms) a subclass of GPLv3, it means that the LGPLv3
is by extension incompatible with the GPLv2.  So that means that there
will have to be two different versions of glibc (and every other
shared library) shipped with every distributions --- one which is
GPLv2, and one which is GPLv3.  And this fork is going to be forced by
the FSF!

So that brings up an interesting question --- which fork is Uhlrich
Drepper going to continue to work on?  The GPLv2 or GPLv3 version?  :-)

						- Ted

P.S.  I guess there is another alternative, which is that all shared
libraries must be dual licensed under a "your choice of LGPLv2 or
LGPLv3".  Of course, then that won't prohibit CCE's (Companies
Considered as Evil) from using said code.  And certainly, for people
who care more about code reuse, I would urge them to dual license
their code, since otherwise GPLv2 and GPLv3 code will not be able to
coexist, and the FSF will be making the license fragmentation problem
even worse for everyone, just to pursue their political goals.


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 17:02:51 UTC
Message-ID: <fa.fXruHarCsevasU031sE1Otc0++4@ifi.uio.no>

On Wed, 27 Sep 2006, Jan Engelhardt wrote:
>
> If by operating system you mean the surrounding userland application,
> then yes, why should there be a problem with a GPL2 kernel and a GPL3
> userland? After all, the userland is not only GPL, but also BSD and
> other stuff.

Indeed.

We have no trouble at all running programs with much worse licenses than
the GPLv3 (ie commercial programs). There is no problem with user space
being v3.

> >The last Q. is how good is the almost forgotten Hurd kernel?
>
> Wild guess: At most on par with Minix.

...and here's a thing that most people forget: good code simply doesn't
care about ideology, and ideology often does the wrong technical decisions
because it's not about practical issues.

The watch-word in Linux development has been "pragmatism". That's probably
part of what drives the FSF wild about Linux in the first place. I care
about _practical_ issues, not about wild goose chases.

If I weren't into computers, I'd be in science. And the rules in science
are the same: you simply can't do good science if you start with an
agenda. If you say that you'll never touch high-energy physics because
you find the atom bomb to be morally reprehensible, that's your right, but
you have to also realize that then you can never actually understand the
world, and do everything you may need to do.

I've often compared Open Source development vs proprietary development to
science vs witchcraft (or alchemy).

In many ways, the GPLv3 is about "religion". They limit the technology
because they are afraid of it. It's not that different from a religious
standpoint that some research is "bad" - because it undermines the
religious beliefs of the people. You'll find extremists in the US saying
that things like evolution is an affront to very basic human morals, the
exact same way that rms talks about DRM being "evil".

I want to be a "scientist". I want people to be able to repeat the
experiments, logic, and measurements (that's very much what science is
about - you don't just trust people saying that the world works some way),
but being a scientist doesn't mean that you should let other scientists
into your own laboratory or into your own home. That would be just crazy
talk.

So as a "scientist", I describe in sufficient detail my theory and the
results, so that anybody else in the world can replicate them. But they
can replicate them in their _own_ laboratories, thank you very much.

That's what open source is all about. It's about _scientific_ ideals.
It's not on a moral crusade, and it never has been.

The point behind all this: even if the Hurd didn't depend on Linux code
(and as far as I know, it does, but since I think they have their design
heads firmly up their *sses anyway with that whole microkernel thing, I've
never felt it was worth my time even looking at their code), I don't
believe a religiously motivated development community can ever generate as
good code except by pure chance.

				Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 17:52:22 UTC
Message-ID: <fa.FlhSpjikBqLmM6yDYABv1lGoS6I@ifi.uio.no>

On Wed, 27 Sep 2006, Nicolas Mailhot wrote:
>
> It's not as if most (all?) widespread linux-embedded devices are not
> flashable nowadays. Factory recall everytime you need to fix a
> security/feature bug just costs too much

Side note: it's not even about factory recalls, it's that flash chips are
literally cheaper than masked roms for almost all applications.

Mask roms are expensive for several reasons:

 - they force extra development costs on you, because you have to be
   insanely careful, since you know you're stuck with it.

   So it's not even just the cost of the recall itself: it's the
   _opportunity_ cost of having to worry about it which tends to be the
   biggest cost by far. Most devices never get recalled, and when they do
   get recalled, a lot of people never bother about it. So the real cost
   is seldom the recall itself, it's just the expense of worrying about
   it, and wasting time on trying to make things "perfect" (which never
   really works anyway)

 - during development, mask roms are a big pain in the ass, so you need to
   build all your development boards (even the very final one! The one
   that is supposedly identical to the released version!) with a flash
   anyway, even if you can only program it by setting a magic jumper or
   something.

   So using a mask rom means that your development platform pretty much
   will never match the actual hw platform you sell. That's a DISASTER.
   It's like always developing and testing with the compiler using the
   "-g" flag, but then _shipping_ the binary with "-O". Nobody sane would
   ever do that - it just means that all your verification was basically
   useless.

 - They force you to use a specialized chip. Mass production usually means
   that in any kind of low volumes, specialized chips are always going to
   be more expensive.

   People seem to sometimes still believe that we live in the 1980's. Mask
   roms used to be relatively "cheaper", because it wasn't as much about
   standardized and huge volumes of chips. These people should please
   realize that technology has changed in the last quarter century, and
   we're not playing "pong" any more.

[ Side note: is there a good "pong" box you can buy? I want pong and the
  real asteroids - the one with vector graphics. And I realize I can't
  afford the real asteroids, but dang, there should be a realistic pong
  somewhere? Some things are hard to improve on.. ]

So even if you don't actually want to upgrade the machine, it's likely to
have a flash in it simply because it's often _cheaper_ that way.

And it not at all uncommon to have a flash that simply cannot be upgraded
without opening the box. Even a lot of PC's have that: a lot (most?) PC's
have a flash that has a separate _hardware_ pin that says that it is
(possibly just partially) read-only. So in order to upgrade it, you'd
literally need to open the case up, set a jumper, and _then_ run the
program to reflash it.

People do things like that for fail-safe reasons. For example, a portion
of the flash is read-only, just so that if a re-flashing fails, you have
the read-only portion that verifies the signature, and if it doesn't
match, it contains enough basic logic that you can try to re-flash again.

Those kinds of fail-safes are absolutely _critical_, and I'm not talking
about some "hypothetical" device here. I'm talking very much about devices
that you and me and everybody else probably use every stinking day.

In fact, I can pretty much guarantee that pretty much everybody who is
reading this is reading it on a machine that has an upgrade facility that
is protected by cryptographic means. Your CPU. Most of the microcode
updaters have some simple crypto in them (although sometimes that crypto
is pretty weak and I think AMD relies more on just not documenting the
format).

Look into the Linux kernel microcode updater code some day, and please
realize that it talks to one of those evil "DRM-protected devices".

And dammit, this is all OK. If people want to write a GPL'd microcode
update, they damn well should be able to. Oh, but the GPLv3 forbids them
from doing that without giving out the keys used to sign the result.

	"But that's ok, because the FSF is looking out for all of us, and
	 we know mommy knows best."

So it's all good.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 20:42:25 UTC
Message-ID: <fa.UAMde1xpNSP7M2T5hdYXwA60s4Q@ifi.uio.no>

On Wed, 27 Sep 2006, Krzysztof Halasa wrote:
> > And it not at all uncommon to have a flash that simply cannot be upgraded
> > without opening the box. Even a lot of PC's have that: a lot (most?) PC's
> > have a flash that has a separate _hardware_ pin that says that it is
> > (possibly just partially) read-only. So in order to upgrade it, you'd
> > literally need to open the case up, set a jumper, and _then_ run the
> > program to reflash it.
>
> I think this is history. Yes, late 486s and Pentiums (60 and 66?)
> had a jumper protecting the flash. It's not true since ca. "Pentium 75+"
> days - while many boards use "bootblock" chips, it's (almost?) always
> unprotected (at most it just requires setting some GPIO pin(s)). The
> rest of flash obviously has to be R/W to support the ESCD etc.

You're probably right. The pin still exists on the flash chips, but most
of the time on PC's at least the writability is software-controlled.

I think the hatred of pins became so high that it became almost
unacceptable for motherboard designers to add them on PC's. Nobody wants
to open their case any more ;)

But the whole point was to just show how silly the whole "upgradable" vs
"not upgradable" discussion is. We're literally talking about something
where apparently it matters to the GPLv3 whether a pin on a chip is
connected to software or hardware (or not at all). Is that sane?

So if it's "hardware-controlled", it would be ok (because it's not meant
to be upgraded at all)? But if it's software-controlled it is not? A set
of rules that require this kind of nitpicking is just broken.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 23:05:00 UTC
Message-ID: <fa.GKzmg3PtEF1ycxMg/HBTCdPltKg@ifi.uio.no>

On Thu, 28 Sep 2006, Alan Cox wrote:
>
> Actually some of the smarter ones wired it to the SMM indications in the
> chipset so that only BIOS controlled SMM management code can do the
> update and that does checksumming or basic very crude crypto type
> checks.
>
> Fortunately the thought of a slammer equivalent that erases the firmware
> isn't something most vendors want to risk their stock price and business
> on.

Amen to that.

I'm pretty convinced that some companies sometimes go to unreasonable
lengths in their fear of liability suits (but in their defense, it's not
like the US legal environment isn't encouraging it), but I think a lot of
people end up doing things like that our of very basic prudence.

Not because they are "evil" or even mean anything bad at all, but simply
because they have their own reasons to believe strongly that people must
not upgrade their hardware.

Most technology people may _want_ to upgrade their hardware, but when you
look at all the spyware "upgrades" people get on their windows boxes, you
can certainly understand why there are reasons for things like strong
crypto upgrades with secret keys even quite apart from anything like the
RIAA.

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 17:29:22 UTC
Message-ID: <fa.UT96liUMUck30/Wg06hi6fboaF0@ifi.uio.no>

[ This is not so much really a reply to Alan, as a rant on some of the
  issues that Alan takes up ]

On Wed, 27 Sep 2006, Alan Cox wrote:

> Ar Mer, 2006-09-27 am 10:58 +0200, ysgrifennodd Jan Engelhardt:
> > I think Linus once said that he does not consider the kernel to
> > become part of a combined work when an application uses the kernel.
>
> COPYING top of the kernel source tree.

Yes. But also something much more fundamental:

	Copyright Law - regardless of country

You can claim anything you damn well want in a license, but in the end,
it's all about "derived works". If something is not a derived work, it
doesn't matter _what_ ownership rights you have, it's simply not an issue.

So even if the kernel had a big neon sign that said "You're bound by this
license in user space too!" (or, more likely, didn't have a sign at all,
like was the case originally), that has absolutely _zero_ legal meaning
for a copyright license. A license cannot cover something just because it
"says so".

For example, I could write a copyright license that said

	"This license forbids you from ever copying the kernel, or any
	work made by Leo Tolstoy, which is just a pseudonym for the
	easter bunny"

and the fact that the license claims to control the works of Leo "the
easter bunny" Tolstoy, claiming so simply doesn't make it so.

And yes, the above is obviously ridiculous, but the point is, it's no more
ridiculous than a license that would claim that it extends to programs
just because you can run then on Linux.

In fact, it's also no more ridiculous than a license that claims it
extends copyright the other way - to the hardware or platform that you run
a program on. From a legal standpoint, such wording is just totally
idiotic.

[ So the wording at the top of the license is a clarification of fact, not
  really any kind of change of the license itself. It actually does have
  some legal meaning (it shows "intent"), but most importantly it allows
  people to not have to even worry about frivolous lawsuits. Nobody can
  sue people for not running GPLv2 user-space through normal system calls,
  because the statement of intent makes it clear that a judge would throw
  out such a suit immediately.

  So I think the important thing here to take away is that "frivolous"
  part of the lawsuit. The language doesn't actually _change_ the legal
  meaning, but it protects against idiots. And a lot of lawyers worry
  about idiots and money-grubbing douchebags *cough*SCO*cough*, and
  as such obvious clarifications _can_ be useful. ]

Another real-world example of this mis-understanding is that a lot of
people seem to think that the GPLv2 disallows "linking" with non-GPLv2
code. Almost everybody I ever meet say that, and the FSF has written long
pieces on shared libraries etc.

People don't have a clue!

The GPLv2 never _ever_ mentions "linking" or any other technical measure
at all. Doing so would just be stupid (another problem with the GPLv3,
btw). So people who think that the GPLv2 disallows "linking" with
non-GPLv2 code had better go back and read the license again.

Grep for it, if you want to. The word "link" simply DOES NOT EXIST IN THE
LICENSE!

(It does exist at the end of the _file_ that contains the license, but
that's not actually the license at all, it's just the "btw, this is how
you might _use_ the license", and while legally that can be used to show
"intent", it does not actually extend the copyright in the work in any
way, shape, or form).

What the GPLv2 actually talks about is _only_ about "derived work". And
whether linking (dynamically, statically, or by using an army of worker
gnomes that re-arrange the bits to their liking) means something is
"derived or not" is a totally different issue, and is not something you
can actually say one way or the other, because it will depend on the
circumstances.

I'm always surprised by how many people talk abut the GPLv2 (and, quite
frankly, about the GPLv3 draft) without actually seemingly having ever
read the damn thing, or, more likely, ever really understood any legal
stuff what-so-ever, or the difference between the _use_ of a license, and
the license itself.

For example, in the GPLv3 discussions, I've seen more than one person
claim that I've used a special magic version of the GPLv2 that doesn't
have the "v2 or any later" clause. Again, those people don't have a _clue_
about what they are talking about. They feel very free in arguing about
other peoples copyrighted works, and the fact that I'm not a lawyer, but
then they ignore the fact that I actually _do_ know what I'm talking
about, and that they don't have a stinking clue.

> No. The definition of a derivative work is a legal one and not a
> technical one.

Exactly. A lot of people don't understand this, and a lot of people think
that "derivative" means "being close". Linking doesn't make something
derivative per se - the same way _not_ linking doesn't make it not be
derivative.

Now, it is also indisputable that if you _need_ to "link", it's a damn
good sign that something is _very_likely_ to be derivative, but as Alan
points out, you could do the same thing with RPC over a socket, and the
fact that you did it technically differently really makes no real
difference. So linking per se isn't the issue, and never has been.

			Linus



From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 22:59:07 UTC
Message-ID: <fa.y2EC33xFpjhB4ca22Gby2uZO3zs@ifi.uio.no>

On Wed, Sep 27, 2006 at 01:37:37PM -0500, Chase Venters wrote:
> I think one thing that should have happened a _lot_ sooner is that you and
> others should have made clear to the startled community that you object
> precisely to the anti-Tivoization clause, not because of any technical
> reason or interpretation but because you don't see anything wrong with
> Tivo's use of Linux. It would have been nice but totally optional to
> engage in dialogue with the FSF. But slandering them about their license
> development process, or their intentions with regard to using Linux as
> leverage, is counterproductive whether true or not.

This has been made clear to Eben and the FSF, for a long time.  The
FSF has simply chosen not to listen to Linus and other members of the
kernel community.  In fact, I've never seen any interest in a
dialogue, just a pseudo-dialogue where "input is solicited", and then
as near as far as I can tell, at least on the anti-Tivo issue, has
been simply ignored.  But in any case, it should not have come as a
surprise and should not have startled anyone.

Regards,

					- Ted


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 00:19:34 UTC
Message-ID: <fa.GbnkMF1JZyWJAADDkXrEU5YlI2U@ifi.uio.no>

On Wed, 27 Sep 2006, Chase Venters wrote:
> On Wed, 27 Sep 2006, Theodore Tso wrote:
> >
> > This has been made clear to Eben and the FSF, for a long time.  The
> > FSF has simply chosen not to listen to Linus and other members of the
> > kernel community.  In fact, I've never seen any interest in a
> > dialogue, just a pseudo-dialogue where "input is solicited", and then
> > as near as far as I can tell, at least on the anti-Tivo issue, has
> > been simply ignored.  But in any case, it should not have come as a
> > surprise and should not have startled anyone.
>
> Perhaps I came off too strong, but I meant what I said, and I'm not only
> talking about things being made clear with Eben and the FSF. Frankly, I don't
> know what did or did not happen behind closed doors and it would be wrong of
> me to make assumptions about that.

I think a lot of people may be confused because what they see is

 (a) Something that has been brewing for a _loong_ time. There has been
     the FSF position, and there has been the open source position, and
     the two have been very clearly separated.

     At the same time, both camps have been trying to be somewhat polite,
     as long as the fact that the split does clearly exist doesn't
     actually _matter_.

     So, for example, the GPLv2 has been acceptable to all parties (which
     is what I argue is its great strength), and practically you've not
     actually had to care. In fact, most programmers _still_ probably
     don't care. A lot of people use a license not because they "chose"
     it, but because they work on a project where somebody else chose the
     license for them originally.

     This, btw, is probably why some things matter to me more than many
     other kernel developers. I'm the only one who really had an actual
     choice of licenses. Relatively, very few other people ever had to
     even make that choice, and as such, I suspect that a number of people
     just feel that it wasn't their choice in the first place and that
     they don't care that deeply.

     Ted is actually likely one of the very few people who were actually
     involved when the choice of GPLv2 happened, and is in the almost
     unique situation of probably having an email from me asking if he was
     ok with switching from my original license to the GPLv2. Ted?

     So we have something that has been going on for more than a decade
     (the actual name of "Open Source" happened in 1998, but it wasn't
     like the _issues_ with the FSF hadn't been brewing before that too),
     but that has mostly been under the surface, because there has been no
     _practical_ reason to react to it.

 (b) This tension and the standpoints of the two sides has definitely
     _not_ been unknown to the people involved. Trust me, the FSF knew
     very well that the kernel standpoint on the GPLv2 was that Tivo was
     legally in the right, and that it was all ok in that sense.

     Now, a number of people didn't necessarily _like_ what Tivo does or
     how they did it, but the whole rabid "this must be stopped" thing was
     from the FSF side.

> What I was really addressing here is that the whole F/OSS community
> exploded over the news that Linux was not adopting the GPLv3.

Not really. It wasn't even news. The kernel has had the "v2 only" thing
explicitly for more than half a decade, and I have personally tried to
make it very clear that even before that, it never had anything else (ie
it very much _had_ a specific license version, just by including the damn
thing, and the kernel has _never_ had the "v2 or any later" language).

So legally, Linux has generally been v2-only since 1992, and just to head
off any confusion, it's even been very explicit for the last five years.

So what's the "news" really?

I'll tell you what the news is: the FSF was going along, _as_if_ they had
the support of not just their own supporters, but the OSS community too,
even though they knew _full_well_ what the differences were.

In fact, a lot of people have felt that they've been riding of the
coat-tails of Linux - without ever realizing that one of the things that
made Linux and Open Source so successful was exactly the fact that we did
_not_ buy into the rhetoric and the extremism.

Claiming that the FSF didn't know, and that this took them "by surprise"
is just ludicrous. Richard Stallman has very vocally complained about the
Open Source people having "forgotten" what was important, and has talked
about me as if I'm some half-wit who doesn't understand the "real" issue.

In fact, they still do that. Trying to explain the "mis-understanding".

It was _never_ a mis-understanding. And I think the only surprise here was
not how the kernel community felt, but the fact that Richard and Eben had
probably counted on us just not standing up for it.

THAT is the surprise. The fact that we had the _gall_ to tell them that
we didn't agree with them.

The fact that we didn't agree was not a surprise at all.

> I think it's fair to say that the reason why Linux is not adopting GPLv3
> (aside from the very practical matter of gaining the consensus of
> copyright holders) is that Linus and other top copyright holders don't
> think what Tivo is doing is wrong.

Well, I personally believe that Tivo did everything right, but in the
interest of full disclosure, sure, some people even _do_ belive that what
Tivo is doing is wrong, but pretty much everybody agrees that trying to
stop them is _worse_ than the thing it tries to fix.

Because the even _deeper_ rift between the FSF and the whole "Open Source"
community is not over "Tivo" or any particular detail like that, but
between "practical and useful" and "ideology".

And no, it's not a black-and-white issue. There are all kinds of shades of
gray, and "practical" and "ideology" aren't even mutually incompatible!
It's just that sometimes they say different things.

And yes, I personally exploded, but hey, it's been brewing for over a
decade. Let me over-react sometimes. I'm still always right ;)

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 03:17:41 UTC
Message-ID: <fa.4rOk+GGB5VWKyZ2AWe1aOU1FOLo@ifi.uio.no>

On Wed, 27 Sep 2006, Patrick McFarland wrote:
> On Wednesday 27 September 2006 20:18, Linus Torvalds wrote:
> > I think a lot of people may be confused because what they see is
> >
> >  (a) Something that has been brewing for a _loong_ time. There has been
> >      the FSF position, and there has been the open source position, and
> >      the two have been very clearly separated.
>
> But whats wrong with that? The FSF is a "project" (or really, a group
> of projects, because some FSF projects don't agree with the FSF
> position either), it isn't them official voice of the community.

Right, I'm not saying that there is anything wrong with having two
positions.

In many ways, I'm saying the opposite. I'm saying that we should _expect_
people to have different opinions. Everybody has their own opinion anyway,
and expecting people not have different opinions (especially programmers,
who are a rather opinionated lot in the first place) is just not
realistic.

There's absolutely nothing wrong with having a very wide consensus among a
very varied developer base. In fact, I think that's _great_.

And the reason I'm speaking out against the GPLv3 is that it is trying to
"sort the chaff from the wheat". The FSF is apparently not happy with a
wide community appeal - they want _their_ standpoint to be the one that
matters.

I have all through the "discussion" tried to explain that the great thing
about the GPLv2 is that it allows all these people with totally different
ideals to come together. It doesn't have to be "perfect" for any
particular group - it's very perfection comes not from it's language, but
the very fact that it's _acceptable_ to a very wide group.

When the FSF tries to "narrow it down", they kill the whole point of it.
The license suddenly is not a thing to get around and enjoy, it's become a
weapon to be used to attack the enemy.

Here in the US, the only watchable TV news program is "The Daily Show"
with Jon Stewart. One of his fairly recurring themes is about how US
politics is destroyed by all these passionate and vocal extremists, and he
asks whether there can ever be a really passionate moderate. "Can you be
passionate about the middle road?"

Dammit, I want to be a "Passionate Moderate". I'm passionate about just
people being able to work together on the same license, without this
extremism.

So here's my _real_ cry for freedom:

 "It's _ok_ to be commercial and do it just for money. And yes, you can
  even have a FSF badge, and carry Stallmans manifesto around everywhere
  you go. And yes, we accept people who like cryptography, and we accept
  people who aren't our friends. You don't have to believe exactly like we
  believe!"

And for fifteen years, the GPLv2 has been a great umbrella for that.

The FSF is throwing that away, because they don't _want_ to work with
people who don't share their ideals.

> >      At the same time, both camps have been trying to be somewhat polite,
> >      as long as the fact that the split does clearly exist doesn't
> >      actually _matter_.
>
> I agree. It doesn't matter because everyone is free to use whatever
> version they want of the GPL. Of course, people do also recognize that
> the GPL2 vs GPL3 argument is just a more subtle version of whats been
> going on for years with BSD vs GPL.

That's part of what really gets my goat. I spent too much time arguing
with crazy BSD people who tried to tell me that _their_ license was "true
freedom". The FSF shills echo those old BSD cries closely - even though
they are on the exact opposite side of the spectrum on the "freedom" part.

I hated BSD people who just couldn't shut up about their complaining about
my choice of license back then (the good old BSD/MIT vs GPL flamewars).

> >                      In fact, most programmers _still_ probably
> >      don't care. A lot of people use a license not because they "chose"
> >      it, but because they work on a project where somebody else chose the
> >      license for them originally.
>
> Programmers don't care because we aren't lawyers. I mean, few things
> are stated so simply, but lets face it, law is boring to quite a few
> geeks, and the intersection between geeks who code and geeks who law
> is very small.

I think a _lot_ of programmers care very deeply indeed about the licenses.
I certainly do. I wouldn't want to be a lawyer, but I care about how my
code gets used.

That said, I don't care how everybody _elses_ code gets used, which is
apparently one of the differences between me and rms.

> > Not really. It wasn't even news. The kernel has had the "v2 only" thing
> > explicitly for more than half a decade, and I have personally tried to
> > make it very clear that even before that, it never had anything else (ie
> > it very much _had_ a specific license version, just by including the damn
> > thing, and the kernel has _never_ had the "v2 or any later" language).
>
> Wasn't that just to prevent the FSF from going evil and juping all your code?

Well, initially it wasn't even a conscious "I don't trust the FSF" thing.
But when I chose the GPL (v2, back then) I chose _that_ license. There was
absolutely no need for me to say "or later". If the GPLv2 ever really
turns out to be a bad license, we can re-license _then_.

Yes, it would be really really painful, but I think the "or later" wording
is worse. How can you _ever_ sign anything sight unseen? That's just
stupid, and that's totally regardless of any worries about the FSF.

Later, when I did start having doubts about the FSF, I just made it even
more clear, since some people wondered.

> The only problem is that, alternatively, the FOSS movement was so
> strong because of RMS's kool-aid everyone drank. The community has
> teeth, and this is in partly because of the actions of the FSF. We
> defend ourselves when we need to.
>
> Its just that, at least with the Tivo case, that the defense went a tad too
> far.

I think the FSF has always alienated as many (or more) people as they
befriended, but maybe that's just me. I was looking for old newsgroup
threads about this earlier in the week, and noticed somebody in the BSD
camp saying that I was using the GPL, but that I wasn't as radical as rms.
And iirc, that was from 1993, when Linux was virtually unknown.

So I think that not being too extreme is a _good_ thing. It's how you can
get more people involved.

So everybody - join the "Passionate Moderate" movement, even if you're not
in the US. We're not passionate about any of the issues, we are just
_really_ fed up with extreme opinions! And we're not afraid to say so!

[ The really sad part is: that was only _somewhat_ in jest. Dammit,
  sometimes I think we really need that party! ]

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 04:14:29 UTC
Message-ID: <fa.IGD73vgTV4zlCYCTMPhVjYILXBM@ifi.uio.no>

On Wed, 27 Sep 2006, Sergey Panov wrote:
>
> I hope you understand that "Passionate Moderate" is an oxymoron.

No. It's a joke.

But it's a sad, serious, one. You really don't want it explained to you.
It's too painful.

> And I do not believe RMS is a commie!

Ehh. Nobody called him a commie.

I said he was an extremist (and tastes differ, but I think most people
would agree). And he _has_ written a manifesto. I'm not kidding. Really.

  "How soon they forget.."

One thing that I have realized during some of these discussions is that a
_lot_ of people have literally grown up during all the "Open Source"
years, and really don't know anything about rms, GNU, or the reason Open
Source split from Free Software.

I'm feeling like an old fart, just because I still remember the BSD
license wars, and rms' manifesto, and all this crap.

For you young whippersnappers out there, let me tell you how it was when I
was young..

We had to walk uphill both ways

 [ "In snow! Five feet deep!"
   "No! Ten feet!"
   "Calm down boys, I'm telling the story" ]

And we had all these rabid GPL haters that were laughing at us, and
telling us you could never make software under the GPL because none of the
commercial people would ever touch it and all programmers need to eat and
feed their kids..

 [ "Tell them about when you killed a grizzly bear with your teeth,
    gramps!"

   "Shh, Tommy, that's a different story, shush now" ]

And Richard Stallman wrote a manifesto.

Thank God we still have google. "GNU manifesto" still finds it.

> To me he is quite a moderate figure

I'd hate to meet the people you call extreme.

> (very strong principals and no diplomatic skills at all, but it does not
> mean he is an extremist).

I have nothing funny to say here.

I was going to make a joke about the principals, but that's just low. It's
"principle". A "principal" is something totally different.

Anyway, I'd clearly in need of a drink, as all my "mad debating skillz"
are clearly leaving me, and I just find myself making all these silly
comments.

		Linus



From: Al Viro <viro@ftp.linux.org.uk>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 01:36:20 UTC
Message-ID: <fa.QOj8ouutsJhImclykYtgwxW4xZA@ifi.uio.no>

On Wed, Sep 27, 2006 at 05:18:42PM -0700, Linus Torvalds wrote:

> Because the even _deeper_ rift between the FSF and the whole "Open Source"
> community is not over "Tivo" or any particular detail like that, but
> between "practical and useful" and "ideology".

... and then there are those of us who know very well what ideology is:
the choice weapon of talentless hacks hell-bent on gaining and keeping
influence and never doing original research or any other honest work.

	Al "I've grown up in USSR and USA feels just like home" Viro


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 03:37:42 UTC
Message-ID: <fa.39gqq4m9gFRzKZhN2EC3FBsAV4w@ifi.uio.no>

On Wed, 27 Sep 2006, Sergey Panov wrote:
>
> Please, do not tell me you had RMS in mind when you wrote it!

You're talking to Al "even less polite than Linus" Viro, so I wouldn't
take any bets on it.

Or he might be talking about me.

There's a reason Al is widely feared in the linux-kernel mailing list
community.

The Mexicans have the Chupacabra. We have Al Viro. If you hear him roar,
just _pray_ he's about to dissect somebody elses code than yours.. There
is no point in running.

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Thu, 28 Sep 2006 14:41:08 UTC
Message-ID: <fa.25xfBpemxadvvVmEL66EcMmzNHU@ifi.uio.no>

On Thu, 28 Sep 2006, Jörn Engel wrote:
>
> My graph traversion code I did for my thesis should have been merged
> into gcc, but I didn't even bother sending a patch.  Copyright assign
> my ***, thank you very much.

Yeah, I don't see why the FSF does that. Or I kind of see why, but it has
always struck me as
 (a) against the whole point of the license
and
 (b) who the F*CK do they think they are?

I refuse to just sign over any copyrights I have. I gave you a license to
use them, if you can't live with that, then go fish in somebody elses
pond.

I had some code I tried to give to glibc back when I was doing Linux/axp,
since glibc was really in pretty sad shape in some areas. I think I had a
integer divide routine that was something like five times faster than the
one in glibc, and about a tenth of the size. Things like that. So I wanted
to give things back, but ended up just throwing in the towel and said "ok,
if they don't want the code, whatever..".

If somebody pays me real bucks, I'll work for them, and I'm perfectly ok
with letting them own copyright in the end result (ie I've done commercial
software too, and I think it's only reasonable that since I did it for
pay, I don't own that software myself). But copyright assignments "just
because we want to control the end result"? No thank you.

> And that is in fact the primary reason, hacking gcc has been fun and I
> would like to do more, from a purely technical point of view.  But
> having to sign a large amount of legalese is the kind of thing I may
> have to do for a job, and they pay me for it.  It is not the kind of
> thing I do for fun.  No fun, no money - hell, why should I do
> something like that?!?
>
> Thank you for not requiring copyright assignments, Linus.

I _hate_ copyright assignments. Maybe it's a European thing.

Of course, I also hate paperwork, so maybe it's just a "lazy" thing.

			Linus


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Wed, 27 Sep 2006 18:02:12 UTC
Message-ID: <fa.cfHFuBR8wxWpFMd1ux+qQy6Mw6I@ifi.uio.no>

On Wed, Sep 27, 2006 at 10:58:41AM +0200, Jan Engelhardt wrote:
> >... ???. I am not so sure. Kernel is really a small thing. The VMWare
> >proprietary hyper-visor was/is reusing Linux drivers with ease, why BSD or
> >Hurd can not do the same? As a former (Linux) driver writer I like to show the
> >following numbers to my friends:
>
> Oh well I was rather interpreting the question as "What about Hurd?" and
> my answer was the same from the Hurd page last time I read it.
> "It's not so complete to make up a production system." or similar.

Well, that will be very simple.  If the Hurd gets relicensed to be
GPLv3, it won't be able to use Linux kernel device drivers any more,
because they will be GPLv2, and the GPLv2 and GPLv3 licenses are
incompatible.  But that's the FSF's problem, not ours...

						- Ted



From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 10:51:22 UTC
Message-ID: <fa.+qMbL/qzdpVmnOQQSQd/BvcFEeU@ifi.uio.no>

On Fri, 29 Sep 2006, Jan Engelhardt wrote:
>
> So what would happen if I add an essential GPL2-only file to a "GPL2
> or later" project? Let's recall, a proprietary program that
> combines/derives with GPL code makes the final binary GPL (and hence
> the source, etc. and whatnot, don't stretch it). Question: The Linux
> kernel does have GPL2 and GPL2+later combined, what does this make
> the final binary?

The final is always the most restricted license (or put another way: it's
the "biggest possible license that can be used for everything", but in
practice it means that non-restrictive licenses always lose out to their
more restrictive brethren).

This is, btw, why BSD code combined with GPL code is always GPL, and never
the other way. It's not a "vote" depending on which one has more code. And
it's not a mixture.

The GPLv2 is very much designed to always be the most restricted license
in any combination - because the license says that you cannot add any
restrictions (so if there _was_ a more restricted license, it would no
longer be compatible with the GPLv2, and you couldn't mix them at all in
the first place).

So any time you have a valid combination of licenses, if anything is
"GPLv2 only", the final end result is inevitably "GPLv2 only".

[ Btw, the same is true of the GPLv3 - very much by design in both cases.
  This is why you can _never_ combine a "GPLv2" work with a "GPLv3" work.

  They simply aren't compatible. One or both must accept the others
  license restrictions, and since neither does, and the restrictions
  aren't identical, there is no way to turn one into the other, or turn
  them both into a wholly new "mixed" license.

  So this is why the _only_ way you can mix GPLv2 and GPLv3 code is if the
  code was dual-licensed, ie we have the "v2 or later" kind of situation. ]

Basic rule: licenses are compatible only if they are strict subsets of
each other, and you can only ever take rights _away_ when you relicense
something. You can never add rights - if you didn't get those rights in
the first place with the original license, they're simply not yours to
add.

Otherwise, we could all buy the latest CD albums, and then relicense them
with more rights than you got (or we could take GPLv3 code and remove the
restrictions, and relicense it as BSD).

So the reason you can't re-license the CD albums is that you don't even
have any license to re-distribute them at all, and as such there is
nothing for you to sublicense further. And the reason you cannot relicense
the GPLv2 is that it tells you that you can't add any new restrictions
when you re-distribute anything, and you obviously can't add any rights
that you didn't have.

And, as usual: IANAL. But none of this is really even remotely
controversial.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 14:36:54 UTC
Message-ID: <fa.PgTulwn1FYJhG0BJRe26pyQr130@ifi.uio.no>

On Fri, 29 Sep 2006, tridge@samba.org wrote:
>
> > Quite frankly, if the FSF ever relicenses any of their projects to be
> > "GPLv3 or later", I will hope that everybody immediately forks, and
> > creates a GPLv2-only copy (and yes, you have to do it immediately, or
> > you're screwed forever). That way the people involved can all vote with
> > their feet.
>
> I do hope your either joking about this, or that you would consult
> with the major contributors to the project before doing this.

I very much mean "major contributors".

Quite frankly, the FSF isn't actually doing any of the work for any of the
tools it maintains any more. And hasn't for a long while.

Hint: look up the glibc maintainers opinions on some of these same issues
in the past. They had reason to clash with the FSF over a _much_ smaller
license change (LGPL 2 -> 2.1).

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 16:52:34 UTC
Message-ID: <fa.3yBCs5NWQlxbLlTHmTsjY+K3z8Y@ifi.uio.no>

On Fri, 29 Sep 2006, Helge Hafting wrote:
>
> This seems silly to me.  Sure, lasers and medical equipment is
> dangerous if used wrong.  When such equipment is
> controlled by software, then changing that software brings
> huge responsibility.  But it shouldn't be made impossible.

It may be "silly", but hey, it's often a law.

Also, even if it wasn't about laws, there is a very valid argument that
you should be able to be silly. There's a reason people don't get locked
up in prisons just for being silly or crazy - sometimes something that
seems silly may turn out to be a great idea.

And people seem to totally ignore that there is no correct answer to "who
may do software updates?". People rant and rave about companies that stop
_you_ from making software updates, but then they ignore the fact that
this also stops truly bad people from doing it behind your back.

Quite frankly, in many situations, I'd sure as hell be sure that any
random person with physical access to a machine (even if it was mine, and
even if I'm _one_ of them) could not just upgrade a piece of software.

Sometimes you can make those protections yourself (ie you add passwords,
and lock down the hardware - think of any University student computer
center or a library or something), but what a lot of people seem to
totally ignore is that often it's a hell of a lot more convenient for
_everybody_ if the vendor just does it.

And no, the answer is not "just give the password to people who buy the
hardware". That requires individualized passwords, probably on a
per-machine basis. That's often simply not _practical_, or is just much
more expensive. It's quite natural for a vendor in this kind of situation
to just have one very secret private key per model or something like that.

In other words, these secret keys that people rant against JUST MAKE
SENSE. Trying to outlaw the technology is idiotic, and shortsighted.

If you don't want a machine that is locked down, just don't buy it. It's
that simple. But don't try to take the right away from others to buy that
kind of convenience.

And yes, Tivo is exactly such a situation. It's damn convenient. I've got
two Tivo's myself (and yes - I actually paid full price for them. I was
given one of the original ones, but that's long since scrapped, and even
that one I paid the subscription fee myself). But you don't have to buy
them. You can build your own at any time, and it will probably be more
powerful.

So people are trying to claim that something is "wrong", even though it
clearly is. The people arguing for "freedom" are totally ignoring my
freedom to buy stuff that is convenient, and ignore real concerns where
things like TPM etc actually can make a lot of sense.

Can it be used for bad things? Sure. Knives are dangerous too, but that
doesn't make them "wrong" or something you shouldn't allow.

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 18:41:11 UTC
Message-ID: <fa.gY+brOnLBJLeKv50mNc/7lddQsw@ifi.uio.no>

On Fri, 29 Sep 2006, Linus Torvalds wrote:
>
> I think you can push that angle, and a lot of the time it will work in
> practice - because the companies involved are really not "evil", and most
> often they simply want to avoid any trouble.

Btw, I'd also like to say that not only am I not a lawyer, I also think
that it's perfectly fine for people to disagree with me and decide to sue
somebody they really really dislike. I'm not giving legal advice, and am
just stating my own standpoint.

I think people (especially in the US) tend to be way too lawsuit-happy
anyway, but I'm in no way trying to discourage people who feel they want
to assert rights that I personally don't think _I_ have. People differ in
their opinions of the rights they hold. That's ok.

The way things _really_ get decided is not on the kernel mailing list, or
even by asking a lawyer, but by people who decided that some company or
other just simply crossed the line and did something illegal. My opinion
simply doesn't _matter_ in that sense.

For example, when I say that I think it would be totally insane to think
that a 128-bit hash of a binary is a "derived work", I say that as a
concerned citizen. I think a world where real lawyers would say that would
be a _horrible_ world. And I don't think it makes sense. But sadly, until
I'm elected(*) life-time President and King of the World, what I think
doesn't actually change anything.

			Linus

(*) Hah. Who do I think I'm kidding? The revolution will be bloody and
brutal, and you're not going to get the choice to "elect" me except in the
history books written by yours truly.


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 20:08:52 UTC
Message-ID: <fa.Xs1dcaX63A6x2H3NxmP7s120N/c@ifi.uio.no>

On Fri, 29 Sep 2006, alan wrote:
>
> On Fri, 29 Sep 2006, Linus Torvalds wrote:
>
> > (*) Hah. Who do I think I'm kidding? The revolution will be bloody and
> > brutal, and you're not going to get the choice to "elect" me except in the
> > history books written by yours truly.
>
> Wow.  You have been living in Portland too long. ]:>

Is there some Portland subculture that I should be aware of?

Inquiring minds want to know.

		Linus


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 21:26:43 UTC
Message-ID: <fa.z/nNjZuFPcKhxaN57MD1wqQvyCo@ifi.uio.no>

One of the things which I'm fond of pointing out is that all of the
freedoms people would have to hack MacOS, especially MacOS 9, where
all of the various "Mac Extensions" which changed and extended the UI
of the Macintosh, would have completely disappeared if the FSF's idea
of "derived works" was in fact the law of the land.  That's because
(a) Apple hated the fact that people dared to think that the UI as
handed down on the stone tablets inscribed by Steve Jobs could be
improved upon, and (b) the way those changes were made by patching
jump tables so that code to extend the UI could be patched into the OS
--- in effect, a dynamic link.

Now, because Apple hated the fact that people dared to think they
could improve on Apple's UI design, they frequently changed the jump
table interfaces, forcing the people who wrote the "Mac Hacks" to
follow a rapidly changing code stream --- much like what the Linux
kernel does with its device driver interfaces.  But Apple has *never*
said that just because you dynamically link with MacOS, that instantly
makes your MacOS a derived work, and so therefore as the copyright
holder of MacOS, Apple could therefore have the right to control how,
or even whether or not the Macintosh Extensions could ever exist.

Thanks goodness, no sane court has ever ruled that the various
Macintosh Extensions were a derived work, just because they lived in
the same address space as MacOS and dynamically linked with MacOS, and
in fact were **designed** only to work with MacOS, and very often used
header files shipped by the Macintosh Programmer's Workbench.

So don't be too quick to wish that the courts will use the FSF's pet
definition of what derived works mean ---- you may find that in the
end, you end up losing far more freedoms than you expect.

						- Ted


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Fri, 29 Sep 2006 18:18:54 UTC
Message-ID: <fa.pap8aPc/22hqjFffT7822SzwSN4@ifi.uio.no>

On Fri, 29 Sep 2006, Linus Torvalds wrote:
>
>  - the GPLv2 allows usage in any circumstances except the geographical
>    limitation that can be forced on it by other laws. No serious lawyer I
>    have ever met is even ambiguous about this. There's just no question -
>    people may not be happy about it, and iirc the FSF at some point tried
>    to claim something else, but this really isn't all that controversial.

Btw, clearly the GPLv2 requirements do say that the use may have to be
done certain ways. For example, if you actually embed keys in the binary
itself, that almost certainly means that they keys are part of the source,
and as such you need to make the keys available through other means and
rely on the "mere aggregation" clause.

The same thing goes for things like signed images. It you sign an
individual binary, it can be argued that the private key was part of the
build process. It's really a pretty weak argument, but the whole point is
made moot by the fact that you don't actually _need_ any keys: you can
just control the bootloader instead.

That one not a derived work, and is quite often even on a totally
different media: flash vs disk or similar. And once you have it do a
consistency check by just verifying the SHA1 of the aggregate media
separately, you don't actually have any keys to release, because there
simply _is_ no key that actually covers any GPLv2'd code.

You can try to take it to some (il)logical extreme, and ask yourself
whether just even holding a 128-bit hash is a "derived work"?

But I not only think you'd be laughed out of court on that one if you
claimed it was, I _really_ don't think you want to go there anyway.
Because if you think it is, then you're violating copyright law every time
you look up a CD in CDDB/fredb/whatever-it's-called-now, or any number of
other things. You don't want to try to strengthen copyrights to insane
levels (you'd also be getting rid of "fair use" if you do).

In other words, if you _really_ care about "freedom" (just about any kind)
you should be _damn_ careful not to try to extend those copyright claims
of "derived work" too far. Because quite frankly, YOU are going to lose on
that one, and the RIAA is going to laugh at your sorry ass for helping
them prove their nonexistent point, and you would end up losing a lot
more "freedoms" than the ones you thought you were fighting for.

So the point is, there's no reasonable disagreement what-so-ever that you
can use GPLv2 code for anything you damn well want, including secure
lock-down. I think the FSF has even said so in public. You have to release
_source_code_, but the GPLv2 never controlled the environment it was used
in.

Of course, a lot of people who have played games with these kinds of
issues also did other things very wrong. So a number of vendors that did
something fishy have gotten nailed for real copyright infringement due to
the _other_ things they did.

[ I'd also not be surprised if companies would decide to settle just to
  avoid a lawsuit - especially one that made it clear that they were
  sleazy even if they weren't perhaps actually doing anything actively
  illegal. So there's a damn good reason why companies often don't want to
  even toe _close_ to the line, and we should be happy about that. But we
  shouldn't try to claim rules that simply never existed. ]

			Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: GPLv3 Position Statement
Date: Sat, 30 Sep 2006 17:01:23 UTC
Message-ID: <fa.S6VTh5IK98AFnOLN8H5oh6W0flU@ifi.uio.no>

On Sat, 30 Sep 2006, Andrea Arcangeli wrote:
>
> If there's something to work on for GPLv3 it is _not_ about
> restricting usage. It's about forcing _more_ sharing even behind the
> corporate firewall!

In many ways, I agree. The FSF seems to be barking up the wrong tree, the
real problem is not things like Tivo (who already _do_ give source back),
but the whole "we don't give source back because we're just exporting the
results", aka the "ASP problem".

>		 In the ideal world that should be the only
> priority in FSF minds and I think they're still in time to change
> their focus on what really matters.

While I agree with you, I think one of the reasons that the FSF hasn't
gone that way is that while in many cases it would make sense, it's
actually even more controversial. The "Tivo" issue is a populist issue,
and trying to solve the "ASP problem" is actually seriously more
problematic.

First off, the ASP issue, while not in any way limiting "use" (you could
still _use_ things as you see fit, you just have to give sources out: I
think that's much more "in the spirit" than the current GPLv3 ever is),
would actually require that in order to enforce it, such a license would
clearly have to be a _contract_. If it's not distributed, it's not a
matter of copyright any more, it's very obviously a matter of mutual
agreement: "we give you source, you give us source back".

Secondly, a lot of people use GPL code privately, with private
modifications, and you would see a lot more screaming than about the
current GPLv3 draft. So I think the FSF (correctly) decided that they
simply cannot do it.

In fact, it's one of the very traditional ways of making money for some
Free Software projects: the whole way Cygnus supported itself was largely
to make "private" branches of GCC for various commercial vendors, and
while the vendors had the _right_ to distribute the sources, they also had
the right not to (and since they didn't want to, they wouldn't be
distributed).

Does that sound against the spirit of "give back source"? Sure does. But
it's one of those things that the FSF has always supported, so they don't
see it as a huge problem, and since they don't want to limit _that_ kind
of usage, they automatically also cannot limit the ASP kind of usage which
really is exactly the same thing.

So I actually think that an ASP clause would be totally unacceptable to a
lot of people, even more so than the stupid anti-Tivo clauses. And I think
the FSF realized that, and didn't even push it, even though they have been
talking about the "ASP hole" when they don't like it.

So it really does boil down to a very simple end result (which is the
exact same deal that I think the whole anti-DRM problem has been about):

 - Not everybody agrees about the current GPLv2

 - But trying to extend the reach of it just causes more (fundamental)
   problems than the problems such extensions would try to fix.

So I'd like to repeat: the reason the GPLv2 is wonderful is exactly the
fact that it's so widely applicable, and useful for such a wide audience.
That _does_ mean that it will inevitably have to accept a certain level of
bad behaviour by selfish people, but since you can't distribute the
derived work without distributing the source code, you're guaranteed that
the bad behaviour cannot "procreate".

In other words: if you think of open source development as a kind of
"sexual reproduction" (it really does have a lot of analogies - it's a
"memetic recombination and survival of the fittest"), any "bad use" by
definition is a dead end. You can be bad, but a bad use is always a
eunuch, and as such doesn't matter in the long run. The only way you can
actually make a _difference_ is by participating constructively.

In other words: I do agree that the "ASP hole" is a hole, but exactly as
with all the Tivo issues, it's a hole that needs to be there simply
because trying to plug it would cause disaster.

			Linus


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPL vs non-GPL device drivers
Date: Sun, 18 Feb 2007 13:58:01 UTC
Message-ID: <fa.SOSn7DY0igCbKJrnO5TfIWCH5UM@ifi.uio.no>

On Sun, Feb 18, 2007 at 01:26:47PM +1000, Trent Waddington wrote:
> Such a strange attitude.. to go to all this effort to quote carefully
> and correctly one set of people and to then total misconstrue the
> words of another.
>
> The FSF's argument in regards to readline is that you may not
> distribute readline with proprietary software linked to it.  They
> don't claim they "0wn" your source code.

Actually, the FSF and many of its representatives, has claimed, on
many occassions, that the GPL infects across dynamic linking.  That
is, if you write your own code that calls readline which links via a
dynamically linked shared library, and perhaps even across dlopen(),
they claim that the GPL applies to the code which you write.  Given
that the only way this could happen is via copyright law, they are
basically saying that if you use the readline interface, you have
created a derived work and they therefore 0wn your source code.

Whether or not this would be laughed out of court or not will very
much depend on the local legal precedents (and Trent Waddington has
quoted some very interesting legal cases based on US court decisions,
including an entertaining brief written by Eben Moglen decrying
interface copyrights which on the surface seems to go against
everything else the FSF has said since the Lotus case), but the
kernel-mailing list isn't the place to debate how law can be applied
to facts, or whether or not Eben Moglen is a hypocrite or not.

So can we please stop now?  I doubt anyone is going to be able to
convince anyone else on this matter; people's opinions are pretty well
formed by now, and until someone chooses to litigate on this specific
point about whether or not the GPL (v2 or v3) can infect across a
dynamic link in various jurisdictions, we're not going to settle it here.

Regards,

						- Ted


From: Theodore Tso <tytso@mit.edu>
Newsgroups: fa.linux.kernel
Subject: Re: GPL vs non-GPL device drivers
Date: Thu, 22 Feb 2007 16:46:08 UTC
Message-ID: <fa.o+CYFpsi3v+zsFA4eMgLDFEOsMY@ifi.uio.no>

On Wed, Feb 21, 2007 at 11:17:16PM -0500, D. Hazelton wrote:
> Since I tailor the license I apply to code I produce to meet the needs of the
> person or entity I am writing it for, I've never run into this. In truth, the
> LGPL is, IMHO, a piece of garbage. (as is the GPL - if you release code under
> the GPL you no longer have a legal right to it. Note the following text that
> appears in the GPL:
>
> "  We protect your rights with two steps: (1) copyright the software, and
> (2) offer you this license which gives you legal permission to copy,
> distribute and/or modify the software."
> --IE: Once you release the code under the GPL, it becomes the *copyrighted*
> *property* of the FSF and you are just another person that the GPL is applied
> to.

That's simply not true.  If you release the code under the GPL, you
are still the copyright holder.  You are simply using the terms of the
GPL to allow what *others* can do with your code.  So you are always
free to make it available under another license, including a
proprietary one.  For example, way back when I was the only author of
all of the e2fsprogs code, I once sold a license allowing to allow the
PartitionMagic program to use portions of the e2fsprogs codebase in
their proprietary Windows product; it help pay for the downpayment of
my house, too...

Now, if other people contribute code to your project, and you accept
it without a copyright assignment, then their code is generally
presumed to be implicitly licensed under the same license as the
original program, and so that would presumably restrict your ability
to relicense the project without getting their permission as well,
since some of the code or documentation is theirs.

The only way GPL'ed code can be become copyrighted by the FSF is if
you explicitly sign a copyright statement (and before you do that,
take a very close look at the FSF copyright assignment letter, and if
you don't know what "indemnify" means, and have any kind of
significant assets, such as a house, or anticipate having significant
assets in the future, run, don't walk, to a lawyer and talk to them
first), or if you explicitly release the code into the public domain
and then they grab it and make some changes which are copyrighted by
the FSF.

But saying that just by licensing your code under the GPL means that
the FSF owns your code?  That's just crazy talk.

						- Ted



From: Theodore Tso <tytso@MIT.EDU>
Newsgroups: fa.linux.kernel
Subject: Re: ndiswrapper and GPL-only symbols redux
Date: Wed, 06 Feb 2008 15:13:10 UTC
Message-ID: <fa.STpMdOx+coxNnKyyNAu6QfQakxA@ifi.uio.no>

On Wed, Feb 06, 2008 at 03:38:52AM -0800, David Schwartz wrote:
> >
> > Ndiswrapper loads and executes code with not GPLv2 compatible licences
> > in a way in the kernel that might be considered similar to a GPLv2'ed
> > userspace program dlopen() a dynamic library file with a not GPLv2
> > compatible licence.
> >
> > IANAL, but I do think there might be real copyright issues with
> > ndiswrapper.
>
> Neither the kernel+ndiswrapper nor the non-free driver were
> developed with knowledge of the other, so there is simply no way one
> could be a derivative work of the other. Since no creative effort is
> required to link them together, and the linked result is not fixed
> in a permanent medium, a derivative work cannot be created by the
> linking process itself.

Indeed, there is a similar issue with libss, which was originally
written for use with Kerberos v5, and licensed under an MIT (BSD-style
plus you must not use MIT's name in advertising) license.  Kerberos V5
was adapted by Sun to create a proprietary product called SEAM (Sun
Enterprise Authentication Mechanism), and contains a program called
kadmin, which uses libss as part of its user interface.

In the meantime, libss was enhanced to use a search path to dlopen the
first readline library it can find (some are GPL, some are
BSD-licensed), so that people could use debugfs while being able to
have command-line editing, and this is shipping in e2fsprogs.  I used
dlopen so that use of libreadline is optional; so if it doesn't fit on
a rescue floppy, it's no big deal; you can still use debugfs to edit
an ext2/3/4 filesystem.  So there was very much a valid technical
reason for doing what I did; I wasn't trying to circumvent any license
requirements, but trying to solve a perfect valid problem when you
only have 1440k on a 3.5" floppy (and libreadline is 296k, or 21% of
total amount of space available).

But if you compile and install e2fsprogs on Solaris, and then run
kadmin, you can have in one address space the proprietary kadmin
binary from SEAM, the BSD-licensed libss shared library from
e2fsprogs, and the GPL-licensed libreadline shared library.

Answer quickly!  Is there a license violation, and if so, who was
responsible for comitting the license violation?  This is my favorate
real-life case study that I roll out when I want to torture people who
claim that dynamic linking with a GPL shared library automatically
results a GPL violation.  :-)

The bottom line is that you should ask a lawyer, and not believe
anyone who has claimed to give you legal advice, whether or not they
have talked to "dozens of lawyers".  What's most important is the
lawyer with whom you have paid money so he can take the facts specific
to your case, and apply them to the relevant legal statues in those
legal jurisdictions applicable for the software/product in question.

Regards,

						- Ted


Index Home About Blog