Fight For Software Freedom Far From Over -- Interview with Richard StallmanAug 19, 1999, 09:41 (41 Talkback[s])
(Other stories by Dwight Johnson)
By Dwight Johnson, Linux Today
In 1984, Richard Stallman quit his job at MIT and set to work to develop a free UNIX-like operating system. Along the way, he founded the Free Software Foundation, developed the GNU General Public License (GPL) and wrote gcc and Emacs.
Richard Stallman is an extremely active advocate for the free software cause.
Linux Today's Dwight Johnson caught up with Richard in San Jose at the LinuxWorld Conference and Expo August 12, 1999 for this interview.
An Audio broadcast of this interview is now available.
Richard, what are the main issues facing the free software movement today?
Richard Stallman: In general, they have to do with protecting our freedom in the areas where we have achieved freedom and extending that freedom into other areas where we haven't achieved it yet.
What are those areas?
Richard Stallman: The areas where our freedom is threatened? There are several. One of them is in regard to device drivers for new hardware because often the specs for new hardware are kept secret and that makes it hard to develop any free software to run the new hardware.
What's the threat?
Richard Stallman: The threat is that people will settle for non-free device drivers, Linus having made the decision to permit dynamically linking non-free drivers into the kernal Linux. That means that these non-free drivers can be made available.
Is that compatible with the GPL?
Richard Stallman: It's not compatible with my interpretation of the GPL. But Linus, being in charge of Linux, if he says it's permitted, really nobody has the power to disagree with him. So the result is that for each new piece of hardware, a manufacturer may or may not publish the specifications. If a manufacturer does not publish the specifications, then we are confronted with a temptation to let some of our freedom go by installing the non-free driver that might be available for that piece of hardware.
What we have to do to resist this challenge is to refuse to buy the hardware that requires non-free drivers. That's something all of us can do. And some of us have to figure out how to operate the hardware and write a free driver which is a big job. But fortunately, that's not something we all have to be doing. We only need a few people to be willing to do that big job.
Now, these are both things that we can do better. The more we're aware that free software is an issue of freedom, the more likely we are to go to the effort to do these things -- most of us to reject those pieces of hardware, and a few of us to do the large job of reverse engineering to figure out how they work.
Without considering the fact that we might reject this hardware, are there any natural advantages to the manufacturer of hardware to make a free driver?
Richard Stallman: I can't say that I'm sure there are any advantages to them. The people who talk about open-source rather than free software tend to claim that we can't lose because it's automatically better for everybody if users are allowed to have freedom. I'm not convinced that it's automatically better for everybody. I think there are some people who are in a position, assuming that they're amoral, to benefit by having power over others. I can't be confident that this power will go away unless we work together to throw it off.
I think that we need to make an effort to defend our freedom. History shows that if people don't make an effort to defend their freedom, then they're likely to lose it. There are plenty of people who will offer you the opportunity to trade some of your freedom for convenience or security. And Americans don't seem to have a great track record of rejecting those offers. So, I don't have faith that things will come out well automatically and we just don't have to worry. I think we'd better pay attention to defending our freedom. The issue of non-free device drivers is one of several such issues.
Aren't there currently some threats even to our freedom to reverse engineer device drivers?
Richard Stallman: Yes. Absolutely. That's one of the dangers in the proposed law UCITA which also takes away what freedom remains today for the users of proprietary software -- it's going to take away a substantial chunk of their remaining freedom.
This is one law that we need to fight. But I haven't yet finished responding to your first question. You asked in what areas are we in danger of losing the freedom we already have and I just brought up one of them.
What are the others?
Richard Stallman: Another has to do with when every so often somebody writes a library which is not free but has a license that's lax enough to make it possible to use it with free software. When that happens, free software developers may get tempted to start using it.
You mean like the QT library was?
Richard Stallman: QT is one example of this. Motif was an example before that and there are others. XFORMS I believe is an example. If we aren't thinking about it, we might accept a non-free program and then we might come to feel it's acceptable or even that one can't do without it. If a large fraction of our community starts accepting it on the grounds that they think they can't do without it, then it's very hard for us to do anything about it.
The problem that happened with KDE wouldn't have happened if its developers had been aware of what kind of problem it was to be using a non-free library. They wanted to develop free software. And they did make their own code free software. They just didn't realize that the use of a non-free QT library would make their programs impossible to use in a fully free operating system.
In most of these issues, spreading awareness that there is an issue, that there is a pitfall that we might stumble into if we don't keep our eyes open, is a big part of starting to address it.
Another issue is what about the areas where we don't have freedom yet? We need to try to extend our freedom into those areas.
We set out fifteen years ago to make a free operating system because the operating system is the first thing you need in order to use your computer. Now we have a free operating system, the Linux-based version of the GNU system. There are other free operating systems as well. So that job, that step, has been achieved.
But, in addition to the operating system, users want applications. We now need to make a whole spectrum of free applications to run on free operating systems.
I know that many of the companies that make proprietary applications are now starting to release versions of them that run on GNU/Linux. It's a step forward. Running a proprietary application on GNU/Linux, or some other free operating system, is a step forward from running it on Windows. But it's only the first step. It's not the same as fully having freedom. To fully have freedom you've got to be using a free application instead of a proprietary one. So, we need to develop large numbers of free applications.
Another important thing is the development of good and clean and thorough emulators for the proprietary operating systems that are popular so that people will be able to run those various applications they want to run but have been written, whether they are free applications or proprietary applications. If they've been written for say, Windows, it would be useful if people could run them on GNU/Linux without having to wait until somebody ports them, because some of them are being ported but some of them aren't.
One other issue is, if we talk about a proprietary application ported to GNU/Linux as if we're shouting triumph that that's now available, implicitly, we're saying that a proprietary application is a good thing. With an emulator, we can make it possible for people to run all of those applications without having to say that those applications are a good thing. So we can achieve the same practical aim that enables the free operating system to become more popular without having to become less steadfast in saying that software should be free.
So a project like WINE has more of your thorough support than a project like Corel Office Suite?
Richard Stallman: Absolutely, because WINE is free software. WINE is a contribution to our community. And indeed I don't think it's really a good thing if people are running a proprietary office application on top of GNU/Linux.
It may be necessary.
If we're going to be doing that, it's better if we are telling them about WINE, since WINE is free software, than if we're telling them about a proprietary office suite. They might use WINE and get some proprietary office suite that everybody's heard about because it runs on Windows. But at least we don't seem to be endorsing it. And that's a step forward, because we can give a clearer message, and yet either way the people who are determined to use the proprietary office suite, have a way to use our free operating system underneath it.
Do you see any inherent difficulty in developing these free software applications? We have, for example, AbiSource, which seems to have the right license and it's coming along. As a project, it seems to be pretty well organized and to be reaching its milestones. Is there any reason intrinsic to applications itself that should make them harder to do than the infrastructure?
Richard Stallman: No. Not at all. However, one obstacle that will affect us in all areas, of course, when it will affect us is unpredictible, but it's a danger in all areas, and that is software patents. The problem with software patents is that they don't cover particular pieces of software. They cover ideas, such as algorithms and features. If people were patenting individual programs, that wouldn't be a problem because we write our own programs. We can do that. But because people are patenting ideas, like algorithms and features, you can't reinvent all the software, the whole field for yourself. In order to write any program, you've got to be using ideas that other people had first.
What free software projects have already been impeded by software patents?
Richard Stallman: There was no free software for public encryption in the U.S. for many years because of the patents covering public encryption. Only after 1997, when the broadest patent expired, did that start to be possible.
Another area where this has been a problem is compression. The compression program that was at one point the main tool used to compress a file on Unix-like systems was released as free software. And then it had to be essentially withdrawn because the algorithm that it used was patented.
Now, at the time the author wrote it, he didn't know it was patented. In fact, it wasn't patented yet. The patent was only issued in the following year. And at that point, anybody who was distributing or using it was in danger of getting sued.
So the GNU project responded to this by finding someone with another algorithm to use for compression. But we actually had to do that twice. The first time we found somebody and we were about to release the program. And one week before, I just happened to look at the New York Times and see its patents column. And I noticed a statement that somebody had invented a new way of compressing data and I had a bad feeling about it so I got a copy of that patent and it turns out that he had patented the same algorithm we were about to use.
Luckily, we then found somebody else to figure out a method that fortunately didn't get patented. But it can be very hard. And today, when you look at compressing audio and video, it's a very difficult area. We can't implement mp3. And it's ironic because mp3 is the format people are using to start to make recorded music -- to share recorded music with each other. And we can't have free software to generate it or to play it. So we're going to have to look for an alternate format -- if we can find one.
If we can find some way of compressing audio that isn't covered by some of the broad patents that are out there, then we'll have some free software for audio compression.
The WWW is frequently getting hit with patents that cover some important thing that they have to do. It seems to be a couple of times a year that they find out about some broad patent which could kill off some important part of the Web.
And then there are other areas where people have allowed something to be a defacto standard even though it is patented. For example, Realaudio. Everybody just assumes that they are going to use Realaudio, but Realaudio is not free software and some of the algorithms it uses are patented.
So there's somebody looking at writing a free replacement for Realaudio, but it won't be able to handle all of the kinds of formats that can be used. And then I'm told about the Gimp, the GNU Image Manipulation Program, that there are some features it doesn't have because they are patented.
Besides developing alternate algorithms, is there any other way to attack this threat?
Richard Stallman: In some cases you can invalidate an existing patent by finding prior art. In other words, somebody who was using the idea in question early enough that it means the patent is not valid legally. But it's chance whether that exists. There may or may not have been somebody else using that same idea or a similar enough idea and if there was, there may or may not be any evidence of it that is available to us today. So what we really need is law that exempts software from patents.
So in your view, the patent system itself is fundamentally flawed.
Richard Stallman: I'm not enough of an expert on the other fields that I would want to say that we should get rid of patents from all fields. Maybe they are a good system in some fields. I'm mainly concerned with software. And in the field of software, I feel I know enough to say that patents only get in the way. We'd be better off if there had never been patents in software. Almost every software developer would be better off if there were no patents in software and so the right solution is to get patents out of software. And I propose that we should do this with a law that says that distributing or running a program that uses general purpose computer hardware to do a job is never patent infringement.
Haven't the Europeans already had the benefit of this legislation?
Richard Stallman: Yes and no. The situation in Europe is complex. First of all, not all Europe has the same patent law. Some of the countries of Europe have different patent systems, such as the UK. However, there is something called the European Patent Office, which is used by a number of European countries. And the rules of the European Patent Office say that software, as such, does not infringe patents but software combined with hardware to do a job could infringe a patent.
There are patents there doing certain jobs with software running on a computer. However, currently, the rules don't allow patenting of purely software techniques and that has to some extent restrained the number of patents and put some doubt over the validity of other patents.
The patents get issued but the owners hesitate to enforce them because the courts might just say these don't follow our rules. This kind of patent mustn't exist.
There is a political battle now in Europe about whether to have software patents, in the full generality as they exist in the US. And there is a Web site organizing a resistence to this change. It's called www.freepatents.org. If you live in Europe, you should read that Web site and then participate in the effort.
The decision was supposed to be made last June, but there was enough opposition from the public that they put it off for one year. It can be defeated if we get more opposition going, especially if businesses that use software realize that this would permit patents on business practices.
If anything done in software can get patented, then business practices would get patented in Europe the way they are now in the US. And that means that businesses would no longer be free to decide how they're going to organize their work. So every business that uses a computer in Europe should be concerned about this issue. Don't let them just hear from the big software companies that think they're going to profit from owning these patents.
Is there any country currently in the world that has the right perspective on software patents?
Richard Stallman: I don't know. I don't know of any that I could name for certain. I'm not an expert on the laws of all these countries, unfortunately.
How would you propose to move ahead to to get this legislation that we need about patents actually implemented?
Richard Stallman: Obviously, we need a lot more members of the public demanding it to have any chance of convincing Congress to pass a law. But in addition to numbers, we need to be organized. The number of people using the GNU/Linux system is increasing, but they mostly aren't aware that there are political issues associated with their community. The word is not being spread very well. We need to both increase our numbers and make people aware. Once they start using the system, we have to then tell them about the issues that affect our freedom in the future so that they can have a chance of deciding they agree and helping out. We need to have an organization that they can participate in to help fight this.
You mean like a Ralph Nader organization?
Richard Stallman: Yes. A lot like that. Now a number of organizations, including your magazine, are interested in getting something going on this. To fight, first of all, UCITA, which would make it easy for Microsoft to prohibit reverse engineering. And then maybe some of these other areas in which our freedom is being threatened or where it's already been taken away. And with an organization like that, and with enough outreach to the people, starting to come into the GNU/Linux community, we will have a fighting chance, I think.
How imminent is this threat? Is it something that might affect us some day like a comet striking the earth or is it something to get right on to?
Richard Stallman: Software patents, as I've said, are already affecting us from time to time. Working on software in a system which has software patents is like living in a country where there was a civil war and a lot of land mines were laid. Any given day, you're probably not going to step on a land mine. But from time to time, there are projects that are stepping on a land mine and getting blown up. And you see it happening from time to time. And mostly people go about their life as usual because what else do they think they can do? They don't see an alternative. But we ought to get organized on getting those land mines taken out of the ground.
We seem to be getting a lot more land mines being put in the ground because there is a great acceleration in the number of these software patents being issued -- especially affecting the Web.
Richard Stallman: That's right. At the moment that is what's happening. So the point is this is a real problem today. It's the kind of problem that strikes a few areas -- certain areas of certain projects fairly often. But each of us is most likely not to be affected by it in our own work on any given day. So it's easy for people to ignore it until the day they step on a mine.
But that won't do. We've all got to start being concerned and doing something about the problem and not wait until the day our own project gets blown up. Now UCITA was just approved by the Commission on Uniform State Laws. Which means that over the next probably few months, legislators will be introducing it in 50 state legislatures and, therefore, nothing's going to happen this month. But there's no time to lose in starting to organize to be able to block it when it does come up for a vote. And it's going to have to be done state by state.
Richard, thank you for talking to Linux Today about these issues.
Related Stories (UCITA):
Related Stories (Software Patents):