GPLv3 logo

Transcript of Richard Stallman at the 3nd international GPLv3 conference; 22nd June 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 third international GPLv3 conference, organised by FSFE in Barcelona. The conference page has materials from the other presentations.

Please support work such as this by joining the Fellowship of FSFE, and by encouraging others to do so. Transcription of this presentation was undertaken by Ciaran O'Riordan. The video was made and processed by Sean Daly.

Richard Stallman launched the GNU project in 1983, and with it the Free Software movement. Stallman is the president of FSF - a sister organisation of FSFE.

Video and audio recordings are available:

The speech was made in English.

Presentation sections

  1. The presentation
  2. What is a Free Software licence
  3. Copyleft
  4. History of copyleft
  5. How licence incompatibility happens
  6. "Or any later version"
  7. Liberty or Death
  8. Why update the GPL?
  9. The decision process
  10. Tivoisation and Digital Restrictions Management
  11. Software patents
  12. Extended compatibility
  13. Affero clauses
  14. The future of the LGPL
  15. Rewording exceptions, propagation
  16. Licence termination
  17. What happens in the next 2 months
  18. A preview of the new changes coming in Draft 2
  19. Removing the bit about distributing keys
  20. What's better? The Internet or mail order?

Questions and Answers session sections

The presentation


Richard Stallman: When should I start?

Sean Daly: Whenever you're ready

Well, I guess [pauses 3 seconds]... I'll start now.

[Section: What is a Free Software licence]

The most important thing to know about any version of the GNU General Public License, or "GNU GPL", is that it's a Free Software licence. This is crucial to understanding it. The purpose of the GNU GPL is to assure user's freedom, because the goal of the Free Software movement is the liberation of cyberspace.

"Free Software" means that the users have four essential freedoms. Freedoms that every user of software should have.

If you have all four of these freedoms, then the program is Free Software, for you. If one of these freedoms is substantially missing, then the program is proprietary software, XXX "privativo", because it denies the users these essential freedoms. A "privativo" program is a social mechanism for subjugating its users, which is what makes it unethical and anti-social, and that's the reason why I launched a movement to put an end to that practice of keeping people in subjection.


[Section: Copyleft]

Free Software respects these four freedoms for users. It's easy to write a simple Free Software licence that basically says "you can do anything you want". The X Window System traditionally was distributed under such a licence, but this is not the best way to liberate all the users because one thing that some people do when they get software under such a licence is they make a modified version or improved version and they distribute it as software privativo, and when that happens, their users do not have the four freedoms. They are subjugated. So this is a practice that undermines the freedom of the whole community. Therefore, having seen this, at the beginning of the GNU project, I conceived a way of preventing this problem from occurring.

This method we called copyleft or "izquierdo copia" because you can think of it as copyright flipped over. Whereas copyright is typically used for software developers to subjugate the users, to keep them divided and helpless, copyleft protects all the users and makes sure they are free, and the way it does this is by forbidding the middle men from taking away the freedom from the subsequent users. Copyleft says whenever the code reaches you, the freedom must also reach you, along with the code, and it does this by saying that nobody can put himself in between you and the developer to strip off the freedom and pass along to you a proprietary program.

[Section: History of copyleft]

The GNU GPL is a descendant of the first copyleft licence. I wrote the first copyleft licence in 1985 and it was called the GNU Emacs General Public License, and I put it on GNU Emacs. It was a licence that said "this is the licence for GNU Emacs", and here's how it worked, it said "GNU Emacs is copyrighted," now, copyright law says that if something is copyrighted, people are not allowed to copy and modify it but then the licence said "you are authorised to copy this, you're authorised to publish, you are authorised to modify this, you are authorised to publish your modified versions, but there's a condition" and the condition is you must respect the same freedoms for everyone else. So the condition says "whatever version you distribute, must be available as source code and must carry this same licence". That is copyleft. When you say "you can change this any way you want, but the modified version has to carry this same licence" that provision is copyleft. That's how we make sure that every user gets the freedoms that are spelled out in this licence.

A copyleft licence for software also must require that the users get effective access to the source code. Giving users permission to copy and modify binaries without access to the source code does not effectively give users freedom #1 - the freedom to change the program to do what they wish.


This first copyleft licence was called the GNU Emacs General Public License because it was only for Emacs. It said in it "this is the licence for GNU Emacs, GNU Emacs is available under this licence".

