Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

From: Linus Torvalds
Date: Mon Jun 18 2007 - 17:10:50 EST




On Mon, 18 Jun 2007, Alexandre Oliva wrote:
>
> 1. I asked you why GPLv2 is better, and you said it was because it
> promoted giving back in kind.

Where I explained that "in kind" was about *software*.

> 2. I asked you what you didn't like about GPLv3, and you said it was
> Tivoization.

Right. The GPLv3 asks you to give back *money*.

That's like the Microsoft license agreements. I don't like them either.

Oh, and replace "money" with "access to hardware", to make that thing
technically correct. But the point is, that's what I don't like about the
GPLv3.

> 3. Then I argued that, since Tivoization enables tivoizers to remove
> some motivation for potential developers (= their customers)

That's simply not my *reason* for doing "tit-for-tat". My basic reason for
"tit-for-tat" was not about "lots of potential developers", but simply
because I think it's the right choice for me!

Can you not understand that? I simply DO NOT LIKE TO CONTROL PEOPLE!

I just want software back. I think it is *wrong* for me to ask for
anything else. It's literally my personal "moral choice": I think the
hardware manufacturers need to make their _own_ choices when it comes to
_their_ designs.

I feel that I have the moral right to ask for modifications to the kernel
(because I started it), but I *personally* am very unhappy about asking
people to also give their hardware access. That's *their* choice.

Is that really so hard to understand? I ask you to respect _my_ choice wrt
license for my software, but the same way I expect others to respect my
choices, I also myself need to respect *their* choices.

So to me, it's the hardware manufacturers choice to to select the license
for their hardware, exactly the same way it was *my* choice to select it
for my software. I believe in basically *one* freedom: the freedom to make
our own choices!

But if you actually want to discuss "number of developers" and their
motications, I actually have another few arguments for you:

- I just personally think your math is bogus. I think more people think
like I do, than people think like you and the FSF does.

But I don't even depend on that. Because:

- I think that *technical*quality* is more important than *quantity*.

And I think you have already proven a point: the GPLv3 seems to attract
people who make the wrong *technical* decisions.

Put another way: I'll much rather attract one Al Viro to the project, than
a hundred rabid FSF followers.

See? Because I think that one Al Viro will make *more* of a difference
than a hundred people who think that their *religion* is more important
than making the technically correct choice is!

With the GPLv2, you need to give your software modifications back, but the
GPLv2 never *ever* makes any technical limitations on the end result.

In the GPLv3 world, we have already discussed in this thread how you can
follow the GPLv3 by making the TECHNICALLY INFERIOR choice of using a ROM
instead of using a flash device.

Quite frankly, I don't *want* to attract develpers that are not
technically "up to snuff". And if you think that making the technically
worse decisions is the "rigth decision", then hey, you're clearly not in
the same technical quality range as I am, or Al Viro is.

Am I elitist? HELL YES! I think some people are simply *better* engineers
than other people. I've met my share of outstanding engineers, and I've
met average engineers.

I am firmly of the opinion that one of the signs of an outstanding
engineer is making the right technical choices. The GPLv2 is ok with that.
The GPLv3 is not. The GPLv3 makes *limits* what you can do from a
technical angle, in a way that the GPLv2 does not.

The GPLv2 requires that you give source code out. But if you want to make
your hardware in a way that it only runs signed versions, because of some
reason like an FCC rule, or banking rule, or just because you damn well
want, the GPLv2 doesn't stop that.

The GPLv3 doesn't stop it *either*, but the GPLv3 requries that you make
the INFERIOR TECHNICAL CHOICE.

In other words: the GPLv3 is for people who care more about the opinions
of the FSF than about the technology.

And why the hell should I trust people like that to make the right
technical choices in *other* matters? They have already shown themselves
to make bad technical choices.

> Do you understand now why I feel you haven't answered the 'why'?

Ok, so now I have. I have three *different* and independent answers for
you:

a) I don't personally feel like I have the "moral authority" to require
hardware designers to give access to their hardware to me.

I can tell them that I *like* open hardware more than closed hardware,
but they designed the hardware, and as a result I think it's *their*
choice.

In contrast, I _do_ think I have the moral authority to ask for
modifications to the _software_ back. Because they didn't design it,
they just improved on it.

b) I think you're simply wrong in your math. I think more people like the
middle-ground and not-frothing-at-the-mouth spirit of "open source"
over the religious dogma of "free software".

I think Linux has pretty much proved my point. Look at Hurd, then look
at Linux. Am I *that* much better than the Hurd developers (yes, of
course I am, but let's assume not). Or is it just that my approach of
being more _pragmatic_ about things rather than talking about those
"four freedoms" all the time was just much easier for people to
accept?

c) Even if you're not wrong in the math, I've seen the kind of people who
argue for it, and quite frankly, I think they are making bad technical
decisions. You arguing for a ROM over a flash is an excellent example.

You seem to never even have given a second _thought_ to the fact that
you actually advocated what is technically the inferior choice.

See? Those are three totally different reasons why I think the GPLv2 is
the right license for me, and for the kernel.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/