GPLv3: What Richard Stallman Said
More than anyone else, Richard Stallman is driving the GPLv3 debate (although Eben Moglen is clearly another crucially important figure). What follows is a transcript of a short interview that took place on 6 October, 2006. In it, RMS talked about the issues that lie behind the GPLv3, and gave his thoughts on the concerns expressed by the Linux coders, some of which were raised in the posting below.
Could you give a little background to the drafting of the GNU GPLv3?
The purpose of the GNU GPL is to defend for all users the freedoms that define free software. It doesn't make sense in terms of open source. It's the result of implementing the philosophy of free software in the most strong way that we can. So all the version of the GPL have prevented middlemen from restricting subsequent users by changing the licence. Some free software licences permit that, for example the X11 licence permits that. The various BSD licences permit that. But the GPL was specifically designed not to permit that - you cannot add restrictions making the program non free.
Now, what we didn't have 15 years ago was the threat of making the program effectively non free by technical restrictions placed around it. That's what Tivoisation is. Tivoisation means taking a free program and distributing a binary of it, and also providing the source, because the GPL requires that. But when the user changes the source code and compiles it and then tries to install the changed program he discovers that that's impossible because the machine is designed not to let him.
The result of this is that freedom number 1, the freedom to study the source code and change it so the program does what you want, has become a sham. Tivoisation is essentially a way to formally comply with the requirement, but not in substance.
So we've come to the conclusion that this is more than just a minor issue. That this will be common, probably the usual case, if we don't do something to stop it. And therefore we've decided to do what is necessary so that our software will not be Tivoised. Our purpose is to deliver freedom to the user.
Why do you think there has been such an outcry in some quarters recently?
I don't know. A few people are upset.
A few people including most of the key kernel coders...
Their business. That's their program and they can decide whether to use this licence.
Seems clear they will stick with GPLv2?
I hope not, but if they do it's up to them.
If that happens, is that going to cause any problems for GNU?
It won't cause any problems for us, only for the public. The problem it will cause is Tivoisation. It will cause the problem that users don't have the freedoms that they should have. And that's a very big problem, but it's not a problem specifically for us, it's a problem for everyone. The problem is that many people will get machines in which Linux has been Tivoised. Which means that for practical purposes it won't be free for them.
If that happens, would you put more effort into the Hurd?
I don't think so, and the reason is that wouldn't achieve much unless we convinced everyone to switch to the Hurd from Linux, and that isn't too likely. The Hurd still has some technical problems, and who knows if it would ever become a competitor. But suppose somebody wanted to Tivoise, and he had available the Hurd and Linux to choose from, and Linux permits Tivoisation and the Hurd doesn't: the solution would be to use Linux.
Some people make the argument that if GPLv3 is applied to Linux, companies might simply adopt a different operating system for their products.
I don't think so.
You don't think they might use BSD or Windows?
They might, who knows? I don't think it's very likely, but the main point is it's no use giving up on a fight because you might lose, not when the fight is for something very important like freedom.
Is there anything you can do to assuage concerns of the kernel coders without giving up your principles?
I don't know. If they would just speak with us. we can explore that possibility.
Are they not doing that?
Basically no. Just recently we have had a couple of communications with them, not yet reaching the stage of being entirely civil in tone, but at least it's a start. We've been inviting them to talk with us since before we started publishing drafts, but they have not for the most part taken up that offer. In general they've made statements to the public instead of to us. And some of them are based on misunderstandings of the draft and of our intention. They're talking to each other not to us. But it's not too late for them to start if they wish to talk to us.
Is there scope to rephrase the clause that deals with Tivoisation?
We can rephrase it in a lot of different ways. We just recently decided on a change, which is that the requirement for keys would no longer work by calling them part of the corresponding source. This is a change in the details, but the substance is the same, the aim is the same - to change that would be giving up.
The two philosophies of free software and open source in some cases lead to similar conduct - in fact, in many cases. That's why it was so easy for the people who support open source to apply their label to what we're doing. Because if you're participating in a free software project it usually doesn't matter whether your goal is to give users freedom and to establish freedom in cyberspace or just have powerful and reliable software, because either way you could do the same things. And there's no need for people to ask each other: What's your philosophy, why do you want to contribute to this project? - they just start contributing, and they work on making the software better, and they focus on that.
But there are cases where these two different philosophies lead to different results. For instance, some people have proposed what they call “open source DRM” - DRM meaning “digital restrictions management”. This is a plan to develop software to put in machines that will restrict users, and then publish the source code of this. The idea is that programmers around the world will work together making that software do its job better, that is, restrict the user more inescapably, more reliably, more powerfully. Although the source code of this software will be published, they plan to use Tivoisation to make sure that the users can't escape from their power.
Now, if your goal is to give the users freedom, restricting the users through open source is no more tolerable than restricting the users any other way, because the users have to have the freedom.
Have you tried talking to TiVo about this?
No.
You don't think it might be useful?
No, not really. And the reason is they're just the first example. If it were only that one company that were the problem, we probably wouldn't pay attention because it would be a small problem. But the idea is floating around, and there are many different plans to use it.
Couldn't you help TiVo do what they want to do with free software?
They initially did. This Tivoisation was not in the first TiVo box. The point is, it's pressure from Hollywood. And the best way to have a chance of negotiating something with those who are under the pressure is first to set up counter pressure.
The problem being that a hacked version of TiVo could circumvent any DRM?
Exactly. And the point is, DRM itself is evil. Restricting the user's freedom in other ways so that the user cannot change the software and get rid of DRM makes the software effectively not free for that user. So we have these two philosophies, and here they make a big difference. You can imagine open source DRM, and if all you care about are the philosophical values of open source, you might think it's great. If you only want software to be powerful and reliable, you might tend to apply that to software whose purpose is to go in somebody's machine and restrict it, and you might think, “Sure I'll help you make that powerful and reliable.” But if you believe in free software, and you think that the user whose machine it is should be in control of what that machine does and not somebody else, then the aim of that project becomes wrong in itself. Free software DRM makes no sense - it's a contradiction in terms.
Are you worried about the prospect of GPL projects forking?
It can happen. But again, there's no use not fighting, there's no use surrendering to this threat. It's too dangerous.
Are there any other points you'd like to make?
There are people who seem to imagine that some disaster will happen because some programs in the GNU/Linux system are using GPLv3 and some are using GPLv2, but in fact there are many programs with other licences in the system as well, and there's no problem there at all.
There are many people who would like to come across some disastrous flaw in GPLv3. If one person says he's found it, the others repeat it without stopping to make sure it is for real, because they consider it the answer to their prayers.
But you think they'll work together without problems?
I know they will, because these programs are separate programs, and the licence of one has no effect on the licence of another.
Now, I wish that everyone would switch to GPLv3 because that would give the strongest possible front to resist Tivoisation and ensure the freedom of the users. But I know that not everybody will participate, nonetheless we have to try to defend the freedom.
Happy hacking.
Update
Richard Stallman has sent me a comment on Alan Cox's reply:
While I addressed the topic you proposed--version 3 of the GNU General Public License--Alan Cox chose instead to present a misleading picture of the history of GNU and Linux.
The GNU/Linux system comes out of the effort that I began in 1983 to develop a complete free Unix-like system called GNU. GNU is the only operating system that was developed specifically to respect computer users' freedom. Since our goal was to achieve freedom as soon as possible, we utilized the scattered existing free software packages that would fit. That still left most of the components for us to write. In those years, we of the GNU Project systematically developed the essential components of this system, plus many other desirable components, ranging from libraries to text editors to games.
In 1991, Linus Torvalds developed a kernel called Linux--initially not free software, but he freed it in 1992. At that time, the GNU system was complete except for a kernel. The combination of Linux and the GNU system was the first complete free operating system. That combination is GNU/Linux.
Cox says that Linux is not part of the GNU Project. That is true--of the kernel, Linux, that he and Torvalds have worked on. But the combined system that Cox calls "Linux" is more our work than his.
When Cox says that "FSF-copyrighted code is a minority in [GNU/Linux]", that too is misleading; he knows that just a fraction of the GNU packages' code is copyright FSF. What part do GNU packages compose in the whole system? Many are just as essential as Linux is.
In 1995, GNU packages were 28% of the system, while Linux was 3%. 28% is less than half, so that was a minority; but it is a lot more than 3%. Nowadays, after thousands of other groups have added to the system, both the GNU and Linux percentages are smaller than before; but no other project has contributed as much as the GNU Project.
Calling the combined system GNU/Linux is right because it gives the GNU Project credit for its work, but there are things more important than credit -- your freedom, for example. It is no accident that the GNU GPL existed before Linux was begun. We wrote the GPL to protect the freedom of the users of GNU, and we are revising it today so that it will protect against newer technical methods of denying that freedom. When you think about GPL issues, this is the background for them.
If the developers of Linux disagree with that goal, they are entitled to their views. They are entitled to cite their important work--Linux, the kernel--to be listened to more, but they should respect our right to cite the GNU system in the same way.
See http://www.gnu.org/gnu/gnu-linux-faq.html for more explanation.