In 1989, I revised it so that it could operate on any program without any change. So, the licence did not say which program it was about, instead, you would simply drop this licence into any program and put notices on the source files saying "this file is under the GNU General Public License", and then it would be. Anyone could use the same exact licence in any program. This was a very important advance, and not just because it was more convenient. Before that, we had the GNU Emacs General Public License, and the GCC General Public License, and they were identical except for the name. It only takes about fifteen seconds to edit the name, that's not the point. The point is that the GNU Emacs General Public License and the GCC General Public License were different and they were incompatible.

[Section: How licence incompatibility happens]

The GNU Emacs General Public License said all modified versions must be under the GNU Emacs General Public License. The GCC General Public Licence said all modified versions must be under the GCC General Public License. What if you wanted to merge Emacs and GCC? There was no legal way to do that, because this one says the combined work must be under this licence, and this one says it has to be under this licence, and they're the same licence. It's impossible for the licence of the combination to be this one, and at the same time be this one. So by designing a single licence that could be dropped in identically to Emacs and GCC, we made these two programs licence-compatible.

[Section: "Or any later version"]

Another advance in the first version of the GNU GPL was a provision for upgrades. We knew that we would need to change it some day, so we put in a provision that said "if your program say it's covered by version 1 or any later version of the GNU GPL, then, on some later date when version 2 is released, your program will automatically, immediately be usable under version 2". This was very important to avoid incompatibilities. Whenever you change a copyleft licence, the new version and the old one are incompatible because each one says "modified programs must be released under this licence", so GPL version 1 says "modified versions must be under GPL version 1", and GPL version 2 says "modified versions must be under GPL version 2".

They can't be both, so we would have had a big incompatibility problem between the programs under GPL version 1 and the programs under GPL version 2. To prevent that, we designed this way for people to let their programs advance automatically to GPL version 2. It's a very good thing that most people did that because in 1991 we designed version 2 of the GNU GPL. All the GPL covered software, or just about all, advanced to version 2. The changes in version 2 were fairly small.

[Section: Liberty or Death]

There was one particular important change, which was the addition of section 7. The "Liberty or Death" clause, as I've generally thought about it, which says that if someone has conditions imposed on him that don't allow him to distribute the software in a way that respects all the freedoms stated in the GPL, then he can't distribute at all.


If somebody sues you and offers you a settlement saying "you can distribute the software, but only as object code", or "you can distribute the software but you'll have to make people who get it promise not to modify it" at that point, the only thing you can do is stop distributing it. It is better for our software to be wiped out than for it to become "privativo" because the whole purpose of the Free Software movement is to liberate the users in cyberspace. If we fail to achieve that, then we've achieved nothing.

Now, some people who were being a bit too literal minded might say "isn't it better to give people software with some freedoms than no software at all?" The problem is, if you think you have that option, you won't fight as hard as you can. This clause in the GPL essentially means we've burnt our boats. We're going to win or we're going to fail completely, but we won't lose because we told ourselves we could content ourselves with something less than freedom.

However, in the past few months, Eben Moglen pointed out to me that even if such an event happens, it doesn't really kill off the program. It might interfere with its use in certain places by certain parties, but the program will remain in existence and free for a lot of other people, so it turns out that the name "Liberty or Death" is a bit exagerated and we're going to change the name of that paragraph. But it's still, in its spirit, it's the right way to think about the issue.


[Section: Why update the GPL?]

It was a few years ago that we became aware of certain issues calling for more work on the GPL. It was about four years ago that I began working with Eben Moglen on designing a new version of the GPL, and we did a lot of work, and then we laid it aside, but last year we decided that things were becoming urgent, so we decided we're going to get it done now and we made plans to spend several months working on it together.

[Section: The decision process]

We released the first discussion draft in January after several months of working together on the text, and, we also designed a careful plan for how to request and then study and act on the feedback from various parts of our community. Various kinds of users and contributors. We did not decide to let the community decide what goes into GPL version 3. There is a fundamental reason for this. Because Free Software is very often attractive for purely practical reasons, we have collected tens of millions of users who choose Free Software purely for practical benefits and do not appreciate the freedom that we have given them. These are the kind of people that assume that you should choose between Free Software and proprietary software based on practical convenience, which is another way of saying that they value freedom at zero. How sad. How can freedom ever be safe, when people don't appreciate it. People have had to fight for freedom, over and over.

And when people do not value their freedom, they are very likely to lose it. But that's the fact. Most of our community does not appreciate freedom. Most of the World, lets go of vital freedoms whenever some crooked politician tells them "I'm going to protect you from terrorists, give up your freedom, let me protect you."

