Richard Stallman Sets the Free Software Record Straight
"Most operating systems were developed for commercial or technical motives, but GNU was developed for the sake of giving users the freedom to cooperate in a community," said Richard Stallman, founder of the GNU Project. "If users don't know this, they will be in danger of losing their freedom."
Richard Stallman is a free software pioneer. As president of the Free Software Foundation and founder of the GNU Project, he is also an evangelist of a free society in which people have inaliable rights to run, study, copy and distribute software. As such, Stallman is often grieved when he reads news reports that lump the GNU Project in with the open source movement.
While about 150,000 people are expected to provide their opinions on version 3 of the GNU General Public License (GPL), the most popular free software license in the world, Stallman has some strong opinions of his own to share with the world about the differences between open source and free software.
With the publicity surrounding the next GPL update, Stallman is seeking to set the record straight about how proposed changes would impact developers. LinuxInsider caught up with Stallman to give him an ear and dispel common misconceptions about free software.
LinuxInsider: I'd like to give you an opportunity to correct a few common errors you've seen in the media and in industry language. Can you tell our readers about terms like GNU, Linux, open source, free software and how they should be appropriately used?
Richard Stallman: The idea of the free software movement is that software users are morally entitled to four essential freedoms, essential for living as part of a free society where people can cooperate when they wish:
- Freedom to run the program, as you wish.
- Freedom to study the source code, and change it to do what you wish.
- Freedom to make copies and distribute them to others, when you wish.
- Freedom to distribute modified versions, when you wish.
We view these as human rights which all software users should have, without exception. We have not achieved the goal of establishing these rights for all users, but we have made it practical for those who want these freedoms to gain them and maintain them. We did this by developing the GNU operating system. Our target was to develop a complete Unix-like operating system that would be entirely free software. We began the development of GNU in 1984, and by the early '90s the only essential component still missing was the kernel.
Linux is a kernel developed chiefly by Linus Torvalds, which was first released in 1991 -- but not as free software. Linux became free in 1992, when it was relicensed under the GNU GPL. Linux fit the last remaining gap in the GNU system. The resulting combination, the GNU/Linux system , basically GNU with Linux added, was the first available free software operating system. (Calling this system "Linux" is common, but it is unfair to the system's principal developers, and, even more important, to the ideals of freedom and community that motivated the GNU Project.)
As GNU/Linux usage spread in the '90s, many of the users found it had practical advantages as well as ethical advantages. It was powerful, reliable, cheap, and fun to work with. Those not inclined to think about technology in terms of ethical questions adopted and recommended the system for practical reasons alone. This contributed to its popularity, but at the same time, it meant that many of the users never even heard of the ethical motives for developing GNU.
In 1998, some of the users who preferred to hush up the ideals of free software chose a different term, "open source," to express their philosophy without mentioning our ideals. Instead of giving priority to freedom and community, the open source philosophy agrees with Microsoft that what matters is making software powerful, reliable and convenient.
People who hold those views have a right to their opinion. I disagree with their opinion, so I vociferously object when people label me or GNU/Linux with the slogan "open source."
Most operating systems were developed for commercial or technical motives, but GNU was developed for the sake of giving users the freedom to cooperate in a community. And if users don't know this, they will be in danger of losing their freedom.
In particular, if you want to understand why the GNU General Public License says what it says, you need to understand it in terms of the ideals of the free software movement. I did not design it to be an "open source" license.
LinuxInsider: On January 16, the Free Software Foundation released Discussion Draft 1 of Version 3 of the GNU GPL, the first proposed changes to the main free software license in 15 years. These changes could have varying degrees of impact on developers and users of free software alike. What is the overarching purpose of this update?
Stallman: There isn't one. The general ideas of GPL version 3 are the same as version 2: to ensure that every user has the four essential freedoms. The changes are in details, and each is meant to address a specific case that we have encountered or envisioned.
LinuxInsider: GPLv3 provides for a grant to licensees of patent rights in the covered works. What is your view on this in light of the current patent law?
Stallman: Under U.S. patent law, distributing a program under the GNU GPL version 2 conveys an implicit patent license, but this may not be true in other countries. We replaced it with a similar explicit patent license grant, which will clearly apply everywhere.
LinuxInsider: The GPLv3 also has a "patent retaliation" provision, which terminates the licensee's right to privately modify and run the program if the licensee brings a patent infringement claim against anyone for activities relating to the program or a work based on the program.
Stallman: There is a very narrow, limited patent retaliation clause in section 2 of the GPL version 3. It applies to cases where someone develops an improved version of the program, then sues someone else for patent infringement for implementing similar improvements in the program.
LinuxInsider: What kinds of impacts might this have on developers?
Stallman: It won't have any impact, except on someone that was planning to try to use software patents to block others from improving a GPL-covered program. Anyone committing aggression with software patents deserves bad things to happen, but this narrow provision is more likely to deter aggression than punish it.
LinuxInsider: How might the "patent retaliation" provisions impact a company's patent portfolio management?
Stallman: The draft of GPL version 3 doesn't have various patent retaliation provisions, just one, which we discussed [above]. However, there is a way for other patent retaliation provisions to get into a program covered by GPL version 3.
One of the improvements of GPL version 3 is that section 7 explicitly provides for compatibility with certain other free software licenses, such as the Apache Public License or the Eclipse Public License. This means you will be able to combine code from other programs, released under the Apache or Eclipse licenses, into a GPL-covered program. You will be able to link them together, statically or dynamically, or even merge the code.
Those two licenses have patent retaliation clauses. When you include code covered by one of those licenses, it will keep its original license, including its patent retaliation clause, even as a part of a GPL-covered program.
LinuxInsider: How will the Apache Public License and Eclipse Public Licenses affect "patent portfolio management" for software patents?
Stallman: First of all, what are we talking about? The term "portfolio management," for software patents, is a euphemism for bullying other software developers, and their users, by threatening to sue them for patent infringement over programs that they wrote or use. It is nasty, antisocial, and under wiser governments it is illegal.
I wish that these patent retaliation provisions could stamp out software patent "portfolio management" entirely, but I think that is too much to hope for. After all, lots of companies already use Apache and Eclipse, with these same patent retaliation provisions.
However, it is possible that these patent retaliation provisions will protect some free software developers and users from some nasty bullies. That is not a bad thing.
LinuxInsider: Let's turn to Digital Rights Management for a moment. GPLv3 contains several provisions addressing the FSF's concerns about DRM, including restrictions on the use of covered programs for DRM technology. Specifically, the license would require that the source code delivered with the covered software also include encryption, authorization and decryption codes. Do you think this is a good idea? What kind of potential impact might this have on the software industry?
Stallman: That is an overstatement. What section 1 requires is that the source code include such codes as are necessary for the user to authorize a modified version of the program so it will actually run, and operate on the same range of data.
This is to prevent "tivo"-ization of the program. Tivoization means that a product comes with free software, and you can get the source code and modify it, but the machine refuses to run modified versions when you install them.
It is not just a good idea -- it is essential for maintaining the user's freedom. Tivoization turns freedom 1, the freedom to make and use a modified version of the program, into a sham. Blocking tivoization is essential for making sure this freedom remains meaningful.
LinuxInsider: What kind of potential impact might this have on the software industry?
Stallman: I'm mainly concerned with its effect on software users: namely, to make sure they are free to run modified versions. However, we can hope that this will have a positive effect on certain actions of the software industry: that it will hamper the plans to impose Digital Restrictions Management.
LinuxInsider: GPLv3 also contains a provision clarifying that when independent non-derivative works redistributed for use in combination, including through dynamic linking, with a program covered by the GPL, the entire combination must be licensed under the GPL. How do you view this?
Stallman: This is already the case -- you can't get away with non-free extensions to a GPL-covered program merely by arranging for the user to link them with the rest of the program. The only relevant change in GPL version 3 is to make this more explicit.
LinuxInsider: In terms of distributions, GPLv3 includes changes and clarifications to the distribution provisions, including changes to the methods by which the source code may be made available. Can you elaborate on this and what impacts this might have on developers?
Stallman: The main change is that you can charge a higher price when people order the source code, in the case where you previously distributed binaries without sources. That should make things easier for companies that distribute binaries in embedded systems. Meanwhile, it will still achieve the main goal of this part of the GPL: to prevent someone from making the source code effectively unavailable by saying, "You can have it, but I'll charge you a billion dollars for it."
However, there's another change in this section which also affects these systems. If you distribute GPL-covered binaries without sources as part of a physical product, GPL version 3 says you must continue providing the source code to those that order it, for as long as you provide other kinds of support for the product, even if that goes beyond three years. This should not be a great burden, compared with providing other kinds of support.
LinuxInsider: The GPLv3 clarifies that someone who releases a work based on a GPL covered program can add additional terms, including a warranty, so long as the additional terms do not conflict with the terms of the GPL. What is the takeaway from this?
Stallman: This is not really a change. Some free software packages already come with "exception clauses" that grant additional permission beyond what GPL version 2 permits -- for instance, the libraries that come with GCC are an example. What we are doing in GPL version 3 is simply to formalize this practice.
LinuxInsider: Last but not least are international applications. The GPLv3 contains changes meant to allow for international application of the license without regard to the specific language or requirements of any given country's intellectual property laws. This is seemingly a hot topic. What is your view?
Stallman: I did not know it was such a hot topic, because it seems uncontroversial. Of course the terms for using a GPL-covered program should be the same in all countries. In drafting version 3 we are taking pains to assure that this is the case, by choosing wording to work around the variation that actually exists between countries. This uniformity ought to be good for the whole community.