RMS: The GNU GPL Is Here to Stayby Federico Biancuzzi
In a recent interview, ESR shocked a lot of people when he said, "We don't need the GPL anymore." Federico Biancuzzi recently contacted RMS, founder of the Free Software Movement and initial developer of the GNU system (the G in "GLAMP"), to talk about the past, the present, and the future of the GNU GPL. Among other things, they discussed the new clauses of the upcoming GPL version 3.
In a recent interview I did with Eric Raymond, he stated, "We don't need the GPL anymore." I'm sure that you don't agree, right?
The GNU GPL is designed to achieve the goals of the Free Software Movement; specifically, to ensure that every user of a program gets the essential freedoms--to run it, to study and change the source code, to redistribute copies, and to publish modified versions. The GPL does that job very well; most other free software licenses don't try.
In fact, some non-GPL-covered free programs have widely used nonfree versions. For instance, consider Apache, whose license is free software but not the GNU GPL. We often hear that some 70 percent of web servers use Apache; what we don't hear is that a large fraction of those servers are using a nonfree modified version of Apache, as permitted by the Apache license.
If what you value is the popularity of your code, and such a thing happened to your program, you might consider it a good outcome. In the Free Software Movement, our goal is to bring freedom to computer users, and such an outcome for us would be a substantial setback. The GPL does good service in preventing this.
ESR addresses the issue in terms of different goals and values--those of "open source," which do not include defending software users' freedom to share and change software. Perhaps he thinks the GNU GPL is not needed to achieve those goals.
Is free software a better system of production?
Free software isn't a system of production. It means software that respects the freedom of the user--regardless of how it was developed.
There are four essential freedoms that define free software:
- The freedom to run the program as you wish.
- The freedom to study the source code and change it to do what you wish.
- The freedom to make copies and distribute them to others.
- The freedom to publish modified versions.
If a program gives its users these freedoms, it is free software. If it does not, then for the sake of my freedom I will avoid using it.
These criteria are a matter of the program's license; they have nothing to do with how the code was written, or by whom, or by how many people. A program can be free software if it was written by a collaborative group, and it can be free software if it was written by a single person.
There are some who say that a collaborative development model, taking advantage of these freedoms, tends to make software that is technically better. They may be right, and it would be nice if freedom brings such a practical bonus. However, the freedom itself is more important than the bonus, so the Free Software Movement focuses on the freedom.
Did the GPL contribute to the popularity of GNU/Linux, or maybe it was just a "social signal"?
I know that the GPL contributed directly to the capabilities of GNU/Linux. I can cite two examples from memory, but I am sure there are many more.
The GCC support for C++ was implemented by MCC. If not for the GPL, they would have made it nonfree software. The GPL did not allow that, so they made it free. C++ support is rather important, I think.
Large contributions have been made to Linux, the kernel, by companies that don't normally develop free software. If they had made nonfree versions instead, that would have been a great setback.
But that's not the main point. The GPL does something even more important: it guarantees that all users receive the freedom to share and change the software. That's the purpose of the GNU system, what it intends to deliver--the freedom to cooperate, for each and every user.
Do you think that GNU/Linux is so famous (more than BSD, for example) because it comes under a license that defends users' freedom?
I don't know--but the question doesn't seem important. Our goal should be to spread freedom and then defend it. That is more important than making our software popular, which would just be catering to our egos.
A lot of free software projects choose to use the following phrase in every of their program files:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
But this means:
- The user will choose which particular version of GPL he prefers, not the original software author.
- The user could choose this moving target (GPL 2.0, 2.1, 2.x, 3.x) appropriately in case of a lawsuit.
How can this undefined condition be a good thing?
This achieves two goals. First, that we can release future GPL versions and they will apply to the existing software. Second, that in releasing future GPL versions, we cannot impose any new restrictions on the existing software.
GPL version 3 will need to contain specific requirements that GPL version 2 does not have. Nothing large--the overall idea will be the same--but there will be some. I designed the words you've quoted to make it possible to distribute the existing code under GPL version 3, without imposing even the smallest new requirement on existing code, because people will still be able to use it under GPL version 2.