So, if we wanted to do a good job of protecting freedom with version 3 of the GNU GPL, we could not let the majority of our users decide what goes into that licence, but we need to listen to what they have to say because there are lots of potential problems and we're not smart enough to see them all.


We need to get a lot of feedback, so we've worked out a way to try to do them both.

[Section: Tivoisation and Digital Restrictions Management]

There are several primary areas where version 3 is different from version 2. One is in regard to tivoisation. Now, you've probably never heard the term "tivoisation", because I made it up, but it's an extremely important threat to our freedom. It's named after a product called the "TiVo", which is capable of recording many television channels at once and then the user can watch any of the shows later on.

However, it's also designed to restrict the user in certain ways. There's no way to copy a recording out of the TiVo, and I think it erases them after a certain amount of time, and it also reports everything the user watches. So it's spying on the user all the time.


The TiVo, as it happens, contains a small GNU+Linux operating system. It contains, therefore, several Free Software packages under the GNU GPL and the GNU GPL requires them to make the source code available to the users, and I believe they do. The users can then modify the source code, compile it, and install it in the TiVo. At which point, it won't run, because the TiVo contains a special mechanism that notices if the programs have changed and refuses to run at all. It just shuts down. That is tivoisation: designing machines so that if the user installs modified versions they can't really function.


Tivoisation turns freedom number 1 into a sham. Freedom 1 is the freedom to study the source code and change it so that the program does what you want. With tivoisation, this freedom becomes purely theoretical. Yes, you can change the program so that it could be run in some other machine, and that might be useful for someone, but you can't change it and run it on the TiVo, and this is a deliberate restriction that they impose on the public.

The usual motive for tivoisation is because they are doing something else nasty, and that something else is called DRM - Digital Restrictions Management [repeats in Spanish "Gestion Digital Restrictiones"?], in other words, the functionality of refusing to function. Where the machine says: "I don't wanna let you see this file" - "I don't wanna let you copy part of this file" - "I don't wanna print this file for you, 'cause I don't like you". That is DRM.

Freedom number 1 is the freedom to change the program to do what you want. If you want to change the program so that you can't view certain files anymore, if you want to change the program so that you can't copy part of certain files, or you can't print certain files, you should be free to do that. GPL version 3 respects your freedom to do that. You can then distribute that modified version. GPL version 3 respects and defends your freedom to do that, but it will not let you take those same freedoms away from people who get that modified version.


GPL version 3 is designed to prohibit tivoisation, and the way we do this is by saying that whoever distributes the program, must provide whatever keys are necessary to install modified versions of the program such that they can really do the job.

Freedom 0 says you have the right to run the program as you wish for any purpose. This means you have a right to take your copy and use it on your computer for whatever purpose. This does not mean that you have a right to impose your purpose on other users. If your purpose is to restrict other people, and you want to do it by giving them a GPL covered program then you're out of luck because they, at that point, are the ones entitled to freedom using their copies. They're entitled to the freedom to change the program and run it for any purpose of their's and you have no right to control what they do. That's what we say to some people who demand the right to use our software to impose DRM on the public.


Yes they have the right to implement DRM and distribute the software, but they don't have the right to impose it on the general public in a way that they cannot escape from. The GPL version 3 draft has other measures in it to try and stop DRM as well, but again, not by prohibiting people from implementing those malicious features but rather by helping to safeguard users from evil laws that most countries in Europe have already adopted, which forbid users to do that. There's a law in spain, I'm almost certain.

Spain has implemented the EUCD right? Pablo? Tomorrow? oh. Is there a battle going on here. In France there is a big battle over the implementation of the [EUCD]. I'm afraid, if there's no battle in Spain, they're surely going to do something much worse than the directive requires. The directive requires making it illegal to distribute, at least commercially, software that is capable of freeing users from the restrictions imposed by DRM.

GPL version 3 contains language specifically designed to say that this power is waived, giving users permission to make the other software that interoperates.


[Section: Software patents]

Now, another area that GPL version 3 is designed to work on is that of patents. The main motive for what we used to call the "Liberty or Death" clause, is the danger of patents.

"Software patents" mean, simply patents that restrict what people can put in software. In general, a patent describes one or more ideas in fairly general terms. Ideas for how to build something, or how it can operate, and then says everyone is forbidden to use those ideas until the patent expires. When these ideas can be ideas you can implement in software, running on general purpose computing facilities, then it's a software patent and software patents are extremely dangerous because they mean you can write a program yourself and then get sued by somebody you never even heard of. Not just once but maybe twenty times or a hundred times by twenty or a hundred different people you've never heard of, because a large program combines lots of different ideas, thousands if not even more.

