

The Danger of Software Patents

Richard M. Stallman


Speech by Richard Stallman at Cambridge University,

25 March 2002


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.


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.


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 U.S. 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 U.S., 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.


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.


1) Avoiding the patent.  That means don't use the idea that the patent covers.  This can be easy or hard, depending on what that idea is.


In some cases, you can live without it.  A while ago, the users of the word processor XyWrite got a downgrade in the mail.  The downgrade removed a feature which allowed you to pre-define abbreviations.  That [is,] when you typed an abbreviation followed by a punctuation character, it would immediately replace itself with by some expansion, so that you could define the abbreviation for some long phrase, type the abbreviation then the phrase will be in your document.  They wrote to me about this because they knew the Emacs editor has a similar feature.  In fact, it had it since the 70's.  This was interesting as it showed me that I had at least one patentable idea in my life.  I knew it was patentable because somebody else patented it afterward!

Actually they tried these various approaches.  First they tried negotiating with the patent holder, who turned out not to negotiate in good faith.  Then they looked at whether they could have a chance at overturning the patent.  What they decided to do was to take out the feature.  You can live without this feature.  If the word processor lacks only this feature, maybe people will still use it.  But as various features start getting hit, eventually you end up with a program people think is not very good and they are likely to reject it.

That is a rather narrow patent on a very specific feature.  What do you do with the British Telecom patent on traversing hyperlinks together with dial-up access? Traversing hyperlinks is absolutely essential to a major use of computers these days.  Dial up access is also essential.  How do you do without this feature, which, by the way, isn't even one feature, it is really a combination of two just arbitrarily juxtaposed?  It is rather like having a patent on a sofa and television in the same room.

Sometimes the idea that's patented will be so broad and basic that it basically rules out an entire field.  For instance, the idea of Public Key Encryption which was patented in the U.S.  The patent expired in 1997.  Until then, it largely blocked the use of Public Key Encryption in the U.S.  A number of programs which people started to develop got crushed--they were never really available because the patent holders threatened them.  Then, one program got away, the program PGP which initially was released as free software.  Apparently, the patent holders, by the time they got around to attacking, realised they might get too much bad publicity.  So they imposed restrictions, making it for non-commercial use only, which meant it couldn't catch on too much.  They greatly limited the use of Public Key Encryption for a decade or more.  There was no way around that patent.  There was nothing else you could do like that.

Sometimes a specific algorithm gets patented.  For instance, there is a patent on an optimised version of the Fast Fourier Transform.  It runs about twice as fast.  You can avoid that by using an ordinary FFT in your program.  That part of the program will take twice as long.  Maybe that doesn't matter, maybe that is a small part of the program's running time.  Maybe if it is twice as slow, you won't really notice.  Or maybe your program won't run at all as it will take twice real time to do it's job.  The effects vary.

In some cases, you can find a better algorithm.  This may or may not do you any good.  Because we couldn't use compress, we started looking for an alternative compression algorithm.  Somebody wrote to us saying he had one; he had written a program and decided to contribute it to us.  We were going to release it.  Just by chance, I happened to see a copy of the New York Times, it happened to have the weekly patent column in it.  I didn't see a copy of the Times more than once every few months.  So I looked at it and it said someone had got a patent for "Inventing a new method of compressing data".  I figured I better take a look at this patent.  I got a copy and it turned out to cover the program that we were just a week away from releasing.  That program died before it was born.

Later on we did find another algorithm which was unpatented.  That became the program gzip, which is now effectively the de-facto standard for data compression.  As an algorithm to use in a program for data compression, it was fine.  Anyone who wanted to do data compression could use gzip instead of compress.

The same LZW compression algorithm was also used in image formats such as the GIF format.  But there, because the job people wanted to do was not to just compress data but to make an image that people could display with their software, it turned out extremely hard to switch over to a different algorithm.  We have not been able to do it in 10 years!  Yes, people used the gzip algorithm to define another image format, once people started to be threatened with law suits for using GIF files.  When we started saying to people stop using GIF files, switch over to this, people said "We can't switch.  The browsers don't support the new format yet".  The browser developers said "We're not in a hurry about this.  After all, nobody is using this new file format".


In fact, the situation is even more bizarre.  There are in fact two patents covering the LZW compression algorithm.  The patent office couldn't even tell they were issuing two patents on the same thing, they couldn't keep track.  There is a reason for this: it takes a while of study of these two patents to see that they really cover the same thing.

If they were patents on some chemical process, it would be much easier.  You could see what substances were being used, what the inputs were, what the outputs were, which physical actions are being taken.  No matter how they are described, you'd see what they were and then you would see they are similar.  If something is purely mathematical, there are many ways of describing it, which are a lot more different.  They are not superficially similar.  You have to really understand them to see they are really talking about the same thing.  The patent office doesn't have time.  The U.S patent office as of a few years ago was spending on average 17 hours per patent.  This is not long enough to think carefully about them, so of course they make mistakes like that.  In fact, I told you about the program that died before it was born.  That algorithm also had two programs issued for it in the U.S.   Apparently, it is not that unusual.



