Stallman: Software patents victimise developers

Part I: Software patents are victimising developers with a system which is making it increasingly difficult to write programs, according to free software guru Richard Stallman

In a talk earlier this week, Richard Stallman described software patents as a sort of lottery, bringing benefits to people only rarely.

Stallman is well known among free software fans as the writer of the GNU Public Licence, the licensing model used by most open-source software writers to ensure that any improvements, additions or changes of any sort to their software is contributed back to the community.

On Monday afternoon Richard Stallman was invited by the Foundation for Information Policy Research to speak at the Cambridge University Computer Lab on the issue of software patents.

Stallman kicked off his talk by explaining that he does not have a problem with patenting individual programs -- "that would be harmless" -- but with patenting ideas. "That is what makes them (patents) a dangerous obstacle to software development."

Equally, the term "intellectual property" should not be used, according to Stallman, because it is biased. "It makes the assumption that you should treat what you're talking about as property. That is not conducive to clear, open-minded thinking."

The following is a transcribed version of Stallman's speech:

You might have been familiar with my work on free software. This speech is not about that. This speech is about a way of misusing laws to make software development a dangerous activity. This is about what happens when patent law gets applied to the field of software.

It is not about patenting software. That is a very bad way, a misleading way, to describe it, because it is not a matter of patenting individual programs. If it were, it would make no difference, it would be basically harmless. Instead, it is about patenting ideas. Every patent covers some idea. Software patents are patents which cover software ideas, ideas which you would use in developing software. That is what makes them a dangerous obstacle to all software development.

You may have heard people using a misleading term, "Intellectual Property". This term, as you can see, is biased. It makes an assumption that whatever it is you are talking about, the way to treat it is as a kind of property, which is one among many alternatives. This term "Intellectual Property" pre-judges the most basic question in whatever area you are dealing with. This is not conducive to clear and open minded thinking.

There is an additional problem [in that term] which has nothing to do with the promotion of any one opinion: It gets in the way of understanding even the facts. The term "intellectual property" is a catch-all; it lumps together completely disparate areas of law such as copyrights and patents, which are completely different. Every detail is different. It also lumps together trademarks which are even more different, and various other things more or less commonly encountered. None of them has anything in common with any of the others. Their origins historically are completely separate; the laws were designed independently; they covered different areas of life and activities; the public policy issues they raise are completely unrelated. So, if you try to think about them by lumping them together, you are guaranteed to come to foolish conclusions. There is literally no sensible intelligent opinion you can have about "Intellectual Property". [So] if you want to think clearly, don't lump them together. Think about copyrights, and then think about patents. Learn about copyright law, and separately learn about patent law.

To give you some of the biggest differences between copyrights and patents; Copyrights cover the details of expression of a work. Copyrights don't cover any ideas. Patents only cover ideas and the use of ideas. Copyrights happen automatically. Patents are issued by a patent office in response to an application.

Patents cost a lot of money. They cost even more paying the lawyers to write the application than they cost to actually apply. It takes typically some years for the application to get considered, even though patent offices do an extremely sloppy job [of] considering [them].

Copyrights last tremendously long. In some cases they can last as long as 150 years. Patents last 20 years, which is long enough that you can outlive them but still quite long by the timescale of a field such as software. Think back about 20 years ago when the PC was a new thing. Imagine being constrained to develop software using only the ideas which were known in 1982.

Copyrights cover copying. If you write a novel which turns out to be word-for-word the same as Gone With The Wind, and you can prove you never saw Gone With The Wind, that would be a defence to any accusation of copyright infringement.

A patent is an absolute monopoly on the use of an idea. Even if you could prove you had the idea on your own, that would be entirely irrelevant if the idea is patented by somebody else.

I hope you will forget about copyrights for the rest of this talk, because this talk is about patents, and you should never lump together copyrights and patents. It is about your understanding of these legal issues. It is like what would happen in your understanding of practical chemistry if you confused water and ethanol.

When you hear people describe the patent system, they usually describe it from the point of view of somebody who is hoping to get a patent--what it would be like for you to get a patent, what it would be like for you to be walking down the street with a patent in your pocket, so that every so often you can pull it out and point it at somebody and say "Give me your money!"

There is a reason for this bias, which is that most of the people who will tell you about the patent system have a stake in it, so they want you like it. There is another reason: the patent system is a lot like a lottery, because only a tiny fraction of patents actually bring any benefit to those who actually hold the patents. In fact, 'The Economist' once compared it to a "time-consuming lottery." If you have seen ads for lotteries, they always invite you to think about winning. They don't invite you to think about losing, even though losing is far more likely. It is the same for ads for the patent system. They always invite you to think about being the one who wins.