If 10% of the ideas are patented, that means the large program will infringe hundreds of patents, if not more. One large program has been carefully studied by a lawyer in the US, who looked for all the software patents that might prohibit some part of it. That program is Linux, the kernel of the GNU+Linux operating system. He found 283 different patents applying to various techniques and features implemented somewhere in Linux. So this shows what the problem is like. Other Free Software licences written in the past decade often contain an explicit statement granting patent licences from developers and distributors to the users. We decided it was most reliable to do that too.


Previously, we had figured that anyone that distributed the program is implicitly saying he wasn't going to then sue you for doing what he had told you you could do, but we concluded it's safer to make this explicit, so GPL version 3 draft has an explicit patent licence. We're doing some rewriting of how it works, which you'll see when the next draft is published, but it's going to contain an explicit statement so that the developers and distributors can't sue people who then use the program that they distributed.


[Section: Extended compatibility]

Another main area of improvement in version 3 is extended compatibility with certain other licences. First of all, we've decided to make explicit in the licence what it means for other licences to be compatible. That, we hope, will clarify a lot of uncertainties people have had, which we have so far addressed with the Frequently Answered Questions list.

The idea is that there are some other Free Software licences which are compatible with the GPL meaning that if a program is released under one of those licences, that licence gives, effectively, permission to relicence under the GPL. There are two ways that can happen. Some licences explicitly say "you can also use this program under the GNU GPL". In other cases, it's because the licence is so permissive that to relicence it under the GNU GPL is permitted.


In any case, we've decided to explicitly describe this and then extend it a certain amount. We've made a list of certain kinds of additional requirements that may be added, some of which are trivial and we think they're ok anyway but we might as well state it, but some are non-trivial, and this is a real substantive change. For instance, we've stated that it's ok to have a requirement saying that certain trademarks must not be used except as trademark law would normally permit.

This is a condition for use the code under copyright law, but it refers to trademark law. The reason is that there's some important Free Software licences that have a requirement like that, so this way we're making them compatible with the new version of the GNU GPL.

Another kind of requirement that we see is patent retaliation. There are some Free Software licences that say anyone who sues for patent infringement under certain conditions loses the right to use this software. Now, these requirements vary because they vary according to the precise conditions that they state. So there are different kinds of patent retaliation clauses.

We have worked out which kinds of patent retaliation clauses seem legitimate to us, and we have explicitly allowed for those kinds of clauses. And that will make some additional licences compatible with the GNU GPL.


[Section: Affero clauses]

And there's another kind of clause that we're making compatible and that's what we call the "Affero clause" because it was first used in the Affero GPL. The Affero GPL is a modified version of the GNU GPL which has an additional requirement designed to make sure that if somebody runs a modified version on a publicly accessible server, that the users of the server can also get the modified source code. In effect it's a requirement on public use of the program.

We thought about putting some kind of clause like that into GPL version 3 but we decided that would be too drastic to put it on all GPL covered programs, so I thought, lets make it a conditional requirement that has to be activated by something you do in the program - you put something in the program to make that requirement apply to it, and then I realised, once we designed this extended compatibility provision, that the easiest way to implement that was just to use the extended compatibility provision. So this way, people will be able to put that kind of extended compatibility requirement on their programs, on their code. That way, it will be there for their code and programs that contain their code, but other than that, for other GPL covered programs, it won't apply.

This way we don't need to design any special kind of control mechanism. If you want that clause on your code, you put it on your code.


[Section: The future of the LGPL]

One of the nice things this has enabled us to do is: we have been able to rewrite the Lesser GPL - the GNU LGPL - so that it uses this clause. The GNU Lesser GPL will not have to restate most of the things in the GPL, it will say it's the GNU GPL plus these added permissions. One of the other benefits we get from this is that we make it clear that any time someone adds extra permissions on top of the GNU GPL, that when you modify the program you can take off those added permissions. You can release your version under the strict GPL and nothing more.

We've also made it clear that it's impossible, it's self-contradictory, to try to add any requirements that are not in our list of what's allowed. From time to time people do that. They say "This program is available under the GNU GPL except you can't use it commercially." This is a self contradiction. The result is nonsense. You can't tell, even, what that really means because it's not clear what the licence would be for modified versions.


With GPL version 3, it's going to be clear that any added restrictions that the GPL doesn't allow for can be removed.

[Richard is asked to stop, the tape is changed, then Richard continues]

Thank you. Most people who are recording a speech aren't organised enough to warn me to pause, and as a result there are gaps in the recording which could easily be avoided.


