Transcript of Richard Stallman at the 4th international GPLv3 conference; 23rd August 2006
See our GPLv3 project page for information on how to participate. And you may be interested in our list of transcripts on GPLv3 and free software licences.
The following is a transcript of Richard Stallman's presentation made at the fourth international GPLv3 conference, organised by FSF India in Bangalore, India, with the Bangalore Free Software Users Group.
Video and audio recordings are available:
- Audio: http://gplv3.fsf.org.nyud.net:8080/static/gplv3-india-audio.tar
- Video: http://gplv3.fsf.org.nyud.net:8080/static/gplv3-india-video.tar
Transcription of this presentation was undertaken by Ciaran O'Riordan. Please support work such as this by joining the Fellowship of FSFE, and by encouraging others to do so.
The speech was made in English.
- The presentation
- Patents - a promise not to sue
- Patent retaliation
- Licence compatibility
- Audience question on the goals of the GPL
- Back to compatibility
- Distribution by Internet
- Q1: Using the gpl for non software works
- Q2: Why not a broader patent retaliation
- Q3: Linux, Linus
- Q4: Did Linux help GNU
- Eben Moglen explains the DRM changes
- Q5: Freedom and thin clients
- Note: About "intellectual property"
- Q6: Affero and web services
- Q7: Freedom may require inconvenience
- Q8: Free Software needs to be made easier
- Q9: A comment about the download change
- Q10: Mechanically defining infringement
Richard Stallman: The overall topic of this speech is what we've changed in the GNU GPL.
In order to speak about this, I need to remind people what the point of it is. The reason we change the GPL is to make it do it's job better, so what is that job? That job is protecting the freedom of all users of our software.
Specifically, this refers to four essential freedoms, which are the definition of Free Software.
Freedom zero is the freedom to run the program, as you wish, for any purpose.
Freedom one is the freedom to study the source code and then change it so that it does what you wish.
Freedom two is the freedom to help your neighbour, which is the freedom to distribute, including publication, copies of the program to others when you wish.
Freedom three is the freedom to help build your community, which is the freedom to distribute, including publication, your modified versions, when you wish.
These four freedoms make it possible for users to live an upright, ethical life as a member of a community and enable us individually and collectively to have control over what our software does and thus to have control over our computing.
So any program that gives you these four freedoms is Free Software. Any licence that respects these freedoms is a Free Software licence. Anyone could in theory write another licence and it would be a free software licence if he does the job right and it respects these freedoms. So there isn't a fixed, closed set of Free Software licences. Any licence that gives the users these freedoms is a free software licence, and Free Software in general needs to have a free software licence because, with today's copyright law, everything that is written is automatically copyrighted.
It's a very foolish decision, a completely foolish policy, but that's the way it is, and copyright law by default takes away most of these freedoms, so the only way something can be Free Software is if you put an explicit statement on it to give people back the freedoms that were taken away.
So there are many Free Software licences, they all of course are similar in a very basic way, because they all respect the four freedoms, but there's more than one way to do that and the biggest distinction between classes of Free Software licences is that of copyleft.
You see, all Free Software licences must give freedom three, which is the freedom to distribute, including publication, of your modified versions, but there's more than one way to do that. For instance, some Free Software licences permit publication of modified versions with no limits on how they are published, so that modified versions can even be proprietary.
For instance, the licence of X11 is like this. We call it a lax licence because it has essentially no requirements except to preserve the copyright notice and the licence notice so people can use the code in almost any fashion including denying freedom to other users. The developers of the X Window System did that, I would think, because they were more interested in popularity, for their code, than in promoting freedom. But in developing the GNU operating system, my goal was specifically to give users freedom. I wanted to make sure that everyone who got the code also got the freedom. So I developed the technique of copyleft where a licence says: "any version of this that you distribute, must be under the same licence". In other words, the users that get copies from you, must get from you the same respect for freedom. So the freedom passes on through every distributor to reach every user.
Another way of saying this is that, with copyleft, we have made these four essential freedoms into inalienable rights. Freedoms that no one can lose because everyone is entitled to them. Or, that is, you can't lose them except through wrong doing, or as a consequence of wrong doing.
Another way to look at it is to say that in order to ensure that the freedom reaches you, we have to prohibit middle men from stripping away the freedom from the software before the software gets to you.
It is this technique of copyleft that has made the GNU General Public License popular. It's used for around 70% of all Free Software packages. And this is a lot bigger than the number of GNU packages. That is, software packages that are released by the GNU project, contributed to or developed for the GNU project - "GNU packages". But there are only a few hundred of those. There are thousands of Free Software packages that have nothing to do with GNU directly, but they use the GNU General Public License. The licence was written so that anyone who is writing and publishing a program can put the licence into it and license his program that way and many have done so.
This is the purpose of the GNU GPL - to defend freedom for all users of the program. So when we change the GNU GPL, we change it to make it do this job more effectively. Partly the reason for these changes have to do with our increased knowledge of variations between copyright law in various countries. The GNU GPL seems to work, more or less, in most of the World. It's been tested in court in Germany, for instance, and lawyers in a lot of places say it will work, but in version three we've paid attention to making sure it will really work the same, as much as possible, in all countries.
But another reason for change is when somebody figures out a new way to attack our freedom. There are problems that we face today that nobody thought of back in 1991, so we're trying to rearrange our forces to resist these threats.
Finally, in some cases we simply think of a way to make things better for the community.
So there are changes for all of those reasons. Let me start mentioning some of the specific changes.
GPL version two has conditions for distribution. It turns out that the meaning of "distribution" varies quite a bit between countries. And then there are other things like "public performance", "making available to the public", in various countries copyright law, and we wanted to make sure that all these activities were permitted in the appropriate way because the danger is that if we fail to explicitly permit them, then they might be prohibited by default and that would not be good.
So, in GPL version three, we have now defined two new terms: "propagate" and "convey". "Propagate" means, basically, copying and/or distribution but it's not defined that way. It's defined in a way that will get uniform results. It's basically: anything that copyright law covers, other than running the copy or modifying it. So that's basically going to mean copying and distribution, but some other things too. Whatever there might be. So when we're giving permission for propagation, we're automatically giving permission for whatever other things might need it. But we divide propagating into two kinds. The kinds that end up giving other people copies, and the kinds that don't.
When it results in others having copies, we call that "conveying" copies to others. Where we used to put conditions on "distribution", we put them on "conveying". This way, it doesn't matter how a country's copyright law categorises different activities because we have categorised them the way that's appropriate for our goal.
Regardless of how the law classifies your doing that, whether the law calls it "distribution", or "communication to the public", or whatever, that isn't going to affect the GPL's conditions. The conditions do depend on some other criteria that we've stated, of course.
So you'll find that throughout the GNU GPL, there's very little mention of the word "distribution". There are only occasional special reasons why we would talk about that. Instead we'll talk about conveying. That is, doing things such that others get copies, and no matter how you do that, the conditions are the same.
[Section: Patents - a promise not to sue]
One area that is the reason for a lot of change is: dealing with software patents. We used to take for granted that someone who distributed copies of a program could not sue his customers for patent infringement, but apparently, in some countries that's not clear. It would obviously be treachery, but, these laws are not designed to be just.
And there's the further question, if someone distributes copies to people and says to them: "you have permission to redistribute this to others". Could they sue those others for patent infringement afterwards? Apparently this is not so clear either. In the US, it is clear: they couldn't. They've already said this is ok, and once they say "this is ok, we agree you can do this", they can't turn around and sue. But to make this completely clear worldwide, we have put in an explicit promise not to sue.
Our first attempt, in the first discussion draft, called it a patent licence, but we decided that phrasing it in terms of a promise not to sue made it more legally clear and more certain to hold up.
[Section: Patent retaliation]
So that's one big area. Another area relating to software patents that we thought about a lot is the area of patent retaliation. You'll notice that many Free Software licences, especially those developed in the past seven years or so, have patent retaliation clauses which say: "if you sue, in such and such conditions, for patent infringement, then you lose the right to use this program". Now, I said "in such and such conditions" because each of these licences has a different condition on it. They're not all the same. These various patent retaliation clauses are quite different from each other. What they have in common is that a user can lose the right to use the program, or lose the right to distribute the program, as a consequence of suing for patent infringement.
How do these differ? Some of them are totally selfish. For instance, I think Apple is an example. Apple has a Free Software licence which says "if you sue Apple for patent infringement, then you lose the right to run this program". Is it "run" or "distribute"? I can't remember.
This is obviously not an attempt to create justice, this is just an attempt to give Apple an advantage. But there are others that say "if you sue anybody for patent infringement for using this program, then you lose the right to distribute" ...or run or whatever it is.
This is a lot more appropriate because this isn't giving one party an advantage. This is just trying to protect everybody from a dastardly kind of attack.
So patent retaliation isn't necessarily a bad thing. It can be perfectly legitimate. When we saw this idea, we started thinking about doing a thing like this ourselves. So the question was: what kind of patent retaliation should we do? What is effective? What is necessary?
We ultimately concluded that there is one specific case of patent retaliation that was important for us to do. That is, concerning the case where somebody has privately modified a program, which means he doesn't release it and he doesn't have to release it, but then someone wants to make similar modifications and the first guy sues him.
Y'know, someone, for instance, got a GPL'd program and put it on his network server and makes improvements, and since he's not distributing it, he doesn't have to make the source code available, but people talking to his server will see the improvements. So someone else might think "I'll write them too". What if the first guy has patented the techniques that went into those improvements and then starts suing other people that tried to implement it themselves?
Well, we figured out a way to set up patent retaliation in that case. The one who does this kind of patent law suit loses the right to modify the program any further. Which means he effectively can't maintain it, which means it's effectively not usable for his business because, for a business to be using a program that can't be maintained is a very precarious situation.
It's written this way because we didn't really want to try to take away that persons right to run the program, not explicity. We felt that would be going too far, both legally and ethically. So, instead, just retaliating by taking away the right to modify the program ought to be just as effective in practice, unless some business wants to be running a program they're not allowed to maintain. Which would be not practical. In effect, they can't feasibly run it for their business anymore. We hope that will do the job.
...to the extent that patent retaliation can protect us, because of course, the threats of patents can come from any direction, and there's no reason to assume that the patent holder has been kind enough to make use of our software at all. It's only a tiny fraction of the danger of software patents that we can even try to protect against, using a Free Software licence. The only real solution to the problem of software patents is not to have any.
Audience member: [inaudible]
Richard Stallman: Yes, but there are countries that have software patents. We can't wipe them out by writing something in our licence or by having an opinion. So, given the existence of countries that have software patents - it's not just the US - we've got to consider the question of whether we can sometimes protect ourselves. And this is not the first time.
Section 12, which used to be section 7, is a previous attempt to protect ourselves. That's the clause that says if you are told you can't distribute in accord with the GPL, then you can't distribute at all. So this prevents somebody from getting a patent licence which allows him to distribute in a very limited way and then doing so.
This, essentially, makes everybody resist by taking away the possibility of selling us out.
Audience member: So, if I may continue, you must have considered this, how about adding a clause that says if you ever sue anybody for a software patent on any software, you lose the right to use this software.
Richard Stallman: Well, first of all, we don't want to do that because when somebody is sued, he's going to try to counter sue, and this is a very common practice, so we don't want to retaliate against those who are suing as retaliation. We only want to retaliate against aggression. So, indeed, we've made a provision for that, and I'll talk about that under "licence compatibility". We haven't done that, but we'll let you do that.
We keep looking for ways to protect the users from the danger of software patents, but there's only a limited amount that any software licence can do this. The thing that makes software patents so dangerous is that somebody that you've never heard of and with whom you have no relationship whatsoever can have a patent covering a technique that you implemented, and sue you for the code you wrote.
This is precisely why software patents are so bad, and since you have no relationship with that person, there's no opportunity for any licence on your software to have any effect on him. So all we can do is get rid of a small part of this large danger for all software developers.
Another area that we're trying to deal with is tivoisation and DRM. DRM - Digital Restrictions Management - is the practice of distributing to the public, software, or hardware, whose purpose is to restrict the public. It's set up by conspiracies of companies that are formed with the specific purpose of restricting the public's use of technology.
This ought to be a crime. And, if we had governments of the people, by the people, for the people, then the executives of those companies would be in prison. But they're not in prison, and the reason is that we have government of the people, by the sell-outs, for the corporations.
These conspiracies exist and they don't even try to hide. They set up websites. We don't have to speculate. We don't have to look for evidence to prove these conspiracies because they admit exactly what they're doing. They're not secret conspiracies, but they are conspiracies.
Our supposedly democratic governments are not satisfied merely with allowing them to set up these conspiracies. They actually give these conspiracies special help. This started in the United States with the Digital Millennium Copyright Act. That law says many things, but the controversial part is the part that says "whenever a work has been published as part of a conspiracy to restrict the public, so that the authorised players all restrict you, then any distribution of another player, which doesn't restrict you, is illegal".
Consider DVDs. DVDs are an example of this - Digital Restrictions Management. The movie is in encrypted form, and the idea is that the DVD conspiracy will only give a company the secrets of this format if the company agrees to restrict the users according to the rules of the conspiracy. So all the authorised players restrict the public the same way, and no progress is being made in terms of new features in DVD players because the conspiracy won't allow it.
But then some people figured out the format and they wrote a free program which could play a movie off a DVD. And this program, which is called DeCSS, has been censored by a court in the US. Distribution of this program is illegal. Even telling people where to find it, where they can get it overseas, is illegal.
So DRM is not just a matter of implementing a nasty malicious feature in the program itself. It goes further than that and it becomes an attack on our freedom, through the effect of these laws. The United States has such a law, the European Union has such a directive which, has been implemented in an extremely nasty fashion in most of the countries, and now India is considering a similar law, and the deadline for comments was last month. It was sped up. They were considering this law, and then they decided they had to rush it. Why? I guess because if the citizens knew that their freedom was being attacked, they might get organised and say "don't do this".
It's vital to organise on this issue now. There's no obvious national emergency that would argue for acting hastily in a change in the law that could easily have an effect for decades. There's nothing urgent, but they're rushing anyway.
[untranscribed: Richard has a dicussion with someone about distributing material the following day about this proposed law]
First they implement software that restricts the user. Then they want to make it illegal to change that, but they want to do this with Free Software too. They want to use GPL covered software to implement restrictions on the user and then forbid the user to take them out. This conflicts conflicts directly with freedom number one. When you get a copy of a GPL covered program, you're supposed to get the freedom to study the source code and change it so that it does what you want, but the DRM implementers don't want you to be able to change it. They want to take advantage of this freedom by putting in their change, so that they implement DRM, they make the program restrict you, and then they want to stop you from having the freedom to take it out.
And, of course, they want to stop you from having to distribute versions in which it has been taken out. For this, they employ a technique that we call "tivoisation". It's named after a product called the Tivo which records all the television channels in parallel so that the user can watch television shows at any time later on.
The Tivo has various forms of nasty features in it. For instance, it won't let you copy any of these recordings out of the Tivo, and I think it erases them eventually, and it also spies on the user by reporting everything that the user actually watches.
The Tivo includes a GNU+Linux operating system as the base. And since this is under the GPL, and some parts being under the LGPL but for this it's the same, they are required to provide the source code to users, and the users get the freedom to modify the code. So you could modify this code, you could compile it, you could install it in your Tivo, and then it won't run. Because the Tivo is designed so that if it sees the code has been modified - if it's not a version that was authorised by them - it shuts down.
So it has a list of checksums of authorised versions, and unless your version is in there, you can't run it at all.
In other words, tivoisation makes freedom number one into a sham. Theoretically, ostensibly, the users are free to modify the software to make it do what they want, but practically speaking, the freedom is a joke.
It's not supposed to be a joke, it's supposed to be for real. So we've made changes in GPL version three to resist tivoisation.
The basic change is that if someone, say the manufacturer of the Tivo, provides you a binary, then he must, as part of the requirement to provide the source code, give you whatever it takes to authorise your version so it will run.
So we have not prohibited DRM. You can modify a GPL covered program to do anything at all, including restricting the person using it. And you could distribute that to other people, but we insist that they have the four freedoms so that they are free to take out the malicious feature that you put in.
Freedom has to be for everyone. Freedom doesn't mean the freedom to subjugate someone else. Freedom means everyone controls his own life.
Because of these various laws that have been adopted or proposed in various countries, making it illegal to modify the software to bypass these conspiracies, we've put in another clause - actually a pair - which were designed to overcome that. There's one thing which is designed for the US law, and there's another with is designed for the European directive, and in both cases they say: "if you distribute a GPL covered program as part of the technical means of restricting the users, then you're also giving the users permission to bypass those restrictions".
So, yeh, you can write restrictions into the code and distribute that, but you can't cite the restrictions in the GPL covered program as a basis for prohibiting the user's other software which is designed to escape from the restrictions you put on it.
[Section: Licence compatibility]
Aside from this, the bigest change in GPL version three, as we've drafted it so far, is a change for licence compatibility. This is an area where the goal is simply to make the licence work better for the community. It's not responding to any change, but just our realisation that we can help things.
We have formalised what it means to add additional permissions or additional requirements to the GPL. Adding additional permissions is nothing new. There are lots of programs that say: "you can use this under the GNU GPL version two or later, and in addition, we give you permission to do this and that".
That additional permission comes from whichever developers put it on their code, so somebody making a modified version doesn't have to propagate this additional permission. He could release his modified version under the pure GPL, but he could also give, if he wishes, the same additional permission with his code by keeping the additional permission on there.
This is not obvious. It takes a bit of thinking to realise that this is how things work, so we have explicitly stated it. You can add additional permissions to your code, and then people who pass it along can keep it or take it off, and people who modify it can extend the additional permissions to their changes, or not, as they wish.
This is not a change, this is just formally stating what's true anyway.
The change is, at the same time, we also let you put certain kinds of additional requirements explicitly on your code. Some of these additional requirements are essentially trivial, and our view is that you could always add them. Like, a licence which says: "you can't remove my copyright notice from my code". That's trivial. We consider such licences to be compatible with the GPL already.
But, in addition to those, we've also permitted a few kinds of substantive requirements. Some of which are not trivial, and which therefore increase the range of existing licences which are compatible with the GPL. This includes, for instance, copyright-based requirements not to misuse certain trademarks. Now, there are some licence which simply state: "such and such is our trade mark". That has nothing to do with the licence for the copyright on the code. So there's no incompatibility there. Trademark law is a different law, and if they have a certain trademark, they're saying: "here's what we do with our trademark".
There are some licences which say: "as a condition for doing things under the copyright on the code, you have to obey our trademark requirements". That's different, that does conflict with the GNU GPL in version two, but in version three we have explicitly given permission to add this kind of requirement.
So this just means that there are certain licence provisions that are actually in use which no longer will create an incompatibility. People will be able to merge GPL covered code and Apache code, for instance. That'll be quite useful.
There's another provision in the Apache licence, a patent retaliation provision, and in fact we've also given permission to add certain kinds of patent retaliation permissions. I told you before that some kinds of patent retaliation are just, and some kinds are just a power grab. We had to design these conditions to distinguish patent retaliation that promotes justice from patent retaliation that just grabs advantage. We permit the former and not the latter.
[Section: Audience question on the goals of the GPL]
Audience member: I have a question. In this fast, commoditising World...
Richard Stallman: I don't know what that means, so I'm not sure I agree that the World is that.
Audience member: [...] in this new World, and you're talking about GPL going over to the next version, how do you see proprietary software businesses making a profit?
Richard Stallman: That's unethical, they shouldn't be making any money. I hope to see all proprietary software wiped out. That's what I aim for. That would be a World in which our freedom is respected. A proprietary program is a program that is not free. That is to say, a program that does respect the user's essential rights. That's evil. A proprietary program is part of a predatory scheme where people who don't value their freedom are drawn into giving it up in order to gain some kind of practical convenience. And then once they're there, it's harder and harder to get out. Our goal is to rescue people from this.
Of course, the GNU GPL only applies to programs that are released by their developers under the GNU GPL. So whatever we put in the GNU GPL, it doesn't affect all software, it only affects the software whose developers release it that way. So we can't get rid of proprietary software by writing the GPL this way or that way. What we can do, however, is make sure that our Free Software is not made proprietary by anybody, and that's the idea of copyleft. It's saying that when you redistribute this, with or without changes, you must do it under this licence.
The goal of this is precisely so that nobody can get away with making proprietary software out of our code. What we've said is: proprietary software is wrong, we can't in general stop you from releasing proprietary software. We can refuse to use it, and that's what we do, and we can make Free replacements for it, and that's what we do, but we can't stop you from releasing it, but we can stop you from copying our code into it. There, copyright law gives us, essentially, this power, and we're using this power, not to gain power over others but just to protect everyone's freedom.
But I want to get back to what I was saying.
The point is that these changes in GPL version three have no effect on any of that. As you can see from the changes I've described, they all affect detailed aspects of the situation. Your question only relates to the general purpose of the GPL, which is not changing and will never change. So none of these changes I've described will have any relationship to that question.
One can ask: "How do businesses respond to GPL version three?" But I won't answer that now, I'll leave Eben something to say.
[Section: Back to compatibility]
So, in effect, what this increased compatibility does is it makes copyleft a little bit looser. Now, when you change a GPL covered program, the licence of your version doesn't have to be exactly the same. There is a certain limited and precisely defined range, within which you can change it.
Another change we've made has to do with BitTorrent. BitTorrent is a system that helps lots of people redistribute copies of something, and it's quite often used to distribute Free Software. And it turns out that the way BitTorrent works is not allowed by GPL version two. It's so strange, the way it works, that anybody who is downloading it is automatically distributing it - whether he knows it or not - but of course we want BitTorrent to be allowed. So we designed a new clause which allows BitTorrent, which permits it to be used, and in general gives permission for people to just go ahead and do peer-to-peer distribution in harmless ways.
[Section: Distribution by Internet]
Another change that we have proposed, but we have not finally adopted - and we're looking very much for comment on this - is for the requirement for how you must provide people source code on demand, if you have distributed binaries without source code.
In GPL version two, and always in the past, what we said was: when you distribute binaries, you must either provide source code alongside them, or provide people a written offer by which they can order the source code by mail.
People said: why not just say you could put the source code on a network server, and let people download it?
The reason is, downloading large amounts of software was just so slow that it was not feasible. For most users, to download the source code corresponding to an entire CD-ROM fifteen years ago was just ridiculous. If we had permitted that, it would have effectively saying: you don't really have to make the source code available, not in a practical way.
But things have changed, and it's not just that a lot more people have broadband, even in some fairly poor countries, but there are now services where you can just say, for a very small amount of money: please copy that off the Net and mail it to me on a disk. And this is actually cheaper than the mail orders than the actual distributors would have had to do. The result is that it seems that we can now give them the option of just putting the corresponding source on a network server that they're going to keep running for a certain minimum period of time after distributing the binaries.
Please look at that issue and comment to us, because if there is a problem with this, it would be in poorer countries where there are a lot of people that can't afford broadband. So the question is: is this really adequate? Please take a look.
Another place in which we've made a change is with regard to termination. The licence only terminates in response to wrong-doing. That's what it means for these freedoms to be inalienable rights. In GPL version two, you lose your rights under the licence if you ever violate it, and that's automatic. Of course, legally, to make this effective, the copyright holders are going to have to enforce it. They're going to have to say: "we want an injunction, you've got to stop distributing this because you've violated the licence, you forfeited the licence, so now we want the court to enforce that".
But the point was that the termination itself was automatic and instantaneous. This is actually not really so good when people make violations accidentally, because even if they notice it the next day and correct it, they still have lost their rights.
If you do this with one program, you can go to the developer and say: "would you please give me back my rights, it was an accident and I've corrected it?" And the developer will usually say "yes" because why would he say "no".
But what if you do this with an entire GNU/Linux distribution with three thousand programs in it? And what if there are a hundred thousand or a million copyright holders? It's just not feasible. What we have done is, we have changed GPL version three to say that the termination doesn't happen instantly. Instead, the copyright holder can terminate your rights by just telling you: "I've terminated your rights". But if you correct the problem, and then the copyright holder waits and doesn't terminate your rights within a certain period time, then he can't do it anymore.
This way, if you make a mistake in the way you distribute a GNU/Linux distribution and somebody tells you and you correct it, and then a period of time goes by and nobody complains, then you're safe. Of course, if you keep on violating the licence, they can always terminate your licence. It's only if you've corrected it and then time goes by that you are then safe.
So, I think I have described all the substantial changes. It's now eleven o'clock. I guess that's probably less time than they figured, but I suppose, why not be briefer than expected. But I'll answer some questions before I go away.
[Question #1: Using the GPL for non-software works]
Richard Stallman: First of all, the GNU GPL can be used for any kind of work. I wouldn't always recommend it for all kinds of works. For instance, for a research paper. A research paper is a report of what some people have seen, and I think the appropriate licence for that is "verbatim copying only". Just as that's the appropriate licence for an essay of opinion, I think. That's why I use that licence for my essays of opinion that you can find on gnu.org.
But certainly, it can be used for things that are not programs, and is. Any kind of work that isn't meant mainly to be distributed in printed form, you could perfectly well use the GPL. And actually, there's the possibility, if we go ahead with this "you can distribute the binaries and then make the source available for download", maybe the GPL is heading in the direction of being OK for books too. It will take more thought to consider that. We're not going to deal with that in GPL version three. But it's an interesting avenue for the future.
[Question #2: Why not a broader patent retaliation]
Q2: Why did you not consider, or did you consider and reject, having a broader patent retaliation clause in the licence?
Richard Stallman: We concluded that in other cases than the one where we did it, it was not likely to be effective. We do not want to stand in the way of other people doing it, and we don't want to reject compatibility with other licences just because they do it, but it didn't look like it would be effective. Of course, if someone proves us wrong, then maybe we'll do it.
[Question #3: Linux, Linus]
Q3: [barely audible: the question is about the Linux kernel]
Richard Stallman: Linus Torvalds objects, with an irrational kind of stubbornness, to one of our goals. Namely, preventing tivoisation. He wants people to be able to tivoise the products that you use, and thus take away your freedom.
This should not be surprising. Linus Torvalds never supported the Free Software movement. He sort of accidentally drifted into making a contribution to the Free Software community, but not because he ever supported our goals. And so he has actually said that he is against our aims of defending freedom for all users. What can you do?
Well, he doesn't have to use it if he doesn't want to.
[Question #4: Did Linux help GNU]
Q4: The question I had is a follow up question on the tivoisation issue. One of the, I would say that, even if Torvalds was not really aligned with the goals of the Free Software Foundation. I would say that the success of Linux was instrumental in bringing a lot of people into the fold of GPL...
Richard Stallman: Yes and no, but remember though, that when people talk about "the success of Linux", usually they mean the success of GNU, because usually when they say "Linux", they are talking about the GNU system, and most people are not aware of this. Most people, when they look at the GNU system, they think it is Linux and they think it was developed by Linus Torvalds. They don't realise that we had it mostly finished already and he just wrote the one last piece.
Q4b: Even if I grant that, because I have no reason to disagree with you on that statement, the point I'm trying to make is, many governments, for example, have take a policy decision, not to align themselves with proprietary software because they now have an alternative platform on which they can build applications...
Richard Stallman: Sure, but if you're trying to argue that Linux the kernel, which Linus Torvalds did write, is an important contribution, I agree completely. That was the step that carried us across the finish line. Before that, we had most of an operating system, but with one crucial piece missing, most of an operating system doesn't do the job. He put in that one missing piece and we had a complete system, and that was a lot better.
It's a large piece, and it's an essential one, so of course it's an important contribution. I'm not going to deny that.
But the point is, he did it for other reasons. He never really agreed with us, so it shouldn't be a surprise that he doesn't agree with us now.
Q4c: Yes, but the point I'm trying to make is that, I would say, the open source movement has been very successful, largely because of the GPL version two licence...
Richard Stallman: Well, I'm rather sad about that because I don't agree with the open source movement. I've never supported open source and I never will. Open source is the way that people co-opt our work and bury our ideals.
Linus Torvalds is an open source supporter. If you look at the things he says, you'll get an idea of the ideas of open source, which are quite different from what I've said today. I'm talking about the Free Software movement which I founded twenty-three years ago so that we could use computers and live in freedom. It's all about freedom. This is exactly what the open source rhetoric tries to bury.
They never talk about freedom as their goal. They don't say: "you are entitled to the freedom to change and control the software you use, and the freedom to share it so that you can cooperate with others". They never say you're entitled to anything. The very idea of raising this as a moral issue, they reject. That's why they focus on talking about a development methodology, and they recommend the development methodology because they say it tends to result in practical advantages.
Well, I'm glad to the extent that's true. If respecting people's fundamental freedoms as software users also results in powerful reliable software as a by-product. Great, that's a nice bonus. But I would insist on freedom even if it meant less reliable, less powerful software because I want to live in freedom, and I want to work for you to have freedom too.
This is what the open source people won't say. The whole point of open source is to avoid ever mentioning this. So, I'm not necessarily happy that the open source movement, to the extent it is a movement, has success.
I say "to the extent it is a movement" because the free software movement is a social movement. It's a social movement in every sense. Open source is not. It's a kind of campaign, but I'm not sure it's a movement.
In any case, to the extent that their success is also our success, I'm glad. At the practical level, it often is. Most open source licences are also Free Software licences. Nearly all the time, when somebody is convinced by the open source movement and develops an open source program, it is Free Software. So it's a good thing. Practically speaking, that work is a contribution to our community. I'm not going to criticise it just because of what motivations it had. But, at the deeper level of teaching people to value freedom, which is the most important thing we have to do, the talk about open source does not help us. And you can see the difference between these philosophies showing up in the disagreement between Torvalds and us.
Q4d: I appreciate that clarification, I think that certainly helped me. I did have a very specific question on the tivoisation example you used to make your point. This is in the context of freedom. If I understand correctly, and correct me if I'm wrong, under the GPL version three, if I were to use a piece of software on a piece of hardware, say a piece of hardware for a video system, and under the GPL three, if I was allowed to modify it and distribute it that's not going to change. I will still need to do that. What you are taking issue with is the idea that the hardware vendor, or the system vendor, has the right to lock a certain version of the software to his device.
Richard Stallman: Exactly. Because freedom one is supposed to apply to every user of that software. Freedom one says you're free to change the program and make it do what you want.
So the point is, you better be free to change it and then install it in your computer. If he has taken steps in the hardware to make sure you can't install it in your computer, then that is denying you effective use of freedom number one.
Q4e: The point is, aren't you extending the notion of freedom beyond an acceptable point?
Richard Stallman: Well, I don't think so.
Q4f: Well, let me complete my question. Although the user has the right to modify and install it on whatever hardware he wants, why do you... it appears to me that GPL version three takes a position that he must be able to modify it, and get it to work, and receive the same services
Richard Stallman: No, I said nothing about that. You're just criticising something I...
Q4g: I just want a clarification.
Richard Stallman: If they say: "running modified software voids the warranty", that's ok. Or, they could say: "we'll only provide support if it fails using the standard software". That's perfectly legitimate, because if the hardware is broken, it will fail with the standard software too.
We're not insisting that anybody go out of his way to help you change the software, or that he spend his time debugging the bugs you introduced into the software. It's easy enough - companies will understand this - it's easy enough for them to verify that it is running the unmodified software before they do any service. And they will bill you if you say "it's broken and it's under warranty, fix it", and you see that he broke it, if this starts happening, it's easy enough to develop ways of protecting yourself by saying "since you actually broke it, you're going to have to pay us for shipping it back to you, plus twenty dollars for wasting our time"
[Section: Eben Moglen explains the DRM changes]
Eben Moglen: Richard, may I offer a comment here? Lets work through what the rights and freedoms were in the line of descent. Through that manufacturer and the hardware.
So Hardware Manufacturer A takes GPL'd code written by B, C, and D, as he has a right to do. Maybe he modifies it. He puts it in some hardware where he still has the right to modify it. He ships it.
At that point, he has a requirement under existing GPL to convey to the person to whom he gives that hardware with the software in it, all the rights he got from the people who gave the software to him. Right?
Suppose Manufacturer A puts B, C, and D's GPL software in some hardware and sends it to you and says "I'll let you modify the software in the box I just sold you, if you pay me an extra thousand dollars". There's no question that that violates GPL version 2. It's the addition of a requirement beyond the licence burdening the customer's right to modify, which he was supposed to get from you without any change. Right?
If he tries to do that by legal means, that is, to give you less rights to modify than he has himself, it is a clear violation of all versions of the GPL - two and three together. Version three says: don't try to use technical means to accomplish a refusal to give over all the rights that you got, which you could not accomplish by legal means.
If Manufacturer A wants the software he sells in the hardware to stay one version forever, he has a simple way to do it: he can put the software in ROM. He has no power to modify it, and the user to whom he gives it has no power to modify it. That doesn't violate GPL version two and it doesn't violate GPL version three, in current draft.
We will not publish a draft that would be violated by that conduct. What we object to is the attempt to say "I will keep the right to modify the software, but I won't allow you to have the same right of modification that retain" because that's simply a technical way of evading the requirement of the licence to pass along all the rights you got.
I don't think that this constitutes an expansion of the copyleft in any sense at all. I think it constitutes an attempt to eliminate a technical mode of evasion, unforeseeable in 1991 when there were no instances of embedded GPL'd software in the World.
I think all we are doing is extending an obvious rule that you may not pass along less right of modification than you have yourself to the context where the attempt to keep the right of modification is ensured by a technical rather than a legal device. I think that's the best and simplest answer to the question.
Q4h: So, I guess, if I were to modify the software on a Tivo box, and actually have the ability to get it to work on a Tivo box. That would be fine, for GPL3. And it would also be fine if the service provider detected that I made a modification and didn't deliver service to me. That would be ok.
Eben Moglen: There you begin to ask another question, which can be resolved clearly by the same analysis I offered before. Suppose that in my original example, Manufacturer A gets software from B, C, and D. He sells you both hardware and services, and he says "I'll give you the right to modify the software, but you have to pay me more for the services if you modify". Again, that's clearly forbidden under GPL2. That's a legal attempt to create a service monopoly. Even though the software is free. He can't do it by legal means, why should he be allowed to do it by technical means.
In general, if a provider of software offers conditions that are based on remote attestation that you have not modified the software, he's once again giving you less right to modify than he has himself. And again the same question arises. If what he wants to do is, for example, run a cellphone system in which he wants to provide GPL'd software in the phone, but he only wants to provide services so long as the software is not modified, let him put it in ROM. Forgo his own right to modify, same as the customer's right of modification. But a World in which he intends to keep the right to modify, without passing it along to you, is an evasion of the licence - however sophisticated his method of explaining why it is that he keeps a right to modify the device that you don't have.
[Question #5: Freedom and thin clients]
Q5: I have a question related to modification again. This is again related to what hardware manufacturers do with Free Software and take away freedom from people. I work in the thin client domain, and almost all thin client vendors, HP, [Viosin], others, take commodity PC hardware, strip it down, put in Free Software as firmware which lets you connect to proprietary software using rdesktop, and they bundle it all up and on top of a lot of Free Software components they'll put a small user interface connection manager. And they provide it. They first of all claim it is their intellectual property.
Richard Stallman: Don't use that term. Never use that term.
Q5b: They do that.
Richard Stallman: I'm sure they do, but you should never imitate them because the idea that the term "intellectual property" even makes sense is a lie. It's a way of twisting people's thought. So when you quote other people saying it, that's not clear enough to reject it, so you really shouldn't quote that term unless you're going to explain why it's misleading. Really, it's terribly important. I want you to continue. I don't want to stop you from what you're saying, but after this is done, I will explain why that term should never be used.
Q5c: I have a strong objection to that term being used, particularly with Free Software. Now, they charge a lot of money, and because a lot of hardware is commoditised, you can't sell hardware anymore, so you put in a lot of software that you don't make, call it your own, package it, and then in a number of ways you take away people's freedom to modify. The simplest case it, I buy a thin client, lets say, and it's got firmware on an IDE flash, I cannot take it out and put it in another commodity hardware because they lock it down. And they don't do simple things like, the kernel only has drivers for your hardware. They TPM it, they put in a two dollar TPM chip on the board and they lock down Free Software to their particular hardware.
Richard Stallman: This is what we're trying to prohibit. But the question is, if you think they're doing something extremely clever that we haven't thought about, you need to show us exactly what they're doing, as a way of making sure that GPL version three will actually prohibit what they're doing.
Q5d: I'd like to see, actually, GPL versions prohibiting people from copying binary forms of Free Software just because there's a drop of proprietary software in that binary.
Richard Stallman: But they're not allowed to mix them. To mix them in a binary would be a violation of the GPL anyway.
Q5e: It's a completely different binary, lets say it's a connecton manager, or it's their logo.
Richard Stallman: Well, if it's a different program, then yes they're allowed to put them on the system, but they're not allowed to restrict your rights in using the free programs.
Q5f: How it's restricting - and, now, I deal with very naive users - is, for instance, most of what I deal with is schools in India. They can't rebuild the entire image. What I'd like to see is, if you're giving Free Software based binaries with your hardware, you put out your entire distribution, so to speak, an entire toolkit that helps people take out what was proprietary.
Richard Stallman: Well, the point is, that's more or less what the GPL requires anyway. If they are combining proprietary and GPL-covered code in such a way that it's hard to seperate them, that's already a violation of the GPL. So report them, we've got to enforce it against them, we've got to make them stop.
[Section: About intellectual property]
Anyway, the term "intellectual property" is a propaganda term which should never be used, because merely using it, no matter what you say about it, presumes it makes sense. It doesn't really make sense, because it lumps together several different laws that are more different than similar.
For instance, copyright law and patent law have a little bit in common, but all the details are different and their social effects are different. To try to treat them as they were one thing, is already an error.
To even talk about anything that includes copyright and patent law, means you're already mistaken. That term systematically leads people into mistakes. But, copyright law and patent law are not the only ones it includes. It also includes trademark law, for instance, which has nothing in common with copyright or patent law. So anyone talking about "quote intellectual property unquote", is always talking about all of those and many others as well and making nonsensical statements.
So, when you say that you especially object to it when it's used for Free Software, you're suggesting it might be a little more legitimate when talking about proprietary software. Yes, software can be copyrighted. And yes, in some countries techniques can be patented. And certainly there can be trademark names for programs, which I think is fine. There's no problem there. But these are three completely different things, and any attempt to mix them up - any practice which encourages people to lump them together is a terribly harmful practice. We have to totally reject the term "quote intellectual property unquote". I will not let any excuse convince me to accept the meaningfulness of that term.
When people say "well, what would you call it?", the answer is that I deny there is an "it" there. There are three, and many more, laws there, and I talk about these laws by their names, and I don't mix them up.
[Question #6: Affero and web services]
Q6: [inaudible, but mentions "Affero"]
Richard Stallman: The Affero clause. Ah. Right, that is one of the added requirements that GPL version three says you can add on your code. When you add code to a GPL covered program. What this clause does, is, it requires that if somebody installs he program on some kind of network server that the public can talk to, it requires giving the public a way to download the source also - of the version that is running.
The regular GPL does not require this. The reqular GPL says you can install the program on your server and you don't ever have to release the source of what you're running - or release the binary. You can just keep it on your server, without ever releasing it at all.
The affero GPL is another licence which already exists and has this requirement saying that if you put a version of this program on a server, you've got to make available your source code to the people who use that server. So if the server is only available to a certain group of people, only they could get the source code.
If it's available to the general public, then the general public can get the source code. If it's available only in your company, then only people in your company can get the source code. All of those are ok.
The Affero GPL was made from GPL version two, but because of this requirement, it's incompatible with GPL version two. It's called the Affero GPL because it was made by a company called Affero, but it was made with our support. The idea is to make GPL version three compatible with a modified version of the Affero licence. They will modify the Affero licence and thus cause all these things to be compatible.
[Question #7: Freedom may require inconvenience]
Q7: [This question was difficult to hear and may have inaccuracies] My name is [...] and I'm from Bangalore. I'm running an organisation called [...]. I'm doing an anti-trust litigation against Microsoft India on the grounds that [...] is forcing Bangalore to use the MS Net. It is not Free Software, it is a proprietary program. We made a public interest litigation, to the high court. I come to the mic with this one question: Last month, I purchased a laptop [...] Sahara, it comes with free Linux software...
Richard Stallman: Oh you mean GNU+Linux.
Q7b: Linux, Linux operating...
Richard Stallman: It's GNU+Linux, please give us credit for our work. I'm happy to hear that your laptop came with our system on it, with GNU, and with Linux the kernel. Please do not call the whole thing "Linux". You're being unfair to us every time you say that.
Q7c: I came very late because of [...]. Anyway, having seen that they sell Linux...
Richard Stallman: They sell GNU and Linux.
Q7d: So, it's not compatible with Apple [inaudible], and Corel, and Microsoft...
Richard Stallman: That's right. But those are proprietary programs anyway, so, for ethical reasons you shouldn't use them.
Q7e: [...] because Linux is not compatible with Apple, or Corel, or Microsoft, my friends told me to switch over to Microsoft.
Richard Stallman: Well that's very bad. Did you do it? Did you do it?
Q7f: I have done it.
Richard Stallman: Oh, how sad. Well, thanks an awful lot.
Q7g: Coming here now, I have realised I have done a mistake. Now, do you have a solution, how I could use it? [...] GNU and Linux, and Yahoo, [...] Apple [...]
Richard Stallman: GNU and Linux will enable you to live in freedom, at least as regards your computer is concerned, because, of course, it won't guarantee your freedom in other areas of life. We can't do that by writing software, but at least in your own computer you'll be able to live in freedom if you insist on Free Software. I'm not going to repeat what I said at the beginning of this talk, because it would take to much time, but there is a recording being made, so you can listen to what I said at the beginning, about this very issue.
But, y'know, freedom, it's not guaranteed that you can have freedom without ever any sacrifice. The sacrifice will certainly include that you don't use Autocad, because Autocad is a non-free program. It tramples your freedom. So you have to get rid of Autocad to have freedom.
In regard to a drawing program, I think maybe, did you say Corel Draw? I couldn't hear the list. But we have drawing programs, like the GIMP. Or Inkscape, but I've never used those things.
The point is that in some cases there is Free Software you can use to do those things. In some cases maybe there's not, and when there isn't, that means, at least temporarily, to live in freedom requires a certain sacrifice. Fortunately not a big sacrifice.
There are times when freedom has required people to sacrifice their lives, but here we can win freedom with nothing more than an inconvenience. I'm sure there was a time in your life when you hadn't got a computer and didn't use any of those programs. And somehow, you got through it and you didn't die.
[Question #8: Free Software needs to be made easier]
Q8: My name is [...], my request is. I am just a common person, we are not aware of this Free Software. [inaudible]
Richard Stallman: We're doing our best, y'know. We've been working on developing Free Software for twenty-three years now, and we've done a lot and there's still more we have to do. In order for us to do more, more have to volunteer. We're doing what we can, so to ask us to do something is sort of the wrong approach. We need people to come forward and say "I want to do something". Then we can do more. That's what it takes.
[Question #9: A comment about the download change]
Q9: [barely audible, sounds like a comment on the proposal to replace mail-order offers with Internet download offers of source code]
Richard Stallman: Don't tell me now. Submit comments through the site gplv3.fsf.org, because if you do that, they'll be recorded and we will not forget them.
Q9b: I just want to say, for India, the time has not come. Broadband is in cities, but when you go out of the towns and other areas...
Richard Stallman: Yes, but the point is that that doesn't necessarily... read the explanation there and you'll see that that does not imply that this is a bad idea. That's not enough to reach the conclusion that this is a bad idea, so please read what's stated there, and you'll understand the situation fully and you'll be able to comment in a way that is completely relevant.
[Question #10: Mechanically defining infringement]
Q10: Hi, my name is [...]. You said that the mixing of two binaries in a way that they are not easily separated from each other is a violation of GPL.
Richard Stallman: Yes.
Q10b: When exactly would you say that the two programs are not [easily] seperated?
Richard Stallman: There's no simple answer to that, I'm sorry. Show us a case, and we'll think about it, and we'll come up with arguments to make to a judge.
Q10c: Lets say I have a program that uses free libraries, which are...
Richard Stallman: Well, linking them together like that is clearly combining them. The rules, based on the existing GPL, are too complicated for me to try to recite them to you. All I can say is, yes, the GPL makes conditions in that case.
Q10d: That means any such use is a violation of the GPL?
Richard Stallman: Some kinds may be permitted. That's why I'm saying it depends on details, very much. But linking components together is certainly combining them.
Eben Moglen: Richard, can I make a comment here? Here's the problem. The problem that you're facing in asking the question, and the problem that Richard is facing in trying to answer it. When you try to take two disciplines of thought that use different primitive quanta - different units of meaning - there's not going to be a congruent mapping between one vocabulary and the other - as there is no guarantee that there is a one-to-one match between words in Hindi and words in English.
The problem is that the unit of meaning in copyright law is the work, whatever the work is. That's the unit in which copyright law speaks. So the author, or authors, of a work have certain exclusive rights, including the rights to control modification and distribution. GPL says, we give most of those rights to the user, in the work, rather than withholding them, as proprietary users do.
What's the unit of a program? Not the work. Computer science has defined many quanta of meaning in computer program since I began decades ago. The subroutine, the function, the module, the object. Each of those is a unit of meaning in a language of computer activity, but it's not the work under copyright law.
Between the the quantum: work, and the quantum: module, library, file, function, object, procedure, there is not a one-to-one mapping, and the consequence is that when we attempt to exert our intention in copyright law, we only speak in terms of the work. We must use the vocabulary of copyright. Since that doesn't map neatly to the vocabulary of computer programming, no matter what that vocabulary happens to be, given the dominant paradigm of program construction, there is guaranteed to be a zone of uncertainty.
Richard Stallman: I disagree. I wouldn't say that you're wrong. What you're saying is right, but there's something even deeper to be said, which is that what you're saying is not a problem. It sounds like you're describing a problem, but in fact, criteria... because of the fact that in a program you can express the same thing in many different ways, and you can rewrite it to use many different ways to communicate, any kind of criteria drawn up in terms of the technical boundaries that exist in programs would be a bad criterion because it would be too easy to play games with it.
If there were a criterion about files, well, it's easy to move something from one file to another. If the criteria were about subroutines, it's easy to split up a subroutine. You see what I mean? Any criteria formulated in terms of the technical entities of programming would be too easy to game around.
Eben Moglen: As when, for example, people tried to draw a line between static linking and dynamic linking under GPL version two, and we had to keep telling people that whatever the boundary of the work is under copyright law, it doesn't depend upon whether resolution occurs at link time or run time. Right? Those kinds of technical decisions, whatever they are, don't map neatly into the language of copyright, which is the language of the licence.
Richard Stallman: Nor into the intentions of the GPL. Because, the point is, if we drew the line in the kind of clear way that programmers want, in terms of technical points, then it would be easy for somebody to evade the intention of the GPL just by taking that line as the instructions on how to do it.
So, by making it so clear, in a mechanical sense, we would be undermining the goal.
[End of talk and Q&A as the session breaks for tea; applause]
- For general information, links, and a schedule, see our GPLv3 project page
- Many more transcripts can be found at the transcripts section of our GPLv3 project page
- You can support FSFE's work, such as our GPLv3 awareness work, by joining the Fellowship of FSFE, and by encouraging others to do so
- You can also support us by making a donation, and by encouraging others to to so
- An Indian newspaper published an interview which Richard Stallman gave while in Bangalore: Free software: taking on dominant market forces