Stallman discusses Free Software and GPLv3

By Federico Biancuzzi

O'Reilly

April 13, 2009

On June 29, 2007 the Free Software Foundation released the GNU General Public License, version 3.

What happened since then?

I had the opportunity to discuss many subjects with FSF's founder and president Richard Stallman.


First of all, could you remind us of what free software means?

Richard Stallman: Free software means software that respects the user's freedom. (Think of "free speech", not "free beer".) Specifically, it means you have the four essential freedoms: (1) to run the program as you wish, (2) to study the source code, and change it to make the program do what you wish, (3) to redistribute exact copies, and (4) to distribute copies of your modified versions.

With these four freedoms, the users control the software, both individually and collectively, so it is free software. Otherwise, the program is proprietary software, which means it operates as an instrument to give the developer power over the users.

The basic idea of the free software movement is that nobody should have such power over anyone else. Users deserve freedom, so software should be free. Thus, proprietary software is something worse than an inconvenience. Proprietary software is a social problem, and our aim is to put an end to it. Free software is sometimes more powerful and reliable, but what concerns us most is that it is a more ethical way to distribute software.

Nearly two years has passed since the release of GPLv3 [ http://www.fsf.org/news/gplv3_launched ]. What events impressed you positively, and what negatively?

Richard Stallman: I am disappointed that Linux [ http://www.kernel.org/ ] has not moved to GPLv3, since that means the added protections for users' freedom do not apply to this important component of the GNU/Linux system. I was also somewhat alarmed to discover that Microsoft has procured the continued use of GPLv2 by certain projects by giving them money.

Nonetheless, GPLv3 is used by many free software projects, and has even convinced some developers to liberate previously proprietary software packages. Overall, I think it is accomplishing its mission.

What's the relationship between GNU and Linux?

Richard Stallman: GNU [ http://www.gnu.org/ ] is a Unix-like operating system whose development I started in 1984. GNU is not quite complete: the kernel of GNU has never worked very well. So we mostly use GNU with a different kernel, which is Linux.  Linus Torvalds released the first version of Linux in 1991, and made it free software in 1992. The GNU/Linux system started out in 1992 as GNU with Linux added. Since then, many other programs have been added, but GNU is still the largest contribution.

Linux was free software in the 90s, but no longer. Several years ago Torvalds began installing non-free firmware programs disguised as "source code" in the source files of Linux drivers. These programs take the form of long tables of numbers, which are actually a binary program; the source code for these programs is not released. Although these "blobs" follow the syntax of C, they are not the real source code of the program, and thus not free software. Many of them also carry explicit non-free licenses.

We now maintain a free version of Linux called Linux Libre [ http://directory.fsf.org/project/linux/ ], in which we have removed the firmware blobs. Free GNU/Linux distributions use this version instead of Torvalds' version.

More recently we found out that other Linux drivers require separately-distributed non-free firmware programs. In these cases, the driver can be called free in a literal sense, but since it won't run in a free platform, it is just as useless in the free world. Future versions of Linux Libre will also be disconnected from the separately distributed firmware blobs.

What is the problem with binary-only drivers?

Richard Stallman: They are not free software! Freedom number 1, the freedom to study and change the source code to make the program do what you wish, is missing. With this freedom, you control the program. If you don't have that freedom, the program controls you.

(Note that binary-only drivers and binary-only firmware are not the same thing. The driver runs on the CPU to talk to the I/O device; the firmware is loaded by the driver into the I/O device itself. But these two issues involve similar problems.)

How can we help solving this problem?

Richard Stallman: If you are not a wizard, what you can do is refuse to buy products that require non-free software to work. Make those manufacturers feel the pressure!

The Hardware Resource pages [ http://www.fsf.org/resources/hw ] on fsf.org give information about which products really work with free software, in certain categories.

Is there any limit that shouldn't be trespassed to-write/when-writing free drivers? For example, is signing an NDA covering the hardware specs acceptable from your point of view?

Richard Stallman: I think it is wrong to sign an NDA covering generally useful technical information. However, if by signing an NDA for the interface specs of a device you can release a free driver for that device, I think that particular end justifies the particular means. This is because releasing the free software to support the device (supposing the NDA enables you to do this) largely eliminates the harm done by the secrecy over the specs.

Does the GPLv3 include any clause about (free) drivers?

Richard Stallman: No, because there is no need. GPL version 3 forbids non-free add-ons, and so does GPL version 2. Torvalds decided to tolerate them rather than enforce GPL version 2 against them.

What are the major updates included in GPL3?

Richard Stallman: The purpose of the GNU GPL is to ensure that all copies of all versions of the program are free software. The changes in version 3 are designed to do this job better. That's all they have in common; the rest is all details. For a description of the most important changes, see "Why Upgrade to GPLv3 [ http://gnu.org/licenses/rms-why-gplv3.html ]".

I remember that you defined software patent system as "harmful and unjust [ http://www.onlamp.com/lpt/a/6222 ]". Is there any other active law in US that limits software freedom from your point of view?  DMCA?

Richard Stallman: The DMCA is the other one. It censors free software that can access encrypted media such as (for example) DVDs.

As far as I know these two laws are present only in the USA, except software patents that are valid in Japan too. So I am wondering if you have ever considered to leave your country...

Richard Stallman: Unfortunately there are many countries that have laws similar to the DMCA. All of the European Union countries do, and the US has imposed similar laws on several countries through its Low Wage Treaties. In France, even to possess a copy of this sort of free software can be punished with imprisonment.

Canada's government has persistently trief to impose similar unjust restrictions; Canadians should take action [ http://www.defectivebydesign.org/fight-the-canadian-dmca ] now.

Software patents are also found in other countries, and the European Patent Office issues them -- in defiance of the treaty which set it up. If you want to help fight against software patents in Europe, visit FFII (Foundation for a Free Information Infrastructure) and participate in their activities. We have beaten back three attempts to give legal validity to the EPO's software patents, but they will surely try again.

If I think at the major proprietary OSes (Microsoft Windows, Apple MacOS X, Sun Solaris, IBM AIX, HP-UX, etc) I see that they are developed by corporations in USA. Maybe they are all US-based because of some laws, such as software patent laws, that provide them advantages...

If there are laws in the US that encourage the development of proprietary operating systems, we should consider changing them. Proprietary software is a social problem: it denies users the freedoms they deserve and sets up a system of unjust power. Our laws should ought to discourage this.

But software patents were not responsible for the success of those operating systems. Software patents did not start in the US until 1982, and did not have a substantial effect until around 1990, long after those companies were established, and most of those systems too.

The idea that software patents benefit software developers is a misunderstanding of the patent system. What software patents do is threaten software developers with lawsuits. An operating system implements tens of thousands of ideas in combination. In a country that allows software patents, many of those ideas will be patented, and the system's developer is likely to be sued.

Here is what Bill Gates said in 1991, in a leaked internal memo, about how software patents would have affected Microsoft's chances of getting started:

Gates, 1991: "If people had understood how patents would be granted when most of today's ideas were invented and had taken out patents, the industry would be at a complete stand-still today. The solution [...] is patenting as much as we can [...]."
(Two other sentences were formerly included in this quotation, but Richard Stallman asked for them to be removed on learning that they did not really come from Gates.  Stallman regrets the error.)

This quote also shows Gates' lack of morality: he calls on Microsoft to do unto others what he's glad nobody did unto Microsoft.

I have seen both Microsoft and Sun attacked by patent-wielding vandals, but I did not cheer to see a proprietary software developer threatened, because I knew that any developer could be the next victim. These proprietary programs are unethical, since they don't respect the users' freedom, but that doesn't make it a good thing when they are attacked with software patents.

How do you explain that all these initiatives related to software, yours included, are often created in USA?

Richard Stallman: I don't know if that's generally true, but if it is, it seems like a side issue to me. Making software respect our freedom is what matters.

But I know of two factors that could have encouraged this. One is that the US was (I think) in the lead in use of computers ever since the 60s, perhaps even the 50s. In the 50s, the US was far wealthier than any other country; most Western countries were still recovering from World War II. So there was more money to invest in expensive capital equipment such as computers.

The other is that the US government put a lot of money into development of computer technology and software during the Cold War. Development of the Internet was just part of this.

What would you define as the major initiatives you started since the creation of the Free Software movement?

Richard Stallman: When I started the Free Software movement I also launched the development of the GNU operating system -- announced in 1983, and the work started in January 1984. The GNU system is widely used in the GNU/Linux combination, which also includes the kernel Linux.

Important software projects launched as part of GNU include the extension language Guile, which was meant to unify the various popular extension languages but did not succeed at it, and the graphical environment GNOME, which is widely used.

Recently we have started Gnash and GNU PDF, intended to provide full free software support for Flash and  PDF formats. GNU PDF is meant to give full support for PDF format, but it is not yet ready for use.

Gnash now supports most of the Flash 8 features, but the Flash target is moving so fast it is hard to catch. We therefore urge everyone: Do not publish videos in Flash, do not put Flash on a web site, complain to the webmasters of sites which use Flash substantially, and don't refer people to those sites.

We cosponsor the maintenance of two free GNU/Linux distributions, namely gNewSense and Ututo. We also host the maintenance of Linux Libre, the free version of the kernel Linux, which is suitable for use in a 100% free GNU/Linux distro.

Is there a result after which you could declare your battle for software freedom definitively successful?

Richard Stallman: My goal is a world in which proprietary software is a thing of the past and computer users control the software they use. Maybe we will achieve that in my lifetime. But the battle for freedom is never "definitively successful"; as Bush, Preston, B'liar, Sarkozy, Berlusconi and many others show, there are always leaders prepared to attack your freedom if you take it for granted.

Have your ever considered to give up? What kept you believe?

Richard Stallman: I get discouraged very easily, but the feeling passes after a while. I never think of giving up. What use would that be? We can't win by giving up.

Is the free software community (and FSF in particular) strong enough to move to a democratic system (elections) to choose their leaders?

Richard Stallman: We already have a system much better than that: you can choose which leader(s) you wish to follow and how much. If you want to be a leader, start leading, and see who wants to help.

What is your role in FSF?

Richard Stallman: I'm the president, and I make the main decisions, occasionally consulting the board of directors for those that are very important. The executive director is responsible for day to day operation.

Considering that you are also a computer hacker, do you still have time for coding?

Richard Stallman: Very little nowadays. Programming is fun, but the free software movement is really important, so it takes precedence.

A lot of cool things happened in technology since you started the GNU project. Have you ever had the desire to work on new software or hardware, instead of the freedom aspects?

Richard Stallman: Not really. I am no longer very excited by new computer technology, because I have come to expect it to be designed to subjugate the user in new ways. So every time I hear about a new development, I think of the possible dangers: "Does it have DRM? Does it make people identify themselves where they used to be anonymous? Does it have proprietary software that communicates with a secret hardware interface or does a patented job? Does it invite people to give up control of their lives in some way or other?" If the answers are "no", I relax.  

What can we use the GPL for, besides software?

Richard Stallman: It is good for data, for documentation that you wouldn't expect anyone to publish on paper. For any other kind of work too, except perhaps books and things like books.

You are very focused on GPL (v3 now), so I wonder if you have ever considered to offer different types of license like the Creative Commons project does?

Richard Stallman: Two of the Creative Commons licenses are free licenses: the Attribution license and the Attribution Share-alike license; the rest are not. Those non-free license are ok, in my opinion, for art and opinion -- I don't believe there is a moral imperative to make those sorts of works free. It is sufficient if people are free to share copies, and all the Creative Commons licenses permit that.

Software, however, ought to be free. Thus, software licenses don't need to cover such a broad range of different terms. Likewise, educational and reference works ought to be free. For those, you should use the GNU Free Documentation License or one of the two free Creative Commons licenses.

We have released three different software licenses: the GNU General Public License (GNU GPL), which is a strong copyleft; the GNU Lesser General Public License, which is a weaker copyleft used for some libraries, and the GNU Affero General Public License, which has a special provision for software meant to run on network servers. However, on rare occasions we recommend using the X11 license, which is a non-copylefy license.

Is the GPL itself under copyright?

Richard Stallman: Yes.

Why?

Richard Stallman: We don't want people to circulate modified texts that purport misleadingly to be the GNU General Public License.

Copyright does not restrict the writing of license text. Thus, if you want to write a license with wording similar to the GNU GPL but not exactly the same, you can do so. But you can't copy our preamble without our permission, so you can't make it appear to have come from us.

You have also created a separate license, Affero GPL, to deal with software provided as a service (for example webmails). Why?

Richard Stallman: Please don't associate the GNU Affero GPL with "software as a service". That license is meant for any sort of program for which use on servers is expected to be an important source of improvements.

When a program is designed to be distributed to the end users, who get copies and run them, its modified versions are also normally released in this way (except when they are just used privately). Therefore, the original developers can normally get a copy of the modified version. Then the GNU GPL gives them legal permission to use the source code of the modified version to enhance their version.

However, if a program is normally used on a server, it is quite plausible that someone will make major improvements to run on his own server and never release copies of the modified version. Since the original developer cannot get a copy of it, the GPL will do nothing to help him put those changes into his version. This outcome was discouraging to the developers of such free software.

The GNU Affero GPL requires the server operator to distribute copies to the users of the server. If the server allows access by the general public, the original developer can connect to it and get a copy of the modified source, then use the changes to enhance his version. But this is not a privilege limited to that sole developer: anyone maintaining a version of the program can benefit from this.

The GNU Affero GPL gets its name from Affero, a company which several years ago wanted a license with this feature. As a stopgap, we worked with Affero to design such a license based on GPL version 2. It was released by Affero, not under the auspices of the GNU Project, and was called the Affero GPL.

Running programs on a server can cause various problems. Releasing a program under the GNU Affero GPL solves one of them, a problem that affects the software's developers. But there is also sometimes a problem for the users: namely, that of "software as a service".

"Software as a service" means that you think of a particular server as doing your computing for you. If that's what the server does, you must not use it! If you do your computing on someone else's server, you hand over control of your computing to whoever controls the server. It is like running binary-only software, only worse: it's even harder for you to patch the program that's running on someone else's server than it is to patch a binary copy of a program running on your own computer. Just like non-free software, "software as a service" is incompatible with your freedom.

We did not try to address this with the GNU Affero GPL because this cannot be solved by a software license. If all the software running on the server is released free software, that would enable you to set up a your own similar server if you wanted to; but you still have no control when you use the server that isn't yours.

The only solution to this problem is not to use someone else's server to do your own computing on your own data. Do it on your own computer, using your own copy of a free program.

Will we ever reach a point where a software, to be considered really free (as in freedom), will have to be gratis too?

Richard Stallman: I would rather hope we will reach a point where people understand these two concepts well enough that everyone will see the difference.

Is the distinction between "free software" and "open source" still meaningful?

Richard Stallman: It is fundamental, because it is a difference in basic values. The free software movement is concerned above all with values of freedom and social solidarity. We recognize that free software respects your freedom, while non-free software takes it away. Therefore, distributing non-free software is creating an injustice, and it is wrong to do so. Our goal is to put an end to that injustice by making software free.

The idea of open source was promulgated by people who did not want to speak of such things, and they chose to associate it with practical values only: for instance, making powerful, reliable software. They say that their development methodology is likely to produce "good software" -- good in a practical sense only. They do not say that a program tramples your freedom if it isn't open source. They do not say that making it open source is an ethical imperative. Often they do just the opposite: they explicitly grant ethical legitimacy to proprietary software.

Open source supporters often work together with free software activists on technical projects, where what matters is the technical work you do, not what you believe in. However, at the philosophical level, they oppose our campaign for freedom.

How did ten years of Open Source affect the Free Software movement you started in 1983?

Richard Stallman: Open source supporters often try to obscure the free software movement's very existence. They refer to our work as "open source" and let the reader draw the conclusion that we free software activists agree with them. There must be hundreds of articles that erroneously present me as a supporter or even the founder of open source. When one article called me the "father of open source", I responded that if I am, it was conceived via artificial insemination using purloined sperm.

Mislabeling us imposes a handicap on the free software movement: before we can bring our views to the attention of the people that use our software, we first must correct the misinformation about what we stand for. We do this, but the handicap surely reduces our effectiveness.

What are Free Software Foundation's most recent initiatives regarding software freedom?

Richard Stallman: About three years ago we launched DefectiveByDesign.org, a campaign of protests against Digital Restrictions Management (DRM). That term refers to the practice of designing software so as to restrict what users can do with their copies of published works.

Our campaign has held protests at Microsoft events, Apple stores, movie theaters, and public libraries, as well as on-line actions. If you want to put an end to software designed to restrict you, visit the site and sign up to participate. We need to show all companies that if they design software to take away our freedom, they will earn general hatred.

Another campaign is PlayOgg.org, which encourages and helps people install Ogg players. Aside from the Ogg formats, all the widely used audio and video codecs pose problems for free software: some are secret, and we can't support them at all; others are patented, and there is free software to support them, but distributors have been threatened with lawsuits if they distribute it.

One of the problems with Flash is that Flash video typically uses MPEG4 for video and AAC for audio, and these formats are patented. In effect, Flash has become a smokescreen for those other protocols. Sites such as Google Video and YouTube, which encourage use of Flash, are a harmful influence.


Federico Biancuzzi is a freelance interviewer. He is co-author of "Masterminds of Programming - Conversations with the Creators of Major Programming Languages", a book published by O'Reilly.

Copyright 2009