[Section: Rewording exceptions, propagation]

So, those are the main areas - the big areas of change - but there are some smaller ones. We've done some rewriting of what we call the "system library exception", to try to make it clearly cover the possibility of distributing a version of our software with a non-free operating system, but at the same time to limit it so that this can't be abused. The kind of abuse we're concerned about would be to find a way to make extensions in the functionality in the program itself which are part of the non-free operating system because the goal of copyleft is that all the modifications and extensions to the program must themselves be free.

We've done a lot of rewriting designed specifically for internationalisation of the licence. Instead of talking about "copying" and "distribution", we use the term "propagation". "Propagation" means, basically, copying and everything else that might have the same results as copying.


Then we give conditions in terms of propagation, rather than copying, and we also have the concept of propagation that can result in others having copies, and we make conditions for that instead of "distribution".

This, to a substantial extend, insulates the GPL from differences between copyright laws in different countries, so that we'll get the same result, as far as is legally possible, in all countries.

Another area where we made some change is in the issue of distributing binaries now and providing source code later, on request. We've decided that if somebody is distributing the binaries as part of a GPL covered program, he must continue providing the source code on request for as long as he continues to provide any other kind of customer support for that product because, obviously, it won't be very difficult to include this particular kind of customer support.


[Section: Licence termination]

And we made a change in the way termination of the licence works. In GPL version 2, if someone violates the licence, it terminates automatically. At that point, if he wants to have permission once again, to distribute or modify the program, he needs to ask for it - or copy the program or anything that he needs the licence to do - he must ask to get permission back again.

For version 3, we've made a change. The change is that the developer has to tell the user that he has done something wrong, and he has to do this within 60 days of some violation. If the user continues to violate the licence, the developer can always send this notice, but if the user stops violating the licence, and then 60 more days go by, at that point it's no longer possible for the developer to notify him anymore.

So, in other words, if the user recognises the violation and stops, there's a sort of statue of limitations. Once the developer has put the user on notice, at that point the developer can terminate the licence at any time. What that means is that the user has to start negotiating with the developer and saying "please don't terminate my licence, what do you want from me?" What this means is that if someone continues to violate the licence, this change really makes no difference. You'll have to say "I see you're violating the licence", and then you can terminate it.

But, if somebody violates the licence by mistake and he sees it and he fixes it, then 60 days later, if he hasn't been notified, he doesn't have to worry.


If someone has been violating the licence with an entire GNU/Linux distribution, which, right now, if you did that, there are thousands of GPL covered programs in a GNU/Linux distribution, which means your licence for all of them has been terminated automatically and how in the World are you going to contact all those developers to beg them to give you permission again?

Whereas, with this change, what will happen is, some of them will say "We see you're violating the licence, this is the notice". At that point you'll say "Oops", you'll fix it, and during the 60 days that follow, some additional developers may decide to put you on notice. But since they see you did it by accident, and that you've fixed it, they'll probably say "ok, I won't terminate your licence" and then you're ok. The point is that with the thousands of other developers who didn't do anything, you are not in trouble. With the ones who have put you on notice, at least you know where to reach them, so that they can say eventually "ok, we see that you've fixed it, we won't terminate your licence, you're ok."

This provision was designed to help people who accidentally violate the requirements and fix it, without interfering with the ability to enforce the licence legally against willful violators.


[Section: What happens in the next 2 months]

In another month or so, we're going to release the next discussion draft and at that point we will once again ask for public comment on the changes. We will be doing this through the site, the same site as before. That site contains a mechanism that people can use to pick a part of the text of the licence and associate their comment with it.

At that point, some discussion committees will start looking at these comments and studying the issues that they raise, and passing them on to me to work on together with Eben Moglen and the other lawyers that work with him and thus we'll once again see what further change is needed. When we publish the new discussion draft, we will also publish a new Rationale Document giving the explanation of the changes that we will have made since the first draft. We will also publish - I think it will be ready at the same time but I'm not sure - responses to all the issues raised by the comments we received on the first draft.

[Section: A preview of the new changes coming in Draft 2]

I'll give you a bit of a preview of the changes that will probably be in the next discussion draft, a very general preview.


We decided to rename the "Liberty or Death" for the program clause to "No Surrendering Others' Freedom", which is a precise description of what it does. You're not allowed to surrender freedom on behalf of people who are going to get the program from you.

[a mobile phone rings]

