On March 6, Linus Torvalds responded to e-mail questions on GPL version 3 sent by InformationWeek editor at large Charles Babcock.
InformationWeek: Can you comment on why you oppose moving the Linux kernel from GPL 2.0 to GPL 3.0?
Torvalds: First off, I don't even know what the GPLv3 will look like. I would be totally crazy to accept a license for my code sight unseen. I think people who just say "version 2 or any later version" on their code probably don't care about the license of their code enough. Before I say that "yes, you can use my code under license X," I'd better know *what* that license is.
So that's an issue totally independent of any particular GPLv3 details. The reason Linux has that "GPLv2 only" language is exactly that I simply don't want to be at the mercy of somebody else when it comes to something as important as the license I choose for my code.
So I can't even imagine why anybody would ever expect me to do anything but "v2 only." It's just stupid to do anything else.
Now, totally independently of that, I'm doubly happy that I long, long since made that decision because at least the drafts of the GPLv3 have been much worse than the GPLv2 is. They've had glaring technical problems (license proliferation with not just one single GPLv3, but "GPLv3 with various additional rights and various additional restrictions"), and while I certainly hope that the final GPLv3 won't have those obvious problems, I've been singularly unimpressed with the drafts.
Finally, the real basic issue is that I think the Free Software Foundation simply doesn't have goals that I can personally sign up to. For example, the FSF considers proprietary software to be something evil and immoral.
Me, I just don't care about proprietary software. It's not "evil" or "immoral," it just doesn't matter. I think that Open Source can do better, and I'm willing to put my money where my mouth is by working on Open Source, but it's not a crusade -- it's just a superior way of working together and generating code.
It's superior because it's a lot more fun and because it makes cooperation much easier (no silly NDA's or artificial barriers to innovation like in a proprietary setting), and I think Open Source is the right thing to do the same way I believe science is better than alchemy. Like science, Open Source allows people to build on a solid base of previous knowledge, without some silly hiding.
But I don't think you need to think that alchemy is "evil." It's just pointless because you can obviously never do as well in a closed environment as you can with open scientific methods.
So the FSF and I really don't agree on some very fundamental things. I absolutely love the GPLv2 -- because it embodies that "develop in the open" model. So with the GPLv2, we had a thing where everybody could come around it, and share in that model.
But the FSF seems to want to change the model, and the GPLv3 drafts have not been about developing code in the open, they've been about what you can do with that code. To go back to the science example, it's like saying that not only should the science be peer-reviewed and open, but you also add the requirement that you cannot use it to build a bomb.
And that's just stupid and not a direction I want to follow in. I don't want to limit what people can do with my code. I just want their improvements back. But if they do something stupid with it, that's their choice.
Now, I certainly hope that the final GPLv3 will simply not have those kinds of restrictions, so I'm not totally against it. But to re-iterate:
-- I'm against "blind trust." I will not sign on to a GPLv3 until I see what I'm signing up for.
-- I'm against license splintering. The GPLv2 is the GPLv2 is the GPLv2. There's never any different versions. If you get a GPLv2 source base, you know what the license is. No ifs, buts, or maybes. In contrast, in the GPLv3 drafts, they've so far had a "splintering section," which says that you can have many different versions of GPLv3, and then when you combine two different versions you get yet a third version, namely the least permissive reading of either of the ones you combine.
-- I'm against "you cannot do xyz with the code." I will not sign on to a GPLv3 if it limits how the code is used (e.g. the whole digital rights management flap), rather than just saying "we want the code back."
The first objection obviously goes away regardless of what the final GPLv3 will look like, so that one will eventually be fixed. I'm ranting against that one, just because stupid people have argued that I should accept the end result sight-unseen, and I just find that to be idiotic.
The two others, we'll just have to wait and see what happens. I'm not very optimistic, but the chance is there that the final GPLv3 doesn't have the problems that the drafts have had.
InformationWeek: You once referred to GPLv3 as "hot air." Can you say what you mean by that?
Torvalds: Heh. Without knowing the context, I can't say really specify anything more ;)
InformationWeek: Are you saying the GPL is in danger of becoming too much of a political platform or ideological statement as opposed to a rights-granting software license?
Torvalds: I think the GPL has always been a political platform, but I also think that one thing that the Linux community has done (and yes, I'll take at least some of the credit for that personally) has been to try to view it as just a license, i.e. strip the politics away from it.
I think the GPLv2 is a great license, and it's something that you can agree to despite different politics. And that's something that I think the Linux community has been very good at. You don't have to drink the Kool-aid, you just have to realize that with the GPLv2, you can work together and "protect" your investment by knowing that yes, others can use the work you did, but you get something else back: you get to use the work that everybody else does.
So the reason I really like the GPLv2 is exactly that it allows everybody to be selfish and not having to really believe in any other politics. We can all be selfish and do things that make sense for ourselves, and it really boils down to a very simple equation: "I will get more effort out of other people working on it too, than I have to give back."
And yes, you can be a free-loader, and not do anything at all, but on the other hand, if you do that you don't really "cost" anything to any of the people who truly help in development, and you also won't actually get your specific needs looked at. So to get the most out of the whole process, you really do end up having to help with the process yourself.
That's a kind of beauty, to me. People are encouraged to chip in and help, not because of some political agenda, or because they try to be "good people," but simply because it helps themselves more than not chipping in and helping would. That's what I would call "positive feedback!"
So I think that playing politics with the license is actually anti-productive. The GPLv2 encourages working together by having the minimal possible rules, and exactly because it only has those minimal rules (which really just boil down to: "you have to make your changes available under the same license"), everybody can play.
And I think everybody is a lot more powerful than just "the people we think do the right thing."
InformationWeek: Will the movement away from established copyright language impact GPLv3's enforceability in court?
Torvalds: That's a legal question, and not one I overly care about. The GPLv2 has been shown to be enforceable in court, and I'm really happy about that. But whether the GPLv3 will be more or less so is not something you should ask a technical person like me, you should ask a lawyer. I bet you get about twice as many opinions as lawyers you ask, tho.