The Danger of Software Patents (2001)
刀塔自走棋手游什么时候出 www.zvajc.icu Richard Stallman
Speech given at Model Engineering College, Government of Kerala, India, 2001 (audio recording)
- There are two things wrong with the phrase “intellectual property.”
- Copyrights and patents have nothing to do with each other.
- How the patent system works.
- You have to work with a lawyer.
- Avoid the patent.
- License the patent.
- Challenge the validity of the patent.
- Nobody can reinvent the entire field of software.
- The relationship between patents and products varies between the fields.
- Program development is hampered by software patents.
- What can a country do to avoid this problem?
- Preventing India from having software patents will be up to the citizens of India.
- Businesses should demand opposition to software patents.
- It's important for countries to work together against this.
Introduction of the speaker
Prof. Jyothi John, Head of Computer Engineering Department introduces Stallman:
It's my privilege and duty to welcome the most distinguished guest ever we had in this college.
Mr. Richard Mathew Stallman launched the development of the GNU operating system in 1984, the goal being to create a completely free Unix-like operating system. The organization that was founded in 1985 to further this purpose is the Free Software Foundation.
Stallman is a visionary of computing in our times, and is the genius behind programs such as Emacs, GCC, the GNU debugger and more. Most importantly, he's the author of the GNU General Public License, the license under which more than half of all free software is distributed and developed. The combination of GNU with Linux, the kernel, called the GNU/Linux operating system, now has an estimated twenty million users worldwide.
Stallman's concept of free software talks about freedom, rather than about price. His ideas go a long way into ensuring development of software for the welfare of society, collectively developed by programmers who do not “lock up” their work, but rather release it for others to study, modify and redistribute.
Stallman received the Grace Hopper award from the Association for Computing Machinery for 1991, in 1990 he was awarded MacArthur Foundation Fellowship — other recipients of this prestigious award include Noam Chomsky and Tim Berners-Lee. In 1996, an honorary doctorate of Technology from the Royal Institute, Sweden was awarded to him. In 1998, he received the Electronic Frontier Foundation's Pioneer award, along with Linus Torvalds. In 1999 he received the Yuri Rubinski Memorial award.
Today, Stallman will be talking about the danger of software patents. In fact this is one of the most important aspect of the freedom of programming because the aspect of software patents may make all programmers potential lawbreakers because unknowingly they may be violating some of the patents registered by some other company.
After that introduction, I am sure many of you want to know about free software. But unfortunately that's not what I am supposed to speak about. In fact, this topic, software patents, is not very closely related to the issue of free software. Software patents are a danger that affect all programmers and all computer users. I found out about them, of course, in working on free software because they are a danger to my project as well as to every other software project in the world.
There are two things wrong with the phrase “intellectual property.”
There is a very unfortunate phrase that you may have heard. It is the phrase “intellectual property.” Now, there are two things wrong with this phrase.
One — it prejudges the most important policy question about how to treat some kind of ideas or practices or works, or whatever. It assumes that they are going to be treated as some kind of property. Now, this is a public policy decision and you should be able to consider various alternatives to choose the best one. Which means you shouldn't name the whole field, name the question with a term that prejudges what kind of answer you use.
But second and even more fundamental, that term is actually a catchall for totally different areas of law, including copyrights, patents, trademarks, trade secrets and various other things as well. Now these areas of the law in fact have almost nothing in common. What the laws say is totally different from one to the next. Their origins are completely independent and the public policy issues they raise are completely different. So, the only intelligent way to think about them is to pick one of them and think about it; think about them separately.
So the intelligent way to talk about them is never to generalize about them but to talk about a specific one, you know, talk about copyrights, or talk about patents, or talk about trademarks, but never lump them all together as intellectual property because that's a recipe for simplistic conclusions. It's almost impossible to think intelligently about “intellectual property” and so I refuse to do that. I just tell people why the term is a mistake, and then if you ask me for my opinion on copyrights or my opinion on patents, it will take me an hour to tell you it. But they are two different opinions, and my opinion about trademarks is something completely different as well.
Copyrights and patents have nothing to do with each other.
So the most important thing for you to start with is never mix copyrights and patents as topics. They have nothing to do with each other. Let me tell you some of the basic differences between copyrights and patents:
- A copyright deals with a particular work, usually a written work, and it has to do with the details of that work. Ideas are completely excluded. Patents, by contrast — well, a patent covers an idea. It's that simple, and any idea that you can describe, that's what a patent might restrict you from doing.
- Copyrights have to do with copying. If you wrote something that was word for word the same as some famous novel, and you could prove that you did this while you were locked up in a room and you have never seen that novel, this would not be copyright violation because it's not copying. But a patent is an absolute monopoly on using a particular idea. And even if you could show that you thought of it on your own, that would be considered totally irrelevant. It doesn't help you.
- Copyrights exist automatically. Whenever anything is written, it's copyrighted. Patents are issued through an expensive application process. There is an expensive fee and even more expense in paying lawyers, which of course tends to be good for big companies. And the patent office says that it only issues patents for things that are unobvious. However, practically speaking, in many patent offices the criterion is unobvious to somebody with an IQ of fifty. And they have all sorts of excuses to ignore the fact that whenever any programmer looks at it, his first statement is “this is absurd, it's obvious.” They say “well, this is hindsight.” So they just have an excuse to completely ignore the judgment of everybody who really is a programmer.
- Copyrights last an extremely long time. In the US today it's possible for copyrights to last for 150 years, which is absurd. Patents don't last that long; they merely last for a long time — 20 years, which in the field of software, as you can imagine, is a long time.
There are many other differences as well. In fact every detail is different. So the worst thing you should ever do is learn something about copyrights and suppose that the same is true of patents. No, more likely it's not true of patents. If it's true of copyrights, it's not true for patents. That would be a better guideline if you have to guess.
How the patent system works.
Now most of the time when people describe how the patent system works, they are people with a vested interest in the system. And so they describe the patent system from the point of view of somebody who wants to get a patent and then point it at programmers and say “hand me your money.” This is natural, you know; when they sell lottery tickets, they talk about people who win, not people who lose. Of course most of the people lose, but they don't want you to think about that, so they talk about the ones who win. It's the same with patents. The patent system is a very expensive lottery for its participants. But of course, the people who run the system want you to think about the small chance you might win.
So to redress this imbalance, I am going to explain what the patent system looks like from the point of view of somebody who might be the victim of a patent; that is, somebody who wants to develop software. Suppose that you want to develop a program and you are in a country that has software patents. How do you have to deal with the patent system?
Well, the first thing is you have to find out about the patents that might potentially affect your area. This is impossible, because patents that are in the pipeline, being considered by the patent office, are secret. Well, in some countries they are published after 18 months but that still gives plenty of time for them to be secret. So you might develop a program this year, which is perfectly legal and safe this year. And then next year, a patent could be issued and all of a sudden you could be sued. It happens. Or your users could get sued.
For instance, in 1984 the Compress program was developed and, since it was free software, it was distributed by many companies along with Unix systems. Well, in 1985, a US patent was issued on the LZW compression algorithm used by Compress, and after a few years Unisys began squeezing money out of various companies.
Well, since we in the GNU project needed a data compression program and since we could not use Compress, we began looking for some other compression program. We found out about… Somebody came forward and said: “I have been working on this algorithm for a year and now I have decided I am going to contribute it to you, and here is the code.” We were a week away from releasing this program when I just happened to see a copy of the New York Times, which doesn't happen very often, and it just happened to have the weekly patents column and I noted it and so I read it. It said that somebody had got a patent for inventing a new method, a better method of data compression. Well, that was not in fact true. When I saw this, I thought we'd better get a copy of this patent and see if it's a problem, and it turned out to cover exactly the algorithm that we were about to release. So this program was killed one week before it was released. And in fact that person, that patent holder, had not invented a better method, because in fact it wasn't new. But that doesn't matter, he had a monopoly.
Eventually we found another compression algorithm which is used in the program that's known as GZIP. But this illustrates the danger that you face: even if you had unlimited resources, you couldn't find out about all the patents that might endanger your project. But you can find out about the issued patents because they are published by the patent office. So in principle, you could read them all, and see what they restrict, what they prohibit you from doing. Practically speaking though, once there are software patents there are so many of them that you can't keep up with them. In the US there are over a hundred thousand of them; maybe two hundred thousand by now. This is just an estimate. I know that 10 years ago they were issuing 10,000 a year and I believe that it has accelerated since then. So it's too much for you to keep track of them unless that's your full-time job. Now you can try to search for the ones that are relevant to what you are doing, and this works some of the time. If you search for certain keywords or follow links, you'll find some patents that are relevant to what you're doing. You won't find them all.
A few years ago somebody had a US patent — maybe it's expired by now — on natural order recalculation in spreadsheets. Now, what does this mean? It means the original spreadsheets did the recalculation always from top to bottom. Which meant that if a cell ever depended on a lower cell, then it wouldn't get recalculated the first time; you'd have to do another recalculation to get that one. Clearly it's better to do the recalculation in the order, you know. If A depends on B, then do B first and then do A. This way a single recalculation will make everything consistent. Well, that's what the patent covered.
Now, if you searched for the term spreadsheet, you would not have found that patent because that term did not appear in it. The phrase “natural order recalculation” didn't appear either. This algorithm — and it was indeed the algorithm that they covered, basically every imaginable way of coding this algorithm — the algorithm is called topological sorting, and that term did not appear in the patent either. It presented itself as a patent on a technique for compilation. So, reasonable searching would not have found this patent but it would still have been a basis to sue you.
In fact you can't tell what a software patent covers even roughly, except by studying it carefully. This is different from patents in other areas, because in other areas there is some physical thing happening, and the details of that physical thing usually give you a sort of anchor so that you can tell whether it relates or not. But in software there is no such thing, and so it's easy for two totally different ways of saying something to cover, in fact, the same computation, and it takes careful study to see that they cover the same one. Because of this, even the patent office can't keep track. So, there is not one, but two patents covering LZW data compression. The first one was issued in 1985 and I think the second one in 1989. But that one I think had been applied for even earlier. One of these patents belongs to Unisys and the other belongs to IBM.
Now, this kind of mistake is not in fact that rare. It's not the only one. You see, patent examiners don't have a lot of time to spend on one patent. In the US they have an average of 17 hours per patent. Now that's not enough to carefully study all the other patents in the area to see if they are really the same thing. So they are going to make this kind of mistake over and over.
You have to work with a lawyer.
So you won't find all the patents that might threaten you but you'll find some of them. Then what do you do? You have to try to figure out precisely what these patents prohibit. That is very hard, because patents are written in tortuous legal language which is very hard for an engineer to understand. You are going to have to work with a lawyer to do it.
In the 1980's the Australian government commissioned a study of the patent system — the patent system in general, not software patents. This study concluded that Australia would be better off abolishing the patent system because it did very little good for society and caused a lot of trouble. The only reason they didn't recommend that was international pressure. So one of the things they cited was that patents, which were supposed to disclose information so that it would no longer be secret, were in fact useless for that purpose. Engineers never looked at patents to try to learn anything, because it's too hard to read them. In fact they quoted an engineer saying “I can't recognize my own inventions in patent deeds.” Now this is not just theoretical.
A few years ago, an engineer in the US named Paul Heckel was suing Apple. He got a couple of software patents in the late 80's for a software package, and then when he saw Hypercard he looked at it and said “ this is nothing like my program,” and didn't think anymore of it. But then later on, his lawyer explained to him that if you read his patents carefully, Hypercard fell into the prohibited area. So he sued Apple, figuring this was an opportunity to get some money. Well, once when I gave a speech like this, he was in the audience, and he said “oh no that's not true, I just wasn't aware of the scope of my protection.” And I said “yeah, that's what I said.”
So you are going to have to spend a lot of time working with a lawyer and explaining to the lawyer what project you are working on, so the lawyer can explain to you what the patents imply. This is going to be expensive, and when you're done the lawyer will tell you something like this: “If you do something in this area, you are almost sure to lose a lawsuit. If you do something in this area, you are in a substantial danger, and if you really want to be safe you'd better stay out of this area, and, of course there is a substantial element of chance in the outcome of any lawsuit.” So now that you have a predictable terrain for doing business, what are you going to do?
Well, you have three options to consider:
- you can try to avoid the patent,
- you can try to license the patent,
- or you can try to challenge its validity in court
Any one of these three is sometimes a viable alternative, and sometimes not.
Avoid the patent.
First, let's consider avoiding the patent. Well, in some cases that's easy. You know, Unisys was threatening people using the patent on LZW compression; we just had to find another data compression algorithm and we could avoid that patent. Well, that was somewhat difficult because there were many other patents covering lots of other data compression algorithms. But eventually we found one that was not in the area that those others' patents cover; eventually we did. So that program was implemented. It actually gave better compression results and so we now have GZIP, and a lot of people use GZIP. So, in that one case it was considerable work but we were able to do it, to avoid that patent.
But in the 80's, CompuServe defined an image format called GIF and used LZW compression in defining it. Well, of course once the uproar about these patents became known, people defined another image format using a different compression algorithm. They used the GZIP algorithm, and that format is called PNG format, which I suppose means “PNG is Not GIF.”
But there was a problem: lots of people had already started using GIF format, and there were many programs that could display GIF format and produce GIF format and they couldn't display PNG format. So the result was people felt it was too hard to switch. You see, when you are dealing with a data compression program used by somebody who says “I want to compress some data,” well, you can give him a different data compression program; if he can get sued for using this one and you give him another one, he'll switch; but if what he wants to do is make images that can be displayed by Netscape, then he can't switch, unless Netscape handles the other format… and it didn't. It took years, I think, before Netscape started to handle PNG format. So people essentially said “I can't switch, I just have… ” And so the result was, society had invested so much in this one format, that the inertia was too great for a switch, even though there was another superior format available.
Even when a patent is rather narrow, avoiding it can be very hard. The PostScript specification includes LZW compression, which we in our implementation of postScript cannot implement. We support another kind of compression in some sense that is not correct, even though it does the useful job. So, even a narrow patent is not always feasible to avoid.
Now, sometimes a feature gets patented. In that case, you can avoid the patent by taking out that feature. In the late 80's the users of the word processor XyWrite got a downgrade in the mail. That word processor had a feature where you could define a short word or sequence as an abbreviation. Whenever you typed in that short sequence and then a space, it would turn into a longer expansion. You could define these any way you liked. Then somebody patented this, and XyWrite decided to deal with the patent by removing the feature. They contacted me because in fact I had put a feature like that into the original Emacs editor back in the 70's, many years before this patent. So there was a chance that I could provide evidence that would enable them to fight the patent.
Well, this showed me that I had at least one patentable idea in my life. I know because someone else patented it. Now, of course, you can respond to these patented features by taking the features out. But once your program starts being missing several features that users want, it might be useless as a program.
Now you may have heard of Adobe Photoshop. We have a program called the GIMP which is more powerful and general than Photoshop. But there is one important feature that it doesn't have which is Pantone color matching, which is very important for people who want to actually print the images on paper and get reliable results. This feature is omitted because it's patented. And as a result, the program for one substantial class of users is crippled.
If you look at programs today, you'll see that they often provide many features, and the users demand these features. If any important feature is missing, well, it's easy to leave it out, but the results may be very bad.
Of course, sometimes a patent is so broad that it's impossible to avoid it. Public key encryption is essential for computer users to have privacy. The whole field was patented. That patent expired just four years ago; there could be no free software in the US for public key encryption, until then: many programs, both free and nonfree, were wiped out by the patent holders. And in fact that whole area of computing was held back for more than a decade despite strong interest.
License the patent.
So, that is the possibility of avoiding the patent. Another possibility that is sometimes available is to license the patent. Now, the patent holder is not required to offer you a license that's his whim. The patent holder can say “I'm not licensing this, you're just out of business, period!”
In the League for Programming Freedom, we heard in the early 90's from somebody whose family business was making casino games — computerized of course — and he had been threatened by somebody who had a patent on a very broad category of computerized casino games. The patent covered a network where there is more than one machine, and each machine supports more than one kind of game and can display more than one game in progress at a time.
Now, one thing you should realize is the patent office thinks that it's really brilliant. If you see that other people implemented doing one thing and you decide to support doing two or more — you know, if they made a system that plays one game and if you make it able to play more than one game — that's an invention. If it can display one game and you decide to set it up so that it can display two games at once, that's an invention. If he did it with one computer and you do it with a network having multiple computers, that's an invention for them. They think that these steps are really brilliant.
Of course, we in computer science know that this is just a rule, you can generalize anything from one to more than one. It's the most obvious principle there is. Every time you write a subroutine, that's what you're doing. So this is one of the systematic reasons why the patent system produces, and then upholds patents that we would all say are ridiculously obvious. You can't assume, just because it's ridiculously obvious, that they wouldn't be upheld by a court. They may be legally valid despite the fact that are utterly stupid.
So he was faced with this patent and the patent holder was not even offering him the chance to get a license. “Shutdown!” is what the patent holder said, and that's what he eventually did. He couldn't afford to fight it.
However, many patent holders will offer you a chance of a license. But it will cost you dearly. The owners of the natural order recalculation patent were demanding five percent of the gross sales of every spreadsheet. And that, I was told, was the cheap pre-lawsuit price. If you insisted on fighting over the matter, they were going to charge more. Now you could, I suppose, sign a license like that for one patent, you could do it for two, you could do it for three. But what if there are twenty different patents in your program, and each patent holder wants five percent of the gross sales? What if there are twenty one of them? Then you are pretty badly screwed. But actually business people tell me that two or three such patents would be such a big burden that they would make the company fail in practice, even if in theory it might have a chance.
So, a license for a patent is not necessarily a feasible thing to do, and for us, free software developers, we're in an even worse position because we can't even count the copies, and most licenses demand a fee per copy, so it's absolutely impossible for us to use one of those licenses. You know, if a license charged one millionth part of a rupee for each copy, we would be unable to comply because we can't count the copies. The total amount of money, I might have in my pocket, but I can't count it so I can't pay it. So we suffer some special burdens occasionally.
But there is one kind of organization for which licensing patents works very well, and that is the large multinational corporations; the reason is that they own many patents themselves and they use them to force cross-licensing. What does this mean? Well, essentially the only defense against patents is deterrence: you have to have patents of your own, then you hope that if somebody points a patent at you, you will be able point a patent back and say “don't sue me, because I'll sue you.”
However, deterrence doesn't work as well for patents as it does with nuclear weapons, and the reason is that each patent is pointed in a fixed direction. It prohibits certain specified activities. So the result is that most of the companies that are trying to get some patents to defend themselves with, they have no chance of making this a success. They might get a few patents, you know. So they might get a patent that points there, and they might get a patent that points there. OK, and then, if somebody over here threatens this company, what are they going to do? They don't have a patent pointing over there, so they have no defense.
Meanwhile, sooner or later, somebody else will wander over there and the executive of the company will think “gee, we're not as profitable as I would like, why don't I go just squeeze some money out of them.” So they say first “we're getting this patent for defensive purposes,” but they often change their minds later when a tempting victim walks by.
And this, by the way, is the fallacy in the myth that the patent system “protects” the “small inventor.” Let me tell you this myth, it's the myth of the starving genius. It's somebody who has been working in isolation for years, and starving, and?has a brilliant new idea for how to do something or other. And so, now, he's starting a company and he is afraid some big company like IBM will compete with him, and so he gets a patent and this patent is going to “protect him.”
Well, of course, this is not the way things work in our field. People don't make this kind of progress in isolation this way. They are working with other people and talking with the other people and they are developing software usually. And so the whole scenario doesn't make sense, and besides, if he was such a good computer scientist, there was no need for him to starve. He could have got a job at any time if he wanted.
But let's suppose that this happened, and suppose that he has his patent, and he says “IBM, you can't compete with me 'cause I've got this patent.” But here is what IBM says: “Well, gee, let's look at your product, hmm, I have this patent, and this patent and this patent and this patent and this patent that your product is violating. So how about if we cross-license?” And the starving genius says “hmm, I haven't got enough food in my belly to fight these things, so I'd better give in.” And so they sign a cross-license, and now guess what — IBM can compete with him. He wasn't protected at all!
Now, IBM can do this because they have a lot of patents. They have patents pointing here, here, here, everywhere. So, anybody from almost anywhere that attacks IBM is facing a stand-off. A small company can't do it but a big company can.
So IBM wrote an article. It was in Think magazine, I believe, issue number five, 1990 — that's IBM's own magazine — an article about IBM's patent portfolio. IBM said that it got two kinds of benefit from its 9000 active US patents. One benefit was collecting royalties from licenses. But the other benefit, the bigger benefit, was access to things patented by others. Permission to not be attacked by others with their patents, through cross-licensing. And the article said that the second benefit was an order of magnitude greater than the first. In other words, the benefit to IBM of being able to make things freely, not being sued, was ten times the benefit of collecting money for all their patents.
Now the patent system is a lot like a lottery, in that what happens with any given patent is largely random and most of them don't bring any benefits to their owners. But IBM is so big that these things average out over the scale of IBM. So you could take IBM as measuring what the average is like. What we see is — and this is a little bit subtle — the benefit to IBM of being able to make use of ideas that were patented by others is equal to the harm that the patent system would have done to IBM if there were no cross-licensing — if IBM really were prohibited from using all those ideas that were patented by others.
So what it says is: the harm that the patent system would do is ten times the benefit, on the average. Now, for IBM though, this harm doesn't happen, because IBM does have 9000 patents and does force most of them to cross-license, and avoids the problem. But if you are small, then you can't avoid the problem that way, and you will really be facing ten times as much trouble as benefit. Anyway, this is why the big multinational corporations are in favor of software patents, and they are lobbying governments around the world to adopt software patents and saying naive things like “this is a new kind of monopoly for software developers, it has to be good for them, right?”
Well, today, after you have heard my speech I hope you understand why that isn't true. You have to look carefully at how patents affect software developers to see whether they are good or bad, and explaining that is my overall purpose.
Challenge the validity of the patent.
So, that is the possibility of licensing a patent. The third possible option is to go to court and challenge the validity of the patent.
Now the outcome of this case will depend largely on technicalities, which means essentially on randomness, you know. The dice were rolled a few years ago, and you can investigate and find out what the dice came up saying, and then you'll find out whether you've got a chance. So it's mainly historical accident that determines whether the patent is valid — the historical accident of whether, or precisely which things, people happen to publish, and when.
So, sometimes, there is a possibility of invalidating. So even if a patent is ridiculously trivial, sometimes there is a good chance of invalidating it and sometimes there is none.
You can't expect the courts to recognize that it is trivial, because their standards are generally much lower than we would think are sensible. In fact, in the United States, this has been a persistent tendency. I saw a Supreme Court decision from something like 1954, which had a long list of patents that were invalidated by the Supreme Court starting in the 1800's. And they were utterly ridiculous, like making a certain shape of doorknob out of rubber, when previously they'd been made out of wood. And this decision rebuked the patent system for going far, far away from the proper standards. And they just keep on doing it.
So you can't expect sensible results from that, but there are situations where, when you look at the past record, you see that there is a chance to invalidate a certain patent. It's worth the try, at least to investigate. But the actual court cases happen to be extremely expensive.
A few years ago, one defendant lost and had to pay 13 million dollars, of which most went to the lawyers on the two sides. I think only 5 million dollars was actually taken away by the patent holder, and so there were 8 million to the lawyers.
Nobody can reinvent the entire field of software.
Now, these are your possible options. At this point, of course, you have to write the program. And there, the problem is that you face this situation not just once but over and over and over, because programs today are complicated. Look at a word processor; you'll see a lot of features, many different things, each of which could be patented by somebody, or a combination of two of them could be patented by somebody. British Telecom has a patent in the US on the combination of following hypertext links and letting the user dial up through a phone line. Now these are two basically separate things, but the combination of the two is patented.
So, that means if there are 100 things in your program, there are potentially some five thousand pairs of two that might be patented by somebody already, and there is no law against patenting a combination of three of them either. That's just the features, you know. There's going to be many techniques that you use in writing a program, many algorithms, they could be patented too. So there are lots and lots of things that could be patented. The result is that developing a program becomes like crossing a field of land mines. Sure, each step probably will not step on a patent, each design decision. Chances are it will be safe. But crossing the whole field becomes dangerous.
The best way for a nonprogrammer to understand what this is like is to compare the writing of these large programs with another area in which people write something very large: symphonies. Imagine if the governments of Europe in the 1700's had wanted to promote progress in symphonic music by adopting a system of music patents, so that any idea that could be described in words could be patented if it seemed to be new and original. So you'd be able to patent, say, a three-note melodic motif which is be too short to be copyrightable, but it would have been patentable. And maybe they could have patented a certain chord progression, and maybe patented using a certain combination of instruments playing at the same time, or any other idea that somebody could describe.
Well, by 1800 there would have been thousands of these music idea patents. And then imagine that you are Beethoven and you want to write a symphony. To write a whole symphony, you are going to have to do lots of different things, and at any point you could be using an idea that somebody else has patented. Of course, if you do that he'll say: “Oh! You are just a thief, why can't you write something original?” Well, Beethoven had more than his share of new musical ideas, but he used a lot of existing musical ideas. He had to, because that's the only way to make it recognizable. If you don't do that, people won't listen at all. Pierre Boulez thought he was going to totally reinvent the language of music, and he tried, and nobody listens to it, because it doesn't use all the ideas that they're familiar with.
So you have to use the old ideas that other people have thought of. Nobody is such a genius that he can reinvent the entire field of software and do useful things without learning anything from anybody else. So in effect, those people, the patent holders and their lawyers, they are accusing us of being cheaters because we don't totally reinvent the field from scratch. We have to build on previous work to make progress, and that is exactly what the patent system prohibits us from doing. And we have to provide features that the users are accustomed to and can recognize, or they'll find our software just too difficult to use no matter how good it is.
The relationship between patents and products varies between the fields.
Now, people sometimes ask me: why is software different from other fields? Sometimes, of course they ask this in a rather nasty fashion, they say: “the other fields can deal with patents, why should software be an exception?” Now that's a nasty way of putting it because it's making the assumption that it's wrong to want to escape from a problem. I could imagine I am saying: “well, other people could get cancer, why shouldn't you?” Clearly, if it's a problem, enabling any field to escape is good. But it is a good and serious question: are these fields the same issue? Do patents affect all these fields the same way? Is the right policy for software the same as the right policy for automobile engines or pharmaceuticals or chemical processes, you know, this is a serious question which is worth looking at.
When you look at it, what you see is that the relationship between patents and products varies between the fields. At one extreme you have pharmaceuticals where typically a whole chemical formula is patented. So if you come up with a new drug, then it's not patented by somebody else. At the other extreme is software where, when you write a new program, you are combining dozens or hundreds of ideas, and we can't expect them all to be new. Even an innovative program, which has a few new ideas, has to use lots and lots of old ideas too. And in between you find the other fields. Even in other fields, you can get patent deadlock.
When the United States entered World War I, nobody in the US could make a modern airplane. And the reason was that modern airplanes use several different techniques that were patented by different companies, and the owners hated each other. So nobody could get a license to use all these patents. Well, the US government decided that this was an unacceptable state of affairs, and essentially paid those patent holders a lump sum and said “we have nationalized these patents; now, everybody, go make airplanes for us!”
But the amount to which this happens, the frequency and the seriousness of it varies according to how many different ideas go in one product. It varies according to how many points of patent vulnerability there are in one product. And in that question, software is at the extreme.
It's not unusual for a few people working for a couple of years to write a program that could have a million parts in it, different parts, which is maybe, say, 300,000 lines of code. To design a physical system that has a million different parts, that's a mega-project, that's very rare. Now you'll find many times people make a physical object with a million parts, but typically it's many copies of the same subunit and that's much easier to design — that's not a million different parts in the design.
So, why is this? The reason is that, in other fields, people have to deal with the perversity of matter. You are designing circuits or cars or chemicals, you have to face the fact that these physical substances will do what they do, not what they are supposed to do. We in software don't have that problem, and that makes it tremendously easier. We are designing a collection of idealized mathematical parts which have definitions. They do exactly what they are defined to do.
And so there are many problems we don't have. For instance, if we put an if statement inside of a while statement, we don't have to worry about whether the if statement can get enough power to run at the speed it's going to run. We don't have to worry about whether it will run at a speed that generates radio frequency interference and induces wrong values in some other parts of the data. We don't have to worry about whether it will loop at a speed that causes a resonance and eventually the if statement will vibrate against the while statement and one of them will crack. We don't have to worry that chemicals in the environment will get into the boundary between the if statement and the while statement and corrode them, and cause a bad connection. We don't have to worry that other chemicals will get on them and cause a short-circuit. We don't have to worry about whether the heat can be dissipated from this if statement through the surrounding while statement. We don't have to worry about whether the while statement would cause so much voltage drop that the if statement won't function correctly. When you look at the value of a variable you don't have to worry about whether you've referenced that variable so many times that you exceed the fan-out limit. You don't have to worry about how much capacitance there is in a certain variable and how much time it will take to store the value in it.
All these things are defined a way, the system is defined to function in a certain way, and it always does. The physical computer might malfunction, but that's not the program's fault. So, because of all these problems we don't have to deal with, our field is tremendously easier.
If we assume that the intelligence of programmers is the same as the intelligence of mechanical engineers, and electrical engineers and chemical engineers and so on, what's going to happen? Those of us with the easiest field, fundamentally, are going to push it further. We make bigger and bigger things and eventually it becomes hard again. That's why we can develop much bigger systems than the people in the other fields. They just have these hard problems to deal with all the time. In the other fields, it may be necessary to develop an idea. You may have the idea, but then you may have to try out lots of different ways to get it to work at all. In software it's not like that, you have the idea and what you go and do is you write a program which uses this idea, and then the users may like it or not. And if they don't like it, probably you can just fix some details and get it to work.
There is another problem that we don't have to worry about: manufacturing of copies. When we put this if statement inside the while statement, we don't have to worry about how the if statement is going to be inserted into the while statement as a copy is being built. We don't have to worry either about making sure we have access to remove and replace this if statement if it should burn out. So all we have to do is type “copy” and it's an all-purpose copy-anything facility. People making physical equipment and physical products, they can't do that, these things have to be built piece by piece each time.
The result is that for them, the cost of designing a system of a certain complexity may be (gesturing) this much and the factory may take this much to set up. So they have to deal with this much from the patent system. It's a level of overhead they can live with. For us, designing it may cost (gesturing) this much and manufacturing it may cost this much, so this much overhead from the patent system is crushing.
Another way to look at it is that because we can — a few of us can — make a much bigger system, there are many more points of vulnerability where somebody might have patented something already. We have to walk a long distance through the mine field, whereas they they only have to walk a few feet through the minefield. So it's much more of a dangerous system for us.
Program development is hampered by software patents.
Now, you have to realize that the ostensible purpose of the patent system is to promote progress. This is something that is often forgotten because the companies that benefit from patents like to distract you from it. They like to give you the idea that patents exist because they deserve special treatment. But this is not what the patent system says. The patent system says: the goal is to promote progress for society, by encouraging certain behavior like publishing new ideas; and after a certain — originally that was fairly short — time, everyone could use them.
Of course there is a certain price that society pays as well, and so we have to ask the question: which is bigger, the benefit or the price? Well, in other fields, I am not sure. I am not an expert on other fields of engineering, I've never done them and I don't know whether having patents is good for progress in those fields.
I have been in software since before software patents existed, and I know that software patents do a lot of harm and essentially no good. In the old days, ideas came along. Either people in a university had an idea, or somebody had an idea while he was working on developing software. And either way, these ideas got published, and then everyone could use them. Now why did the software publishers publish these ideas? Because they knew that the big job was writing the program.
They knew that publishing the ideas would get them credit from the community, and meanwhile anybody else who wanted to compete with them would still have to write a program, which is the big job. So they typically kept the details of the program secret — of course some of us think that's wrong, but that's a different issue. They kept the details of the program secret and they published the ideas, and meanwhile the software development — because software development was going on — That provided the field with a steady stream of ideas, so ideas were not the limiting factor. The limiting factor was the job of writing programs that would work and that people would like using.
So, in effect, applying the patent system to software focuses on facilitating a thing which is not the limiting factor, while causing trouble for the thing which is the limiting factor. You see the software patents encourage somebody to have an idea, but at the same time they encourage people to restrict its use, so in fact we are actually worse off now in terms of having ideas we could use, because in the past people had the ideas and published them and we could use them, and now they have the ideas and patent them and we can't use them for twenty years. In the mean time, the real limiting factor — which is developing the programs — this is hampered by software patents because of other dangers that I explained to you in the first half of this talk.
So the result is that, while the system is supposed to be promoting progress in software, actually it is so screwed up it's just obstructing progress.
Today we have some economic research showing mathematically how this can happen. You can find it in www.researchoninnovation.org. I am not completely sure of the name of the paper, but it's one that shows that in a field where incremental innovation is typical, having a patent system can result in slower progress. In other words the system produces counter-intuitive results that are the opposite of what it was intended to do. This backs up the intuitive conclusion of every programmer who sees that software patents are absurd.
What can a country do to avoid this problem?
So, what can a country do to avoid this problem? Well, there are two approaches: one is to address the problem at the issue of granting patents, and the other is to approach it at the point where patents are being enforced.
Doing this at the stage of granting patents is not quite as easy as you might think. Now, I have been talking about software patents but strictly speaking you can't classify patents into hardware patents and software patents, because one patent might cover both hardware and software. So in fact my definition of a software patent is: a patent that can restrict software development.
And if you look at many software patents you often find that the system they describe has a large part of the computer itself as part of the description of what's going on. That's a great way of making the whole thing seem complicated when it is really trivial. So it's a way they can get the patent office to decide it's unobvious.
But there is a different criterion that can be used, a slightly different place to draw the line that still does a reasonable job, and that is between processes that transform matter in a specific way, and processes where the result is just calculation and display of information, or a combination of data processing and display steps — or others have put it as: mental steps being carried out by equipment. There are various ways of formulating this, which are more or less equivalent.
Now this is not exactly the same as prohibiting software patents, because in some cases computers are used as part of specific physical equipment to make it do a specific thing. And software patents might be allowed if they are part of a specific physical activity. But that's not really a disaster. After all, once people are involved in a specific physical activity or a specific physical product, they are bringing into their whole business all those complexities of dealing with matter. So it's more like those other fields of engineering. Maybe it's okay to have patents on that narrow kind of software. As long as we can keep the core areas of software, the purely software activities safe from patents, we have solved the bulk of the problem.
So that is a feasible approach and that's what people are working towards in Europe. However, that is not going to be any use in the United States because the United States already has tens of thousands, probably hundreds of thousands of software patents. Any change in the criteria for issuing patents does not help at all with the patents that already exist.
So what I propose to the United States is to change the criteria for applying patents, to say that purely software systems running on general purpose computing hardware are immune from patents. They by definition cannot infringe a patent. And this way the patents can still be granted exactly the way they are now, and they can still, in a formal sense, cover both hardware implementations and software implementations as they do now. But software will be safe.
Preventing India from having software patents will be up to the citizens of India.
That's the solution I propose to the US, but it could be used in other countries as well.
Now, one of the tremendous dangers facing most countries today is the World Trade Organization, which sets up a system of corporate regulated trade — not free trade as its proponents like to call it, but corporate regulated trade. It replaces the regulation of trade by governments, that are somewhat democratic and might listen to the interest of their citizens, with regulation of trade by businesses, which don't pretend to listen to the citizens. So it's fundamentally antidemocratic and ought to be abolished.
But it's crucial to note that the part of the GATT agreement which deals with patents does not require software patents. Many experts who have studied this, for instance in Europe, make this claim. And the reason is that they interpret technical effect as: there is a specific physical consequence or physical system going on. And so the software that doesn't do that doesn't have to be in the domain that patents can cover.
So, at least you don't have to worry about the Word Trade Organization causing problems here, despite the tremendous problems they cause in other areas of life.
Preventing India from having software patents will be up to you — to the citizens of India. I am a foreigner, I have no influence except when I can convince other people through the logic of what I say. There is a chance that you can do this. When the US started to have software patents, the public policy question was not considered at all. Nobody even asked whether it was a good idea to have software patents. The Supreme Court made a decision which was then twisted around by an appeals court, and ever since then, there were software patents.
But when Europe started to consider officially authorizing software patents a few years ago, public opposition started to rise and became so strong that the politicians and the parties began paying attention to it, and started saying they were against it. In fact two attempts to authorize software patents have been blocked already in Europe. The French Minister of Industry says that software patents would be a disaster and under no circumstances should they be allowed in France. All of the German political parties have taken a stand against software patents.
The battle is not yet over, you know. We have not conclusively blocked software patents in Europe, because the multinational companies and their servant, the United States government, is lobbying very hard, and they have ignorance on their side. It's so easy for somebody with a naive neo-liberal view to be persuaded that a new kind of monopoly has to be good!
You have to look at the details of how software patents affect software development to see that they cause a problem. You have to study that economic research in its mathematics in order to see why you shouldn't assume that patents always promote progress. So, it's easy for IBM to send a lobbyist to someone and say: “You should really adopt software patents, they are great for programming. And look, the US is ahead and the US has software patents. If you have software patents too, you might catch up.” Well, you can't get more dominant than that, and the US was ahead in computers before it had software patents, it can't be because of software patents.
It's important to understand that each country has its own patent system and its own patent laws and what you do in a certain country is under the jurisdiction of that country's patent law. So the result is, that if the US has software patents, the US becomes a sort of battleground where anybody using computers might get sued. If India avoids software patents, then India is not a battleground, and computer users in India do not face this danger of getting sued.
It turns out that each country will issue patents to foreigners, just as to its own citizens. So in fact, in a place which has this scourge of software patents, foreigners can own those patents. There are lots of non-US companies that own US software patents, so they are all welcome to get involved in the fighting in the US. Of course it's we Americans who become the victims of this. Meanwhile, in India, if there are no software patents, that means both Indian companies and foreign companies are prevented from coming into India and attacking people with software patents.
So, yes it is important that each country has its own patent law. That makes a big difference, but you've got to understand what difference it makes. Having software patents in a certain country is not an advantage for the developers in that country. It's a problem for anybody distributing and using software in that country.
Now, if you in India are developing a program for use in the US, you may face the problem — or at least your client will face the problem — of US software patents. At least probably you can't get sued here. The client who commissioned the program and tries to use it might get sued in the US, and indeed you will have to deal with the problem — the US's problems — when you try doing business in the US. But at least you'll be safe here. You know, at least it is a big difference between your client got sued because your client told you to make a product and that product is patented, versus you get sued for making that product.
If there are software patents in India, then you will get sued. Whereas in the current situation, at least you can say to the client: “You told us to make this and we made it. So, I'm sorry this happened to you but it's not our fault.” Whereas if there are software patents in India, you'll get sued yourself and there is nothing you can say about that.
Businesses should demand opposition to software patents.
So the ultimate conclusion is that software patents tie all software developers, all computer users and essentially all businesses in a new kind of bureaucracy, which serves no beneficial social purpose. So it's a bad policy and it should be avoided.
Businesses don't like bureaucracy. If businesses knew that they were threatened with a new kind of bureaucracy, they would oppose software patents very strongly. But most of them aren't aware of this.
In the US, software patents have led directly to business method patents. What does this mean? A business method is basically how you make decisions about what to do in the business. And in the past, these decisions were made by humans but now sometimes they are made by computers, and that means they are carried out by software, and that means the decision policies can be patented. Software patents imply business method patents and business procedure patents. The result is that any business could find itself, you know, once they decide “we're going to automate the way we carry out our procedures,” now they get sued with a software patent.
So if businesses only knew, they would be organizing through things like the chamber of commerce to demand opposition to software patents. But mostly they don't know, and therefore it's going to be your job to inform them. Make sure they understand the danger that they are facing.
It's important for countries to work together against this.
And then India may be able, with the help of other countries like France and Germany, to reject software patents. It is important for people in the Indian government to make contact with officials in European countries, so that this battle against software patents doesn't have to be fought one country at a time, so that countries can work together to adopt an intelligent policy. Maybe there should be a no software patents treaty that various countries can sign and promise each other aid, when they are threatened by economic pressure from the United States, as part of its economic imperialism.
Because the United States likes to do that, you know. One of the provisions in the GATT agreement is that countries have the right to make compulsory licenses for making medicine, to address a public health crisis. And the South-African government proposed to do this for medicine against AIDS. Now, South-Africa has a very bad problem with AIDS; the figures I've heard was that a quarter of the adult population is infected. And of course, most of them can't afford to buy these medicines at the prices charged by the US companies.
So the South-African government was going to issue compulsory licenses which, even under GATT, it's allowed to do. But the US government threatened economic sanctions. Vice-President Gore was directly involved with this. And then, about a year before the presidential election, he realized that this was going to look bad, so he dropped out of the effort.
But this kind of thing is what the US government does all the time in regard to patents and copyrights. They don't even mind if people get patented to death.
So it's important for countries to work together against this.
Please talk with all executives of businesses — any kind of businesses — about this issue. Make sure they understand the extent of the problems they face, and that they think of going to business organizations to have them lobby against software patents.
Questions from the audience
Now I'll answer questions.
Oh, by the way to any journalists who are here, I recommend writing articles about software patents separately from articles about free software. If you cover them in one article together, people may get the idea that software patents are only bad for free software developers and they are okay for other software developers. This is not true. If you think back of what I have said, hardly any of it relates to the question of whether the programs are free or not; the dangers are the same for all software developers. So please don't take the risk, the people will get confused. Write separate articles.
Questions about software patents
- Q: Sir, you said that companies like IBM are harmed about 10 times as much as they benefit?
- A: No. What I said is the harm that would have happened to them is 10 times the benefit, but this harm is purely theoretical, it doesn't occur. You see, they avoid it through cross-licensing. So in fact, the harm does not happen.
- Q: But it is only neutralized, they don't really benefit?
- A: Well, they do you see, because the bad aspect, they avoid through cross-licensing, and meanwhile they do collect money from some other licenses. So they are benefiting in total. There is the small benefit which happens and the big potential harm which does not happen. So you have zero plus something for the benefit.
- Q: But for that something will oppose this movement against patents?
- A: Right, IBM favors software patents. I had with trouble
one, I couldn't hear all the words in your sentence. I don't know
whether there was a ‘not’ in it. I couldn't tell, there are
two diametrically opposite meanings for what you just said, so what you
can do is make sure that the situation is clear. IBM favors software
patents, IBM thinks it stands to gain a lot from software patents. So
what it stands to gain is that the IBM and the other very big companies
would basically control software development, because it will be very
hard to do independent software development.
To develop nontrivial programs you're going to have to infringe patents of IBM's. Now if you are big and often lucky enough, you might have some patents of your own and make IBM cross-license with you. Otherwise you are completely at their mercy and you have to hope that they just let you pay the money.
Is someone else asking?
- Q: Sir, what was the reason for the development of the software patent?
- A: Well, in the US, there was no reason. Somebody tried to get a patent that was a software patent, and, I think, the patent office said no, so he took it to court and eventually went to the Supreme Court and they, they didn't judge it as a public policy question, they judged it in terms of what does the law say.
- Q: So was it not the realization that …
- A: Sorry, I can't … could you try to pronounce your consonants more clearly, I'm having trouble understanding the words.
- Q: So was it not the realization that copyright is notoriously weak for protecting software?
- A: Copyright is not only what?
- Q: Notoriously weak…
- A: Well, I think the whole sentence is nonsensical. I don't
understand this term “protecting software,” and I don't
agree with you.
Most programmers don't agree with you.
- Q: So when you are saying that you are not favoring protection of software and you yourself is giving General Public License, where do you get that power to issue General Public License?
- A: OK, you are asking questions about copyright and free software which is not the topic now, I will accept questions about that later on, but I gave a speech about software patents and I want to answer questions about software patents.
- Q: Sir I have a question about software patents, the thing is that how can one protect where there is a functional element …
- A: Protect what?
- Q: Functional element…
- A: What's going to happen to them?
- Q: Sir, how can we get a protection when there is a…
- A: Protection from what? Somebody's gonna come with a gun?
- Q: No Sir …
- A: Basically the protection you need is the protection against being sued for the program you wrote. Programmers need protection from software patents.
- Q: No, it's not the programmers themselves sir, there are companies who have invested in something.
- A: And do you want the company to get sued because in your
large program there are five different things that somebody, that five
different people already patented? Now it's clear to see the myth that
you are operating on, it's the naive idea that, when you develop
a program, you will have the patent. Well, the idea, that very
statement contains a mistake because there is no such thing as the
patent. When you develop a program with many different things in it,
there are many things, each of which might be patented by somebody else
already, and you find out about them one by one when they come to you,
saying: “either pay us a lot of money, or else shut down.”
And when you dealt with five of them, you never know when number six is
going to come along. It's much safer to be in the software field if you
know you are not going to get sued as long as you wrote the program
That's the way it was before software patents. If you wrote the program yourself there was nothing to sue you about. Today you can write the program yourself, it may even be a useful and innovative program, but because you didn't reinvent the whole field, you use some ideas that were already known, other people sue you. Now, of course, those people who wanna go around suing you, they are going to pretend that this extortion is protection for them. Protection from what? Protection from having competitors, I guess. They don't believe in competition, they want monopolies.
Well, to hell with them. It's not good for the public that they should get what they want. This is a question of public policy. We have to decide what is good for the citizens generally.
Not have somebody saying “I wanna have a monopoly because I think I am so important I should have one, so protect me from anybody else being allowed to develop software.”
- Q: You are suggesting that we should avoid making a battleground for patents, don't we still have to deal with the problem that there are a lot of American products being sold here and…
- A: Well…
- Q: … and we are still going to be mistaken…?
- A: No! No, you misunderstood. US developers may be in trouble because of the patent system, and what effect will that have? It means that there are certain products that won't be coming from the US, and therefore they won't be sold in the US, or here. You see, if a developer is in the US and there is a US software patent, that software developer is going to get sued there, whether or not he tries to deal with anybody in India, he is going to get sued. But the fact that he is distributing the program in India is not going to cause him an additional problem, because that's under the jurisdiction of India. That's the one thing he will not get sued for. So, basically, what it means is, whatever exists can be distributed in India, safely, and the developers who are lucky enough to be in India will be safe from this kind of gang warfare, and those who are unlucky enough to be in the US will not be safe.
- Q: Sir, are you basically against the very concept of intellectual property rights?
- A: As I said at the beginning, it is foolish to even
think about that topic. That topic is an overgeneralization. It lumps
together totally different things like copyrights and patents, and so any
opinion about “intellectual property” is a foolish one. I
don't have an opinion about intellectual property, I have opinions about
copyrights, and I have completely different opinions about patents, and
even in the area of patents, you know, I have different opinions in
different fields. Even that area is a big area. And then there are
trademarks which are also “intellectual property”; I think
trademarks are basically a good idea. The US has taken trademarks all
little too far but, basically it is reasonable to have labels that you
can rely on.
So you shouldn't try to have an opinion about intellectual property. If you are thinking about intellectual property, you are thinking at a simplistic level. And any conclusions you reach will be simplistic. So, do as I do, you know, pick one topic at a time and focus on it, and find out the details about that one area, then you can think intelligently about that area, and later on you can think intelligently about the other areas too.
- Q: So there is an argument that if particular intellectual property right is not protected…
- A: I'm sorry, what you are saying makes no sense at all and is at this foolish general level…
- Q: Let me complete sir, if that particular intellectual property right is not protected, it may impede the investment, and this impediment…
- A: This generalistic thinking is so simplistic, it's totally stupid. It makes no sense at all. There is no principle of intellectual property. Copyrights and patents and trademarks originated completely separately, they have nothing in common, except later somebody else made up this term “intellectual property” to call them all by it.
- Q: Sir, will you extend this concept to the physical property?
- A: No, I'm sorry, none of these things has anything to do with physical property rights, they are totally different. What do you say extend “this concept”? Which is “this concept”? The idea that the term “intellectual property” is a generalization that leads you into simplistic thinking, should we apply that to physical property? No, they are totally different. They have nothing in common.
- Q: So the basis under which this intellectual property is protected is “protect the labor,” “intellectual labor”?
- A: No! No, you are totally wrong, you are totally wrong. The purpose of… You have been brainwashed, you have been listening to the propaganda of the companies that want to have these monopolies. If you ask what legal scholars say is the basis of these systems, they say that they are attempts — for copyrights and for patents — they are attempts to manipulate the behavior of people to get benefit for the public. Trademarks are a different issue, I think the issues for trademark are completely different. So you are making an overgeneralization also.
- Q: So why can't we extend the very same principle…
- A: But in any case, your principle is wrong, and if you take a look at that economic research on www.researchoninnovation.org, you will see that you are making naive statements, naive blanket statements that are simply not true. You got the silly idea that creating a monopoly over some aspect of life always, invariably makes that aspect of life thrive. Well, this is dumb. Occasionally it might work, and occasionally it causes a lot of trouble.
- Q: Don't you think that the same kind of monopoly is created in favor of a party when he owns a physical property?
- A: I'm sorry, I can't hear you.
- Q: Sir, don't you think that the same kind of monopoly rights are created if a particular physical property is allowed to be owned by a person, just like an intellectual property?
- A: Physical property can only be in one place at a time. You know, only one person can sit in a chair at a time in the normal way. [Applause] You know these are totally different issues. You know, trying to generalize to the utmost is a foolish thing to do. We're dealing with complicated laws that have many, many, many complicated details and you are asking us to ignore all these details. We're dealing with laws that have complicated effects in various fields and you are asking us to ignore the details of their effects. Don't bother judging… I think that if we are talking about a public policy issue, we've got to look at the actual results of the policy, not some myth as to what results a certain ideology would predict. I'm telling you the real results, I'm telling you what I have seen and what other programmers have seen.
- Q: Sir, what about the LZW patent? Is it…
- A: What about the what?
- Q: LZW patent?
- A: The LZW patent?
- Q: Yeah. Is it still in effect?
- A: Yes, it is. Well, there are actually two LZW patents as I explained to you, and they are both still in effect.
- Q: Sir, so it's for 20 years?
- A: Yeah, it's not 20 years yet.
- Q: Sir, can you reduce the scope of the problem by reducing the period of the patent?
- A: Definitely, you could. If there were software patents,
but they only lasted for, say, 5 years or three years, that would mostly
solve the problem. Yes it's a pain to have to wait 3 or 5 years, but
it's much, much less of a pain. But, but there is a difficulty there.
The GATT agreement says that patents must last 20 years. So, the only
way you could have something like software patents which lasted for 3
or 5 years is as follows.
First, make it clear that ordinary patents do not apply, and second, if you wish, you could create a different system of five-year software idea monopolies. Well, it's not clear that there is any particular benefit in these five-year software monopolies but it would be much better than the current situation. So if you found the government prepared to make this deal, well, I would say, we should take it. But, but we have to realize, though, that the first step is to abolish software patents strictly speaking, and that has to be part of this deal.
- Q: So and patent has also now become victim of…
- A: I'm sorry, I couldn't hear you at all, could you speak louder?
- Q: Sir, patent has now become a way of making money by businesses rather than promoting inventions?
- A: Yes, a lot of them use it that way.
- Q: So, sir, can we reduce this problem further by assigning the patent to the actual inventor rather than a business?
- A: Not really. What you'll find is that, that aspect of the
relationship between the employee and the business is something that gets
negotiated; and the business has more clout, so they are always going to
end up arranging to have the employee hand the patent to the company.
The other thing is that it doesn't make a big difference who owns the
patent. The point is that you are prohibited from developing a program
using that idea, and it may make some difference precisely who has the
power to sue you. But what you really want is not to be sued at all.
So why look for a half-measure like this? It's much better just to say
that software shouldn't have patents.
Okay, if you gonna pass a note, you'd better read it out loud. Any other questions?
- Q: People who are being to Malaysia say that, if we buy a PC there, the amount of money we would pay for all the standard software is about a tenth of what we should pay in this country. In Malaysia they are little more relaxed about patents and copyrights?
- A: Well, are you not sure what you are talking about? Because you seem to mixing together copyrights and patents. I'm not sure if what you are talking about has anything to do with the issue of software patents.
- Q: Precisely what I want to know is about: this has something to do with patents?
- A: Probably not.
- Q: Different countries depending on how much, whether they are part of WTO or not part of WTO…
- A: No, no.
- Q: …I think matter…
- A: You see, I don't know for certain because I don't know what's going on there. I've never been there. But I suspect that it's a matter of copyright and has nothing to do with patents, because if you are talking about the same programs… Remember, software patents are primarily a restriction on software developers. So if it's the same program and it was developed, say, in the US, the patent problems they have are independent of, you know… the patent problems they have are biggest in the US, not in either India or Malaysia. So, that probably has to do with copyright, not patents, and that's a totally different issue. We mustn't lump these issues together.
- Q: Sir earlier you've told that…
- A: I'm sorry I can't hear you.
- Q: Earlier in your speech you've told that software that should be brought under the purvey of patents is what you defined that as what can be run on a general purpose machine.
- A: I'm afraid I can't… Can anyone understand what he's saying? I cannot understand your words. If you make an effort to enunciate more clearly, I may be able to understand.
- Q: You had spoken earlier that software that should be patented is, you defined that as, software that can be run on a general purpose machine…
- A: I'm sorry I didn't say that software should be patented, so I just can't make out these words. Maybe if you tell that to someone else, the other person could say it and I could understand.
- Q: Software patents, like whatever you call software patents, like those are what can be run on a general purpose machine. So if some algorithm or some piece of software is capable of being executed on a general purpose machine, it should not be patented.
- A: Yes. Now I can hear you, yes. One of the things I proposed was that patent should not apply to software for general purpose machines or the use of it on those general purpose machines. So that if you develop that program or if you are using that program, you couldn't be sued.
- Q: We've an increasing number of software not being run on general purpose machines.
- A: Well, then that would be covered still by software patents, so it wouldn't be a total a solution, but at least it would be a partial solution.
- Q: So if the defining line is general purpose machines, don't you see there's a possibility that people could find loopholes in it, like, to find workarounds for…
- A: I'm sorry. Do I see a possibility that people would do what?
- Q: … of finding loopholes or workarounds of converting what you would call software patents and to get it actually patented.
- A: I'm sorry, I do not understand. Loopholes to do… I'm sorry. What people would do, what software developers would do in that situation is use general purpose machines more.
- Q: Some algorithm can be run on a general purpose machine — what I'd say that, that algorithm, I'm using it for some embedded device and go ahead and patent it.
- A: Why you could try it, you misunderstood. The point is that, you misunderstood what the solution is. The solution is that if I am developing and using the software on general purpose machines, then nobody can sue me for patent infringement. So yes, somebody could get a patent, and maybe he could sue others who are doing specialized things which involve particular hardware. But they couldn't sue me.
- Q: Excuse me sir, may I ask you a question.
- A: Yes.
- Q: Sir, you spoke of general purpose machines. In the sense, how would you define these machines, because these days you have a lot of custom made handheld devices etc. Now some way…
- A: No, handheld computers are general purpose when they are not designed to carry out a specific computation or a specific physical process. They're general purpose computers. They have general purpose computer chips in them.
- Q: Then the idea would be contestable in a court of law as to whether it's a general purpose or not…
- A: I guess, it will have to be, yeah. The precise details of drawing those lines, one ends up having to leave to judges.
- Q: Thank you sir.
- Q: Germany and France, the only countries who has said no to patents in Europe…
- A: Well, I don't know the full situation. Those are the just the ones I know of. The last time there was a vote, there were going to be a majority of no votes, and so they dropped the issue. And I don't remember the other countries.
- Q: There's no European community decision on this…
- A: Not yet. In fact, the European Commission itself is divided. One of the agencies — the one which unfortunately is the lead agency on this issue — has been won over by the multinationals and is in favor of software patents, and then the agency that tries to encourage software development is against them, and so they're trying to work against it. So if there is somebody who wants to get in touch with the official in charge of the agency that is opposed to software patents, I can put them in touch.
- Q: Is there any country that said ‘no’ to software patents?
- A: Well, there are countries which don't have them, but it's not clear that there's any country which has affirmed this recently.
- Q: Sir, could you please elaborate on the benefits the software development community got in European countries from this policy?
- A: Well, the benefit is that you don't have to be afraid
someone will sue you, because of one of the ideas or a combination of
ideas that you used in a program that you wrote. Basically software
patents mean that if you write a program, somebody else might sue you
and say “you're not allowed to write that program.” The
benefit of not having software patents is you're safe from that.
Now in India you have probably taken for granted that you are safe from that. But that will only last as long as there are no software patents in India.
- Q: Are there any threats to India not acceding to the software regime?
- A: Well there's no software regime. The GATT agreement doesn't require software patents. There is no treaty requiring software patents.
- Q: Most people, if they had a chance to get a patent and make a lot of money out of it, they wouldn't pass it up…
- A: Well, many people if they had a chance to get a gun and
make a lot of money from, they wouldn't pass it up.
The point is, therefore, let we try not to hand them that opportunity. For instance, we don't have a government agency handing out guns to people on the street, and we should not have a government agency handing out software patents to people on the street either.
- Q: Being an advocate of this non-patency, have you ever faced any…
- A: I'm having trouble hearing you. Please try to make an effort to pronounce every sound clearly that I might understand.
- Q: You being an advocate of this non-patency, have you faced any problems with these multinationals or something?
- A: Have I faced any problems…
- Q: … so far in your life?
- A: I'm sorry. What did he say?
- Q: Have you faced any problems with multinationals in your life?
- A: Well, there are many. In the community where I develop
software, there are many examples of programs that had their features
taken out, programs that didn't have the feature put in the first place,
programs that were not even written for many years, because of this.
There are many examples of jobs we can't do, because we're not allowed
to do them.
Now we collected examples of this, and we are looking for people to write them up — you know, to look at each example and investigate it fully and write down a clear description of what happened and what the harm was and so on. We have had trouble finding people to do this. We're looking for more. So someone who is really good at writing clear English might want to volunteer for this.
- Q: I think he asked whether you had any threat to you by any multinational companies…
- A: Well they never threatened my life!
- Q: Yeah that's the question!
- A: No, but they do threaten our work. You know, they do threaten to sue us.
Questions about free software
- Volunteer: There's a question from a gentleman at the back: “If the multinational companies that produce hardware, like Intel, coming to a contract with big software companies to restrict free software by changing the microprocessor patents, how will you overcome such a hazard?”
- A: I see very little danger of that. Intel recently
developed a new computer architecture, and far from trying to stop us
from supporting it, they hired people to implement it.
So it looks like we have now moved to free software questions. I'd like to remind people that, until this last answer, I was not speaking for the Free Software movement. I was speaking about something of vital interest to every programmer which is: to be free to write programs and not get sued for having written them, as long as you wrote it yourself. And that is a freedom that you've taken for granted until now, and it's a freedom you will lose if you have software patents.
Now however we're moving to the topic of free software, which is what I spent most of my time working on, and the individual, the actual software development project that I've lead, which is developing the GNU operating system, which is a free software, Unix-like operating system used by some twenty million people estimated today. So I am now going to start answering questions about free software and GNU.
- Q: In the absence of a concrete revenue model for free software, will this also go bust like the dotcom?
- A: I can't predict the future but I want to remind you that the dotcoms were businesses. And free software is not primarily a business. There are some free software businesses. Whether they will succeed or ultimately fail, I don't know. But those businesses, while they contribute to our community, they are not what our community is all about. What our community is all about is having the freedom to redistribute and study and change software. A lot of free software is developed by volunteers, and the amount is increasing. No matter what happens with the companies, that's not going away.
- Q: I understand that companies like IBM are also investing considerably in making their systems and software compatible with free source code like Linux…
- A: You mean GNU?
- Q: All right…
- A: Yes, they call it Linux. Actually the system is mainly GNU and Linux is one of the pieces.
- [From audience] The kernel is hardly eighteen percent.
- A: Well, really, that much? What I saw is three percent.
- [From audience] You can see through a needle. Very insignificant.
- Q: But, I also understand that they've invested around a billion dollars in doing so. Now my question is…
- A: Well that's not true.
- Q: My question is: for a service that has no revenue model, will this be sustainable in the future, and if I change my business into…
- A: I'm sorry, I can't predict the future. No one can.
- Q: How can I…
- A: There are some God men who claim they can predict the
future. I'm not. I'm a rationalist.
I can't tell you what's going to happen. What I can tell you is that when IBM claims to have put a billion dollars into the GNU plus Linux operating system, that is not entirely true. You have to look carefully at what they're spending this money on, and you'll find they are spending this money on various different things, some contribute and some don't.
For instance, they are funding some work on developing the GNU/Linux system. That's good, that contributes. They do develop some other free software packages that they've contributed to the community. That's a real contribution.
They are also developing many nonfree programs to make them run with the GNU/Linux system and that is not a contribution. And they are publicizing the system, well, it's not a primary contribution but it does help, you know. Having more users is not our primary goal. But it's nice, if more people would try our software, so that does help, but then they're mistakenly calling this Linux which is not quite right, and they're lobbying for software patents in Europe, which is bad. So, you know, IBM is doing many different things. Some are good and some are bad, and if you want to have a thoughtful view, it's important to look at the individual actions. Do not try to add it up because that just means you're missing the important aspects of the situation.
Are there any more questions?
- Q: [...]
- A: I can't hear you at all, I'm sorry [...] whispering. I'm a little bit hard of hearing, and when you combine that with the noise of the fans, and with the unusual accent, all three of those things together make very hard for me to make out the words.
- Q: This question is not about patent or copyright or anything like that. But this is one example what you said about — if statement and while statement — that you said something about the differences in the field of computer science and differences with other sciences, that is other engineering sciences. You said that if I change something in the if loop that's if statement, there won't be any effect, that you said…
- A: No I didn't say that.
- Q: You said that! You said that there isn't any heating effect. I remember that…
- A: I'm sorry, I know what I said. I said something that's partly similar to that…
- Q: I'll tell the exact statement: you said there won't any heating effect.
- A: Any whating effect?
- Q: Heating effect. Heating…
- A: Oh yes we don't have to worry about how much heat the if statement…
- Q: Yeah, yeah, exactly. Then what is it that cascading effect is? If I change the structure of the loop, there will be an effect.
- A: Oh sure. The program will behave differently when you change it, but I'm not saying that writing every program is easy, or that we never make mistakes. I listed a lot of specific kinds of problems, that would plague a mechanical or electrical engineer at every little detail. Even each one detail gets to be very hard for them. Whereas for us, the problems are because we do so much, we're doing it so fast, we don't think carefully about each one thing. So we make mistakes.
- Q: So you admit that there's an effect.
- A: Of course. I never said otherwise, I'm sorry if you thought so. Sure if you change your program it's going to do different things.
- Q: Sir, can you comment on the commercial distributions?
- A: Well, you asked me to comment on the commercial
distribution of GNU/Linux systems? Well, I think that's fine. That's one
of the freedoms that free software gives you — the freedom to use
it in business, the freedom to distribute it as part of a business, the
freedom to sell copies in exchange for money. These are all legitimate.
Now, one thing I am unhappy about is when the companies that do this add some nonfree software to it.
- Q: That's the installation program?
- A: Yeah, any nonfree software. Because the goal was: you
should be able to get a completely free operating system. Well, if
they have a thing in a store which says I'm the GNU/Linux system —
of course it says Linux — but inside of it there are some nonfree
programs, now you're not getting something that is entirely free anymore.
It doesn't entirely respect your freedom. So the real goal for which
we wrote the system is being lost.
So that's a major problem that our community faces now, the tendency to put free software together with nonfree software and make these nonfree overall systems. And then, you know, it might seem that our software is a success because there are many people using it. But if you look at our real goal, our real goal is not popularity. Our real goal is to spread a community of freedom, and we're not succeeding in doing that if the people are using nonfree software still.
Unfortunately, I couldn't give both speeches. I can give a speech about software patents, or I can give a speech about free software. They're very different and each one of them is a long speech. So unfortunately what that means is that I can't fully explain about free software and the GNU project here. Am I giving another speech in Kochi? Am I giving the free software speech in Kochi?
- Q: No.
- A: Oh well. I gave that speech in Trivandrum.
So I'll answer five more questions and then I'll have to call it quits because it gets to be quite draining to answer so many.
- Q: Excuse me sir, question from me again. Sir, this is a personal question. Me, as such, I love programming. I spend a lot of time in front of my system. And I was listening to some of your earlier speeches where you said that back in the 70's, the community of programmers had a sense of goodwill among them. They used to share code, they used to develop on it.
- A: Well, a specific community of programmers which I belonged to. This was not all programmers. It was one specific community. Continue.
- Q: Yes sir. In that context, I feel particularly, me as such, I feel very hurt when I see the so-called interaction among programmers today. Because many of us are very good programmers, but we look at each other in different colors depending upon the tools we use — “hey, he's a windows guy,” “hey, he's a GNU/Linux guy,” “hey, he's into Solaris systems,” “he's a network programmer.” And unfortunately most of this prejudice comes from a lot of misinterpretation out of things like this. None of these people promote free software as such, and it hurts me as a programmer and many of my colleagues, and I work in an environment…
- A: Could you speak a bit more slowly, I am hearing most of it, but there was one point that I miss, so if you speak slowly I will…
- Q: Yeah, here we work with in an environment where you are judged according to the tools you use rather than the quality of work.
- A: To me that, well, in one sense there is a situation where in a limited way that is rational. If there is a tool which is normally used for doing fairly easy jobs and there are lot of people who now had to do it, then I would imagine now, I wouldn't want, I might not pay as much to them as somebody who does very hard jobs with a different tool that's used for hard jobs. But it's true if you're talking about hard jobs, it makes no sense that you'd be prejudiced about what tools people are using. The good programmers can use any tools.
- Q: That was not the focus here. The focus was that here it is a question of goodwill. Goodwill amongst programmers these days seems to be, you know, melted out into these little boxes of this system and that system, and that hurts.
- A: I agree we should encourage people to learn about more different things and we should never be prejudiced against people because of some detail, you know the fact that this person likes Perl and this person likes C, why should they hate each other…
- Q: It's not even that distinct. It's like this person works on GNU/Linux and this person works on Windows, which are the two major operating systems today in India at least.
- A: Well, in that case, though, it's not just a prejudice,
you see. Windows is a system, a social system, that keeps people
helpless and divided [applause], whereas GNU/Linux is an alternative
that was created specifically to liberate people and to encourage them
to cooperate. So to some extent, this is not like: “where you
born in this country or that country?” No, this is like your
choice of politics. And it does make sense to criticize people for
their choices about important issues.
So, I would say, a person who's using Windows, well, either he is actively supporting this power structure, or at least maybe he's trapped in it and doesn't have the courage to get out. In that case you can forgive him, I guess, and encourage him. You know, there are different situations of people; in any place there are people… different. Some people are making more or less effort to try to improve things. I believe in judging people as individuals, not as lumping them together by their groups.
But this is, in this one case it is, somewhat of a political choice with political consequences for society, and that's exactly where it makes sense to criticize people.
- Q: Sorry to continue again on this, but I'm a little persistent about this. It's…
- A: This is your last chance.
- Q: Yes sir, thank you. Generally when statements like these are made, people who are not so much, you know, in connection with these things tend to assume that cooperative communities and sharing of source code and sharing of ideas and things like that don't exist in other environments, but they do, and that's very unfortunate that they think so.
- A: I'm sorry… What don't exist in other environments? I don't know which other environments you're talking about. I don't understand.
- Q: Other programming environments, other operating systems.
- A: Well maybe there are some users developing some free
software that runs on Windows, in fact I'm sure there are…
Note: At this point, there was a short blackout, and both the recording and the transcript is incomplete here.
- A: Well, maybe there, are there anymore questions? Could you speak louder? I can't hear you at all.
- Q: Sir may I ask you a question?
- A: Okay you can, sure.
- Q: In free software system we will be distributing the source code also together with the software. So a person is entitled to change whatever he can in the source code. So don't you think there will be too many software versions of a particular software and this will in turn cause problems for a layman to find out which will suit him the most.
- A: Practical experience is that this is not a problem. And occasionally it happens, but not very often. Now, you see, the reason is that the users want interoperability and with free software the users are ultimately in control, and what they want they tend to get. The free software developers realize that they had better — if they are going to make incompatible changes they are likely to make users unhappy and their versions are not going to be used. So they generally draw the obvious conclusion and pay a lot of attention to interoperability.
- Q: What I feel is that like I'll be just loading a software into my computer and the next morning I'll find a better version then again I'll have to change it. The next morning again something has been done to the source code and that's a better version, so don't you…
- A: In general you are not going be finding a better version every day and the reason is that typically for any given program, there is usually only one version that is widely used. Maybe there will be two, once in a while there will be three — when there is no good maintainer that might happen. So you are just not going to keep finding out about more versions that are good every day; there aren't so many. There won't be that many popular versions. There is one situation where you can get a new version every day. That is when there is one team doing a lot of work on development then every day you can get their latest version. That you can do. But that's only one version at any given time.
- Q: Sir, don't you think we will have to implement an organization which will take into consideration all these updations and it will just provide a single software which will have all the updations right?
- A: I'm sorry, I didn't hear that. Shouldn't we have an organization that would do something with all these versions, but I don't know what.
- Q: Like, say I have developed a version of…
- A: Did anyone else hear what she said? Could anyone else tell me what she said?
- Q: The thing is that…
- A: It's a very valuable skill to learn to speak slowly and clearly. If you ever want to give a speech, which as part of your career you will, it's very helpful to learn to enunciate clearly and slowly.
- Q: Thank you, Sir. Sir, the thing is that, don't you feel that we require an organization which will just perform a number of updations together and make available a software which will club all the updations up to that date?
- A: You are saying, take various different applications and put them together?
- Q: Yes Sir.
- A: I will tell you. A lot of organizations are doing that; in fact every one of the GNU/Linux distributions is exactly that. Debian does that, Red Hat does that… We to some extent do that also for the GNU packages. We work on making sure they work together.
- Q: Excuse me Sir. We have talked lot against patents. In US conditions have you ever been forced to put forward any applications for patents?
- A: No. But no one can force me to make a patent application.
- Q: Also do you own any patents?
- A: I do not own any patents. Now, I have considered the possibility of applying for patents to use them as part of a mutual strategic defense alliance.
- Q: Do you mean to say that if I have twenty patents with me, I donate it to the FSF and you maintain it for me?
- A: Well, not the FSF. It would be a separate specialized
organization that would exist specifically, so that we would all
contribute our patents and the organization would use all of these
patents to shelter anyone who wishes shelter. So anyone can join the
organization, even somebody who has no patents. And that person gets the
shelter of this organization. But then we all do try to get patents so
as to make the organization stronger so it can protect us all better.
That's the idea, but so far no one has been able to get this started.
It's not an easy thing to do, and part of the reason is that applying
for a patent is very expensive — and a lot of work as well.
So this will be the last question.
- Q: Why can't the Free Software Foundation start its own distribution?
- A: Oh well, the reason is that Debian is almost what we want, and it seems better to be friends with Debian and try to convince them to change it a little, rather than say “well, we are not going to use it; we are going to make our own thing.” And also it seems likely to be more successful too because, after all, there are a lot of people working on Debian already. Why try to make an alternative to that large community. Much better to work with them and convince them to support our goals better — if it works, of course, and we have our ways to go on that.
So that was the last question, I can't stay all day answering questions, I'm sorry. So at this point I am going to have to call a halt and get going, and go have lunch. So thank you for listening.
For more information about the problem of software patents, see also our End Software Patents campaign.