If you are carrying a portable surveillance and tracking device, please turn it off. They have already tracked you here. They already know that you are listening to me, so there is no need for you to keep telling them that you are still here. And if they want to listen to what I am saying, we're going to publish the video recording anyway. They don't need to turn on your portable surveillance device to do it.


[Section: Removing the bit about distributing keys]

So, we decided to get rid of a requirement that some people have confused, which says that you must distribute all the keys that are necessary for another program to read this program's output, because we figured that as long as we succeed in preventing tivoisation, we can always modify the program so that it writes its output in unencrypted form some place else, and then you can write another program to read it without needing any keys at all.

Some people have got the idea - we don't think it's true - that this part of GPL version 3 prohibits things such as the GNU Privacy Guard, who's purpose is encryption for privacy, and that's not the goal at all. The goal again was fighting against imposing DRM in such a way that you can't escape from it. That's another change that some people will like.

[Section: What's better? The Internet or mail order?]

We're going to ask people to consider the idea of allowing someone to distribute binaries in a physical product and keep the corresponding source code available on a network server instead of offering mail order.

Version 2 of the GPL says, one option is to distribute only binaries, together with a written offer to send the sources later. The first draft of version 3 has a similar provision. What we're considering now is an option that says you can distribute just the binary, but you must tell people "here's where they can get the source code on the Net", and that must be kept available for three years plus whatever.

The argument for this is that nowadays, for everyone in the World, this is more convenient than mail order. In the past it wasn't. In the past it was very often that downloading the data would have been unbearable for most people. Nowadays, I'm told that there are services which will download something off the Net and mail it to you on a CD and it doesn't cost very much, so, this is something we will be asking people to give feedback on.


We found it necessary to redesign the mechanism of the explicit patent licence, so the next draft will work differently but it will do the same job. And we introduced the concept of "conveying", to mean the for propagating copies to others. Where GPL 2 talks about "distribution", and draft 1 talks about "propagating in such a way that others may get copies", we will be talking about "conveying" copies. It should make the thing much easier to read.

We're still putting the finishing touches on the second draft.

And, I guess that's it.


Now I will answer questions.

There's one other thing I should say. It's a very general thing. Governments that impose harsh restrictions on their citizens, backed up by cruel punishments, on behalf of corporations, are showing that they are not really on the citizens' side. They're not working for us, they don't represent us except with lip service. They represent the corporations and their goal is to rule us. These governments are democratic only in name. And since governments get their legitimacy from ruling on behalf of the people and protecting the people's rights, these governments lose their legitimacy.

I'm very sad to say that almost all governments around the World have done this. Government of the people, by the flunkies, for the corporations. And it makes me very sad.

So now I'll answer questions.


Q1: In GPL version 2, for non-source distribution, there are three options, but two real options. One of them is to distribute the source code with the binaries, the other is to distribute an offer for the source code with the binaries. Under version 2, both of these options are permitted for Internet distribution as well.

RMS: That's never been our understanding, and that's why we made it clearer. The option of offering to provide source code later is not supposed to be for Internet distribution, it's for physical distribution.

Q1b: Can you explain to me what the reasoning is there?

RMS: If you're distributing on the Internet, there's another option in GPL version 2, which is, you put the binary and the source up on the Net, side by side, and you let people copy them, one or both, as they wish. That's the option for Internet distribution.

Q1c: might that not use a lot of bandwidth? Might someone prefer to send a CD?

RMS: It uses as much bandwidth as the user wants. The point is, you put both on the server and the user can download the binaries and the user can download the source, one or the other or both. So the user decides, the user downloads as much as he wants. It says explicitly, you don't have to make sure that the users get the source if they get the binaries, you just have to put them both up for download.

Q1d: I was actually thinking more, and this is a complaint I've heard, but, not that we necessarily have to listen to it, but upload bandwidth, at least in the United States, most broadband services are designed so that you are a consumer. Their downsteam bandwidth is much greater than their upstream bandwidth.

RMS: Well, you know, I pity the poor distributor who has a server and can't get the source code to it.


But he can find some way. He can go to some place where they have more bandwidth. He can buy more bandwidth. He can mail a CD to his server site. There's something he can do. He can wait a bit longer before he releases it. Aren't the binaries generally much bigger than the source code anyway?

Q1e: I don't think so, any more actually. But they're about the same, they're in the same order of magnitude.

RMS: Well then obviously this is no disaster, and it's a price society should pay to make sure users get the source code frequently.

Q1f: Thank you.


Q2: When you add the clauses to make it more compatible, were you thinking about some particular licences?

RMS: Yes and no. The main decision was based on what is ethically acceptable to add to the GPL, but, in looking at details, we tried to make certain licences compatible. Most importantly the Apache licence. It will be very useful to have compatibility between the GNU GPL version 3 and the Apache Public License.

But also, we're thinking about licences that will be written in the future. We hope to influence licence developers in the future to make their licences in a way that's compatible with the GNU GPL.

Q3: Will the new version of the LGPL become public at the same time as the second discussion draft of the GPL?

RMS: Yes. We'll publish our draft of the revised LGPL at the same time as the next draft of the GPL.

Q4: Did you say LGPL will disappear?

RMS: Well, it won't disappear, but instead of being a licence that starts from scratch and is self-contained, it will be much shorter and it will say "This consists of the GNU GPL plus the following added permission".

Q4a: So you have no problem to replace LGPL licenced GNU software to GPL licenced software with an exception, right?

RMS: Yes, the LGPL will say "I am the GNU GPL plus these added permissions", so it will say "this is version, whatever, of the LGPL", but instead of being self-contained, it will say "I consist of the GNU GPL plus some added permissions" and the added permissions will essentially be unchanged from the LGPL. I think I recall that there is literally no difference.

Q5: I think one of the things that people like about GPL version 2 is that it's one licence, so whenever you talk about the GPL, you know what you're talking about, but with version 3 you have these options, you can add something, you have the ability to add something that only applies to that particular thing you're writing there. Are you afraid that this makes is more likely to be used, or does it have any effect?

RMS: How many people use GPL 3 depends on lots of things, but I think this is a price worth paying for the added compatibility which will be tremendously beneficial for this society. Also, we have a requirement that says when there are added permissions or requirements on parts of the program, there must be a central list which mentions all of them. Which means, it won't be hard to find all the terms. Also, because any added requirements have to fit into certain narrow categories, for most purposes they don't make any difference.

Q6: When will the licence, version 3, be ready to be used?

RMS: I don't know. Basically, our plan is to have another draft in October, and that may be the final draft. That may be the actual licence. Or that may be another discussion draft. It depends what problems people find in the coming draft. We don't know. One must be flexible about this.

Q6b: Second question, when people start to update their licences to the new versions, how will that happen in practice?

RMS: In practice, any program that says it can be distributed under GPL version two "or later" will automatically be available under GPL version 3, but, when people make subsequent releases, they can change that to say "GPL version 3 or later", that's what we will do in subsequent releases of GNU software.

Q6c: Basically, in a system with many components, people don't have to modify their code?

RMS: It depends. There are some programs which say GPL version 2 "only", and those things will still be under GPL version 2 only, unless the developers get together and change it, but those that say "GPL version 2 or later" will automatically be usable under GPL version 3 when it is official.

Q6d: Ok, so it depends on that one sentence.

RMS: Right. But remember, a distribution that contains many programs is a collection. Mostly those programs are independent of each other, and each one does what it does. The fact that they're together in one distribution doesn't change anything.

Q6e: I am just afraid that those independent components of open source projects they operate their licences individually [RMS interrupts]

RMS: Right, but we don't talk about "open source" here. We do not work on open source, we did not design GNU GPL to be open source, we're not designing GPL version 3 to be open source, because "open source" is the name of a different philosophy - one that doesn't place the values of freedom and freedom to cooperate at the forefront. For us those are the priorities. What we do, you won't be able to understand it if you think in terms of open source, and if you describe what we do as open source, the people you're talking to won't understand it either.

Q7: With the delicate issue of Digital Restrictions Management, you are saying that DRM is for proprietary software but not for Free Software?

RMS: Not exactly, what I'm saying is that Digital Restrictions Management represents an attempt by certain few to impose their control over everyone else, and that this is wrong, and that because their goal is to control other people, the next thing they do, almost always, is they try to stop users from changing the software. In other words, they try to take away, for practical purposes, freedom number 1. We have decided to defend freedom number 1 - that is, the freedom to change the software so that it does what you want.

We do not forbid the implementation of DRM. That is, GPL version 3 will no forbid people to modify the software so that it fails to do certain things. What we insist on is that whoever does this and distributes the crippled program respect the freedom of other people to add what is missing.

Q7b: So, government laws are not GPL laws?

RMS: I heard the words but I don't understand. I have no idea what it would mean to be GPL laws. I'm sorry.

[the question is reworded and asked later, see Q9]

Q8: Proliferation of licences sometimes makes it difficult. What do you have in mind to help to reduce this current proliferation of licences.

There's nothing I can do about it. Mostly, new licences are developed by companies that are not particularly interested in respecting users' freedom. I have less influence with them than with any other part of our community. I hope that they will release their software under GPL version 3, but you'll have to convince them, not me.


Q9: I have two questions. The first one is what I have understood of [Q7b]. I think what was being asked was that, in your explanation of DRM and tivoisation, it sounded like GPL trumps national laws.

RMS: No, in general it can't. The only time we can do that is in situations where the developer or distributor of a certain program legally has certain powers, and if so, that developer or distributor can waive those powers too, and if he can waive those powers, GPL version three will say "by distributing this program, you waive the power over this program." That's the only case in which the GPL can override a national law, it's when the national law itself gives the distributors of a program the option to do so.

Q9b: And my question is, when programs have been licensed under the terms of GPL "version 2 or later" pass automatically to version 3, what happens to the new restrictions added, I guess they're optional, in the new licence?

RMS: Ah, here it is. First of all, the program that says "version 2 or later" doesn't have them. Now, if you want to change it, to merge in something, say, under the Apache licence, you can do that if you're using it under version 3 of the GPL, but you can't do that under version 2. When you do that, you have to change it to say version 3 or later. However, as long as you don't merge in anything under the Apache licence, you could if you wish continue having it say "version 2 or later".

Q9c: But anyone can add any restrictions.

RMS: Not any restrictions.

Q9d: ...that are in the menu.

RMS: Yes, right, but since it's only GPL version 3 which permits that, when you do that, you'd better take away the thing that says "GPL version 2".

Can someone note down that we should have a FAQ answer about that? Novalis? That would be a useful thing to clarify for people.

Q10: As for translations, will there be versions in Spanish, French? Official versions of v3?

RMS: We're not sure. It's very dangerous to make an official translation of the GPL. What if we made a horrible mistake?

If it's a Spanish translation, I can read it. That doesn't mean that I will understand its legal consequences. Y'now, producing a translation in Castellano would be as much work as producing the original English version. Well, maybe it will only be a quarter as much work. That's a lot of work.

And then, although I've got some idea what these words mean in regard to US copyright law, from many years of discussing these issues with copyright lawyers, but that doesn't mean that I have the faintest idea... I probably don't even know the vocabulary of law in Castellano.

Those are words I don't know. And now imagine what happens when someone wants a Polish translation. This is a very hard problem.

Q10b: Could the FSFE work on it?

RMS: Well, the thing is, maybe yes and maybe no. How would the FSF Europe work on it? They would get lawyers to do it, but, who are those lawyers, and to what extent do we know we can trust them. It's really hard, because a mistake could be a Worldwide disaster.

Now, I've got the idea, maybe we could release a translation approved only for one country. We could release a translation in Castellano, approved only for Spain, and then separately we could release one only for Mexico, and it might be the same.

But, even if it's the same, the point is, it's got to be checked for Mexico. The crucial thing is, we don't want it to be valid in the US, or China, India, Brazil, and so on. Because, if we release fifty translations and each one is valid everywhere, that's fifty chances for a horrible mistake to happen. Even if we were just as reliable with each translation as we are with the original, I don't want to have fifty times the chance to make a mistake. So this is one way to limit it.

Now, another question is: would it be ok to release a time-limited translation? I'm not sure about this. The master GPL cannot be time-limited. If we give you certain freedoms, it must be forever. However, maybe it's ok if the translation is time-limited and may be replaced with another translation. This way, maybe we can correct errors. Errors are much less dangerous if we can correct them. But it's not clear that it's acceptable, even for a translation, to be time limited, to not be forever.

It's a very hard job.

Other questions?

Q11: Can I make my question in Spanish?

RMS: Si [Richard and the audience member discuss the question in Spanish, then Richard answers in English]


A free program must be available for all kinds of use. That's fundamental. For authors to try to restrict what users do, in their own lives, in their own activities, is completely unacceptable. Any program, unless it serves only trivial purposes, like a game, can be used for evil purposes, just as a pen, or typewriter, or a telephone, can be used for evil purposes.

I don't think that we should allow pens or telephones or typewriters to come with requirements for what you can use them for, nor general purpose programs. That is its own form of tyranny. A program with such restrictions would not be Free Software. We will not allow any such restrictions to be added to any version of GNU GPL.

The most common restriction they propose, is restriction against military use. I would be extremely unhappy if my friend [sounds like "Zargento Mayor Totos Bravo"] in Venezuela could no longer install new versions of our software on the army's servers. The army of Venezuela may be necessary for resistance against an invasion some day from: you can guess where.

[Q&A ends, applause]

Further information