To balance this bias, I am going to describe the patent system from the point of view of its victims -- that is, from the point of view of somebody who wants to develop software but is forced to contend with a system of software patents that might result in getting sued.

So, what is the first thing you are going to do after you have had an idea of what kind of program you are going to write?

The first thing you might want to try to do with the patent system is find out what patents may cover the program you want to write. This is impossible.

The reason is that some of the patent applications that are pending are secret. After a certain amount of time they may get published, like 18 months. But that is plenty of time for you to write a program, and even release it, not knowing that there is going to be a patent and you are going to get sued.

This is not just academic. In 1984, the compress program was written, a program for data compression. At the time, there was no patent on the LZW compression algorithm which it used. Then in 1985, the US issued a patent on this algorithm and over the next few years, those who distributed the compress program started getting threats.

There was no way that the author of compress could have realised that he was likely to get sued. All he did was use an idea he found in a journal, just as programmers had always done. He hadn't realised that you could no longer safely use ideas that you found in a journal.

Let's forget about that problem. The issued patents are published by the patent office, so you can find the whole long list of them and see exactly what they say. You couldn't actually read the whole list as there are too many of them. In the US, there are hundreds of thousands of software patents. There is no way you can keep track of what they are all about. You would have to try to search for relevant ones.

Some people say that should be easy in these modern days of computers. You could search for key words and so-on. That one works to a certain extent. You will find some patents in the area. You won't necessarily find them all however.

For instance, there was a software patent (which may have expired by now) on natural order recalculation in spreadsheets. This means basically that when you make certain cells depend on other cells, it always recalculates everything after things it depends on, so that after one calculation, everything is up to date. The first spreadsheets did their recalculation top-down, so if you made a cell depend on a cell lower down, and you had a few such steps, you had to recalculate several times to get the new values to propagate upwards. (You were supposed to have things depend on cells above them.)

Then someone realised, why don't I do the recalculation so that everything gets recalculated after the things it depends on? This algorithm is called topological sorting. The first reference I could find to it is in 1963. The patent covered several dozen different different ways you could implement topological sorting.

But you wouldn't have found this patent by searching for "spreadsheet." You couldn't have found it by searching for "natural order" or "topological sort." It didn't have any of those terms in it. In fact, it was described as a method of "compiling formulas into object code." When I first saw it, I thought it was the wrong patent.

Let's suppose that you got a list of patents, so you want to see what you are not allowed to do. When you try studying these patents, you will discover they are very hard to understand, as they are written in tortuous legal language whose meaning is very hard to understand. The things patent offices say often don't mean what they seem to mean.

There was an Australian government study of the patent system in the 1980's. It concluded that aside from international pressure, there was no reason to have a patent system -- it did no good for the public -- and recommended abolishing it if not for international pressure. One of the things they cited was that engineers don't try reading patents to learn anything, as it is too hard to understand them. They quoted one engineer saying "I can't recognise my own inventions in patentese".

This is not just theoretical. Around 1990, a programmer named Paul Heckel sued Apple claiming that Hypercard infringed a couple of his patents. When he first saw Hypercard, he didn't think it had anything to do with his patents, with his "Inventions". It didn't look similar. When his lawyer told him that you could read the patents as covering part of Hypercard, he decided to attack Apple. When I gave a speech about this at Stanford, he was in the audience. He said, "That's not true, I just didn't understand the extent of my protection!" I said "Yes, that's what I said."

So, in fact, you will have to spend a lot of time talking with lawyers to figure out what these patents prohibit you from doing. Ultimately they are going to say something like this: "If you do something in here, you are sure to lose; if you do something here [sweeps out a larger area], there is a substantial chance of losing, and if you really want to be safe, stay out of this area [an even larger area]. And, by the way, there is a substantial element of chance in the outcome of any law suit".

Now, that you have a predictable terrain for doing business(!) what are you going to do? Well, there are three approaches you might try. Any of which is applicable in some cases.

They are 1) Avoiding the patent 2) Licensing the patent 3) Overturning the patent in court.

Next page: What to do about software patents Copyright 2002 Richard Stallman
Verbatim copying and distribution are permitted without royalty in any medium provided this notice and the copyright notice are preserved.

Newsletters

You have been successfully signed up. To sign up for more newsletters or to manage your account, visit the Newsletter Subscription Center.
See All
See All