2) Licensing the patent.  The second possibility instead of avoiding the patent is to get a license for the patent.  This is not necessarily an option.  The patent holder does not have to offer you a license, it is not required.  10 years ago, the League for Programming Freedom got a letter asking for help from somebody whose family business was making gambling machinery for casinos, and they used computers back then.  He received a threat from another company that said, "We have a patent.  You are not allowed to make these things. Shut down!"


You will find patent office really thinks there is something brilliant about doing more than one of anything.  They don't realise that in computer science, that's the most obvious way to generalise anything. You did it once, so now you can do it any number of times, you can make a subroutine.  They think that if you do anything more than once, that somehow means you are brilliant and that nobody can possibly argue with you and that you have the right to boss them around.


However, a lot of patent holders do offer licenses.  They often charge a lot of money for that though.  The company licensing the natural order recalculation patent was demanding 5% of the gross sales of every spreadsheet in the U.S.  I am told that was the cheap pre-lawsuit price--if you actually made them sue you and they won, they'd demand more.  You might be able to afford that 5% for licensing this one patent, but what if you need to license 20 different patents to make the program? Then all the money you take in goes on patents. What if you need to license 21 patents?



IBM published an article in Think magazine--I believe it was issue No. 5 of 1990--on IBM's patent portfolio, which said that IBM got two kinds of benefit from it's 9000 U.S. patents.  (I believe the number is larger today.)  These were, first, collecting royalties and second, getting "access to the patents of others."  They said that the latter benefit is an order of magnitude greater.  So the benefit that IBM got from being allowed to use the ideas that were patented by others was 10 times the direct benefit IBM could get from licensing patents.

What does this really mean? What is the benefit that IBM gets from this "access to the patents of others"?  It is basically the benefit of being excused from the trouble that the patent system can cause you.  The patent system is like a lottery.  What happens with any given patent could be nothing, could be a windfall for some patent holder or a disaster for someone else.  But IBM being so big [that], for them, it averages out.  They get to measure the average harm and good of the patent system.  For them, the trouble of the patent system would have been 10 times the good.

I say "would have been" because IBM through cross-licensing avoids experiencing that trouble.  That trouble is only potential, it doesn't really happen to them.  But when they measure the benefits of avoiding that trouble, they estimate it as 10 times the value of the money they collect from their patents.

This phenomenon of cross-licensing refutes a common myth, the myth of the "starving genius", the myth that patents "protect" the "small inventor".  (Those terms are propoganda terms.  You shouldn't use them.)

The scenario is like this: Suppose there is a "brilliant" designer of whatever.  Suppose he has spent "years" starving in the attic designing a new wonderful kind of whatever, and now wants to manufacture it, and isn't it a shame the big companies are going to go into competition with him, take away all the business, and he'll "starve".

I have to point out that people in high tech fields are not generally working on their own and that ideas don't come in a vacuum, they are based on ideas of others; and these people have pretty good chances of getting a job if they need to these days.  So this scenario, the idea that a brilliant idea came from this brilliant [person] working alone is unrealistic, and the idea that he is in danger of starving is unrealistic.  But it is conceivable that somebody could have an idea and this idea along with 100 or 200 other ideas can be the basis of making some kind of product, and that big companies might want to compete with him.

So let's see what happens if he tries to use a patent to stop them.  He says "Oh No, IBM.  You cannot compete with me.  I've got this patent."  IBM says, "Let's see.  Let's look at your product.  Hmmm.  I've got this patent and this one and this one and this one and this one and this one, which parts of your product infringe.  If you think you can fight against all of them in court, I will just go back and find some more.  So, why don't you cross license with me?"  And then this brilliant small inventor says "Well, OK, I'll cross license".  So he can go back and make these wonderful whatever it is, but so can IBM.  IBM gets access to his patent and gets the right to compete with him, which means this patent didn't "protect" him at all.  The patent system doesn't really do that.

The mega-corporations avoid the harm of the patent system; they see mainly the good side.  That is why they want software patents: they are the ones who will benefit from it.  But if you are a small inventor or work for a small company, the small company will not be able to do this.  Small companies cannot get enough patents to do this.

Any given patent is pointing in a certain direction.  So if a small company has patents pointing there, there and there and somebody over there points a patent at them and says give me your money, they are helpless.  IBM can do it [retaliate] because with 9000 patents, they are pointing everywhere; no matter where you are, there is probably an IBM patent pointing at you.  So IBM can almost always make you cross license.  Small companies can only occasionally make someone cross-license.  They will say they want patents for defensive purposes but they won't get enough to be able to defend themselves.



So that is the possibility of licensing a patent, which may or may not be possible, and you may or may not be able to afford it

The third possibility 3)Overturning a patent in court.  Supposedly, in order to be patented, something has to be new, useful and unobvious. That is the language used in the U.S.; I think other countries have other language which is pretty much equivalent to it.  Of course, when the patent office gets into the game, they start interpreting "new" and "unobvious".  "New" turns out to mean "We don't have it in our files", and "unobvious" tends to mean "unobvious to someone with an I.Q of 50".

Somebody who studies most of the software patents issued in the U.S., or at least he used to, I don't know if he can still keep up with them, said 90% of them wouldn't have passed the "Crystal City test", which meant if the people in the patent office went outside to the news stand and got some computer magazines, they would see that these ideas are already known.

The patent office does things that are so obviously foolish, you wouldn't even have to know the state of the art to see they are foolish.  This is not limited to software.  I once saw the famous mouse patent which was obtained after Harvard genetically engineered a mouse with a cancer-causing gene.  The cancer-causing gene was already known, and was inserted using known techniques into an already existing strain of mouse.  The patent they got covered inserting any cancer-causing gene into any kind of mammal using any method whatsoever.  You don't have to know anything about genetic engineering to realize that is ridiculous.  I am told that this "overclaiming" is normal practice, and that the U.S. patent office sometimes invites patent applicants to make their claims broader--basically, make the claims broader until you think they are running into something else which that's unambiguous prior art.  See how much land grab in mental space you can get away with.

When programmers look at a lot of software patents, they say "this is ridiculously obvious!"  Patent bureaucrats have all sorts of excuses to justify ignoring what programmers think.  They say "Oh! but you have to consider it in terms of the way things were 10 or 20 years ago."  Then they discovered that if they talk something to death then you can eventually lose your bearings.  Anything can look unobvious if you tear it apart enough, analyse it enough.  You simply lose all standard of obviousness, or at least lose the ability to justify any standard of obvious or unobvious.  Then, of course, they describe the patent holders as brilliant inventors, all of them, therefore we can't question their entitlement to power over what we do.  If you go to court, the judges are likely to be a little more stringent about what is obvious or not.  But the problem is that it costs millions of dollars to do that.

I heard of one patent case, the defendant I remember was Qualcomm, and I believe the ruling was ultimately 13 million dollars of which most went to pay the lawyers on both sides.  There were a few million dollars left over for the plaintiff (because they [Qualcomm] lost).

To a large extent, the question of the validity of a patent will depend on historical accidents.  Lots of historical accidents such as precisely what was published when, and which of those things somebody manages to find.  Which of them didn't get lost, precise dates and so-on.  Many historical accidents determine whether a patent is valid.

In fact, it is a weird thing that the British Telecom following hyperlinks together with telephone access patent was applied for in 1975.  I think it was in 1974 that I developed the Info package for the first time.  The Info package allows you to traverse hyperlinks, and people did use telephones to dial up and access the system.  So in fact, I did produce a piece of prior art for this patent.  This is the second piece of prior art I have produced in my life.

I didn't think this was interesting enough to publish it.  After all, the idea of following hyperlinks I got from the demo of Englebart's editor.  He is the one who had an idea which was interesting to publish.  What I done I called "poor man's hypertext", as I had to implement it in the context of TECO.  It was not as powerful as his hypertext, but it was at least useful for browsing documentation, which it all it was meant for, and as for there being dial-up access to the system, well, there was, but it didn't occur to me that the one had anything particular to do with the other.  I wasn't going to publish a paper saying, "Oh! I implemented this poor man's hypertext, and guess what! There are dial-up lines on the computer too!"  I suspect there is no way to tell precisely on what date I implemented this.

And was it published in any sense?  Well, we invited guests to come in across the ARPAnet, and log in on our machine, so they could have browsed documentation using Info and seen the thing.  If they had asked us, they would have found we had dial-up access.  As you can see, historical accident determines whether you have prior art.

Now of course, there is a publication made by Englebart about hypertext, which they [the defendants] are going to show.  I don't think it says anything about having dial-ups on the computer however, so whether it will suffice is not clear.

So, this is an option, the possibility of going to court to overturn the patent.  Because of the expense, it is often out of the question even if you can find solid prior art which ought to be sufficient to overturn the patent.  As a result, an invalid patent, a patent which nominally shouldn't have existed (but in fact lots and lots of them do) is a dangerous weapon.  If someone attacks you with an invalid patent, that can really cause a lot of trouble for you.  You might be able to bluff them away by showing them the prior art.  It depends on whether they can get scared off that way.  They might think, "Well, you are just bluffing, we figure you can't really go to court, you can't afford it so we'll sue you anyway".

All of these three possibilities are things that sometimes you can manage to use, but often you can't.  So you have to face patent after patent after patent.  Each time you may be able to find one of these three possibilities you can use, then there is another patent, then another and another.  It gets like crossing a minefield.  Each step you take, each design decision, probably won't step on a patent, so you can take a few steps and probably there won't be an explosion. But the chance you can get all the way through the minefield and develop the program you want to develop without ever stepping on a patent gets less and less as the program gets bigger.




























Throughout the 80's, we didn't know about this.  It was around 1990 that programmers in the U.S. started to become aware that they were faced with a danger from software patents.  So I saw how the field worked before and how the field worked after.  I saw no particular speed up in progress after 1990.








The battle is not over.  It still can be won.

Copyright 2002 Richard Stallman
Verbatim copying and distribution are permitted without royalty in
any medium provided this notice and the copyright notice are preserved.

Return to "Free Software"
Home Page

Graphics by GIMP          Powered by Gentoo Linux