The web site is fairly neutral in its coverage, but what I notice is that they don't stress the threat to Free and Open Source software if this directive is passed as is, or the reasons why it is endangered by the directive, although they mention the issue in passing:
"The right to use other people's software?" Excuse me? Rather, it's the benefit of sharing knowledge with all who wish to share. You know, the way scientists publish their research, so others can verify and build on it. All FOSS wants is to be left alone to continue to do that, without the interference that patents cause. The problem with patents, as Richard Stallman has explained in a talk given in March, 2002, at the University of Cambridge Computer Laboratory, is that they lock up ideas. Copyrights don't cover ideas, just their expression. Here is how Stallman put it:
There are only so many ways you can think of to accomplish something in software, and if you let large monopoly software companies lock up those ideas, you are locked into buying software from that software company for the rest of your life, because they will be able to stop any competitor from developing software that can do what you need done with your computer to function in modern life. Nothing less than that is at stake. Remember: 80%.
I continue to believe that if all of the EU politicos understood clearly that Linux is up against a competitor, a certain proprietary software company known for dirty tricks against its competition which has already foreshadowed a likely attempt to use patents against Linux as an anticompetitive measure, I think many of them would hesitate to pass it. Do they really want to kill Linux? Why would Europe want to enable such a mean-as-a-snake strategy that only benefits a US, not a EU, company?
What is clear when reading the final paragraphs of the EU Parliament web site's summary is that passage of this directive, by fair means or foul, is very likely, unless something unusual happens, because it seems quite difficult for all the pieces to fall into place for the directive not to pass. I didn't say impossible, but look at all the bars that must be leaped over:
I guess this is a good time to republish Linus Torvalds' et al's letter regarding this issue, so everyone is very clear on what the issues are in real life and just how damaging to innovation patents are in the software field. Here's the meat of his November 2004 letter:
And here is the entire Stallman speech, in which he looks at software patents from the point of view of the developer. I think you will find it eye-opening. (You can listen to it, if you prefer.) Note particularly the section on why cross-licensing isn't a viable option for FOSS developers:
Software patents – Obstacles to software development
You might have been
familiar with my work on free software.
This speech is not about that. This speech is about a way of misusing
laws to make software development a dangerous activity. This is
about what happens when patent law gets applied to the field of
It is not about patenting software. That is a very bad way, a
misleading way to describe it, because it is not a matter of patenting
individual programs. If it were, it would make no difference, it would
be basically harmless. Instead, it is about patenting ideas. Every
patent covers some idea. Software
patents are patents that cover software ideas, ideas which you
would use in developing software. That is what makes them a dangerous
obstacle to all software development.
You may have heard people using a misleading term "Intellectual Property".
This term, as you can see, is biased. It makes an assumption that
whatever it is you are talking about, the way to treat it is as a kind
of property, which is one among many alternatives. This term
"Intellectual Property" pre-judges the most basic question in whatever
area you are dealing with. This is not conducive to clear and open
There is an additional problem which has nothing to do with promoting
any one opinion. It gets in the way of understanding even the facts.
The term "intellectual property" is a catch-all. It lumps together
completely disparate areas of law such as copyrights and patents,
which are completely different. Every detail is different. It also
lumps together trademarks which are even more different, and various
other things more or less commonly encountered. None of them has
anything in common with any of the others. Their origins historically
are completely separate. The laws were designed independently. They
covered different areas of life and activities. The public policy
issues they raise are completely unrelated. So, if you try to think
about them by lumping them together, you are guaranteed to come to
foolish conclusions. There is literally no sensible intelligent
opinion you can have about "Intellectual Property" . If you want to
think clearly, don't lump them together. Think about copyrights and
then think about patents. Learn about copyright law and separately
learn about patent law.
To give you some of the biggest differences between copyrights and
patents: Copyrights cover the details of expression of a work.
Copyrights don't cover any ideas. Patents only cover ideas and the use
of ideas. Copyrights happen automatically. Patents are issued by a
patent office in response to an application.
Patents cost a lot of money. They cost even more paying the lawyers to
write the application than they cost to actually apply. It takes
typically some years for the application to get considered, even
though patent offices do an extremely sloppy job of considering.
Copyrights last tremendously long. In some cases they can last as long
as 150 years, where patents last 20 years, which is long enough that
you can outlive them but still quite long by a timescale of a field
such as software.
Think back about 20 years ago when a PC was a new thing. Imagine being
constrained to develop software using only the ideas that were known
Copyrights cover copying. If you write a novel that turns out to be
word-for-word the same with Gone with the Wind and you
can prove you never saw Gone with the Wind, that would be
a defense to any accusation of copyright infringement.
A patent is an absolute monopoly on using an idea. Even if you could
prove you had the idea on your own, it would be entirely irrelevant if
the idea is patented by somebody else.
I hope you will forget about copyrights for the rest of this talk
because this talk is about patents and you should never lump together
copyrights and patents. It is about your understanding of these legal
issues. It is like what would happen in your understanding of
practical chemistry if you confused water and ethanol.
When you hear people describe the patent system, they usually describe
it from the point of view of somebody who is hoping to get a patent-
what it would be like for you to get a patent. What it would be like
for you to be walking down the street with a patent in your pocket so
that every so often you can pull it out and point it out at somebody
and say "Give Me Your Money!". There is a reason for this bias, which
is that most of the people who will tell you about this patent system
have a stake in it, so they want you like it.
There is another reason- the patent system is a lot like a lottery
because only a tiny fraction of patents actually bring any benefit to
those who hold the patents. In fact, The
Economist once compared it to a time consuming lottery. If you
have seen ads for lotteries, they always invite you to think about
winning. They don't invite you to think about losing, even though
losing is far more likely. It is the same with ads for the patent
system. They always invite you to think about being the one who wins.
To balance this bias, I am going to describe the patent system from
the point of view of its victims. That is from the point of view of
somebody who wants to develop software but is forced to contend with a
system of software patents that might result in getting sued.
So, what is the first thing you are going to do after you have had
an idea of what kind of program you are going to write? The first
thing you might want to try to do to deal with the patent system is
find out what patents may cover the program you want to write. This is
impossible. The reason is that some of the patent applications that
are pending are secret. After a certain amount of time they may get
published, like 18 months. But that is plenty of time for you to write
a program and even release it not knowing that there is going to be a
patent and you are going to get sued. This is not just academic. In
1984, the compress program was written, a program for data
compression. At the time, there was no patent on the LZW compression
algorithm which it used. Then in 1985, the US issued a patent on this
algorithm and over the next few years, those who distributed the
compress program started getting threats. There was no way that the
author of compress could have realized that he was likely to get sued.
All he did was use an idea that he found in a journal just like
programmers have always done. He hadn't realized that you could no
longer safely use ideas that you found in a journal.
Let's forget about that problem.. The issued patents are published
by the patent office so you can find the whole long list of them and
see exactly what they say. Of course, you couldn't actually read that
whole list as there are too many of them. In the US, there are
hundreds of thousands of software patents.
There is no way you can keep track of what they are all about. You
would have to try to search for relevant ones. Some people say that
should be easy in these modern days of computers. You could search for
key words and so-on. That one works to a certain extent. You will find
some patents in the area. You won't necessarily find them all however.
For instance, there was a software patent which may have expired by
now on natural order recalculation in spread sheets. This means
basically that when you make certain cells depend upon other cells, it
always recalculates everything after the things it depends on, so that
after one re-calculation, everything is up to date. The first spread
sheets did their recalculation top-down, so if you made a cell depend
on a cell lower down, and you had a few such steps, you had to
recalculate several times to get the new values to propagate upwards.
You were supposed to have things depend upon cells above them. Then
someone realized why don't I do the recalculation so that everything
gets recalculated after the things it depends upon? This algorithm is
known as topological sorting. The first reference to it I could find
was in 1963. The patent covered several dozen different ways you could
implement topological sorting but you wouldn't have found this patent
by searching for spreadsheet. You couldn't have found it by searching
for natural order or topological sort. It didn't have any of those
terms in it. In fact, it was described as a method of compiling
formulas into object code. When I first saw it, I thought it was the
Let's suppose that you got a list of patents. So you want to see know
what you are not allowed to do. When you try studying these patents,
you will discover they are very hard to understand as they are written
in tortuous legal language, whose meaning is very hard to understand.
The things patent offices say often don't mean what they seem to mean.
There was an Australian government study of the patent system in the
1980's. It concluded that aside from international pressure, there was
no reason to have a patent system. It did no good for the public and
recommended abolishing it if not for international pressure. One of
the things they cited was that engineers don't try reading patents to
learn anything, as it is too hard to understand them. They quoted one
engineer saying "I can't recognize my own inventions in patenteese".
This is not just theoretical. Around 1990, a programmer named Paul
Heckel sued Apple claiming that Hypercard infringed a couple of
When he first saw Hypercard, he didn't think it had anything to do
with his patent, with his "Inventions". It didn't look similar. When
his lawyer told him that you could read the patents as covering part
of Hypercard, he decided to attack Apple. When I had a speech about
this at Stanford, he was in the audience, he said "That's not
true, I just didn't understand the extent of my protection!" I
said yes, that's what I said! So, in fact, you will have to spend a
lot of time talking with lawyers to figure out what these patents
prohibit you from doing. Ultimately they are going to say something
like this: "If you do something in here, you are sure to lose, If you
do something here, there is a substantial chance of losing, and if
you really want to be safe, stay out of this area. And, by the way,
there is a sizable element of chance in the outcome of any law suit".
Now, that you have a predictable terrain for doing business(!) what
are you going to do? Well, there are three approaches that you might
try. Any of which is applicable in some cases.
- Avoiding the patent
- Licensing the patent
- Overturning the patent in court.
Let me describe these three approaches and what makes them workable or
1) Avoiding the patent
That means don't use the idea that the patent covers. This can be
easy or hard, depending on what that idea is. In some cases, a feature
is patented. Then you avoid the patent by not implementing that
feature. Then it just matters how important is that feature. In some
cases, you can live without it. A while ago, the users of the word
processor XyWrite got a downgrade in the mail. The downgrade removed a
feature which allowed you to pre-define abbreviations. That when you
typed an abbreviation followed by a punctuation character, it would
immediately replace itself with by some expansion. So that way you
could define the abbreviation for some long phrase, type the
abbreviation then the long phrase will be in your document. They wrote
to me about this because they knew the Emacs editor
has a similar feature. In fact, it had it since the 70's. This was
interesting because it showed me that I had at least one patentable
idea in my life. I knew it was patentable because somebody else
patented it afterward! Actually, they had tried these various
approaches. First they tried negotiating with the patent holder, who
turned out not to negotiate in good faith. Then they looked at whether
they could have a chance of overturning the patent. What they decided
to do was take out the feature. You can live without this feature. If
the word processor lacks only this feature, maybe people will still
use it. But as various features start getting hit, eventually you end
up with a program people think is not very good and they are likely to
reject it. That is a rather narrow patent on a very specific feature.
What do you do with the British Telecom
patent on traversing hyper links together with dial-up access?
Traversing hyper links is absolutely essential to a major use of
computers these days. Dial-up access is also essential. How do you do
without this feature, which, by the way, isn't even one feature, it is
really a combination of two just arbitrarily juxtaposed. It is rather
like having a patent on a sofa and television in the same room.
Sometimes the idea that's patented will be so broad and basic that
it basically rules out an entire field. For instance, the idea of
Public Key Encryption which was patented in the US. The patent expired
in 1997. Until then, it largely blocked the use of Public Key
Encryption in the US. A number of programs that people started to
develop got crushed. They were never really available because the
patent holders threatened them. Then, one program got away. The
program PGP, which initially was
released as free software. Apparently, the patent holders by the time
they got around to attacking, realized they might get too much bad
publicity. So they imposed restrictions making it for non-commercial
use only, which meant it couldn't catch on too much. So they greatly
limited the use of Public Key Encryption for a decade or more. There
was no way around that patent. There was nothing else you could do
Sometimes a specific algorithm gets patented. For instance, there is a
patent on an optimized version of the Fast Fourier Transform. It runs
about twice as fast. You can avoid that by using the ordinary FFT in
your program. That part of your program will take twice as long. Maybe
that doesn't really matter, maybe that is a small part of the
program's running time. Maybe if it is twice as slow, you won't really
notice. Or maybe that means your program won't run at all because it
will take twice real time to do its job. The effects vary.
In some cases, you can find a better algorithm. This may or may not
do you any good. Because we couldn't use compress, in the GNU project
we started looking for some other algorithm for data compression.
Somebody wrote to us saying he had one. He had written a program and
he decided to contribute it to us. We were going to release it. Just
by chance, I happened to see a copy of the New York Times, It happened
to have the weekly patent column in it. I didn't see a copy of the
Times more than once every few months. So I looked at it and it said
that somebody had got a patent for "Inventing a new method of
compressing data". I figured I better take a look at this patent. I
got a copy and it turned out to cover the program that we were just a
week away from releasing. That program died before it was born. Later
on we did find another algorithm which was un-patented. That became
the program gzip, which is
now effectively the de-facto standard for data compression. As an
algorithm to use in a program for data compression, it was fine.
Anyone who wanted to do data compression could use gzip instead of
compress. But the same patented LZW compression algorithm was also
used in image formats such as the GIF format. But
there because the job people wanted to do was not to simply compress
data but to make an image that people could display with their
software, it turned out extremely hard to switch over to a different
algorithm. We have not been able to do it in 10 years! Yes, people use
the gzip algorithm to define another image format, once
people started getting threatened with law suits for using GIF files.
When we started saying to people stop using GIF files, switch over to
this, people said "We can't switch. The browsers don't support the new
format yet". The browser developers said "We're not in a hurry about
this. After all, nobody is using this file format".
In effect, society had so much inertia in the use of the GIF format,
we have not been able to get people to switch. Essentially, the
community's use of the GIF format is still pushing sites into using
GIF format with the result that they are vulnerable to these threats.
In fact, the situation is even more bizarre. There are in fact two
patents covering the LZW compression algorithm. The patent office
couldn't even tell that they were issuing two patents on the same
thing. They couldn't keep track. There is a reason for this. It takes
a while of study of these two patents to see that they really cover
the same thing.
If they were patents on some chemical process, it would be much
easier. You could see what substances were being used, what the inputs
were, what the outputs were, which physical actions are being taken.
No matter how they are described, you'd see what they were and then
you would see that they are similar.
If something is purely mathematical, there are many ways of
describing it, which are a lot more different. They are not
superficially similar. You have to really understand them to see they
are talking about the same thing. The patent office doesn't have time.
The US Patent Office as of a few years ago, was spending on average 17
hours per patent. This is not long enough to think carefully about
them, so, of course they make mistakes like that. In fact, I told you
about the program that died before it was born. That algorithm also
had two patents issued for it in the US. Apparently, it is not that
Avoiding the patents may be easy, may be impossible. It may be easy
but it makes your program useless. It varies depending on the
Here is another point I should mention: Sometimes a company or
consortium can make a format or protocol the de-facto standard. Then,
if that format or protocol is patented, that is a real disaster for
you. There are even official standards that are restricted by patents.
There was a big political uproar last September when the World Wide Web
Consortium was proposing to start adopting standards that were
covered by patents. The community objected so they reversed
themselves. They went back to insisting that any patents had to be
freely implementable by anyone and that the standards had to be free
for anyone to implement. That is an interesting victory. I think that
was the first time any standards body has made that decision. It is
normal for standards bodies to be willing to put something in a
standard which is restricted by patents and people are not allowed to
go ahead and implement it freely. We need to go to other standards
bodies and call on them to change their rules.
2) Licensing the patent
The second possibility instead of avoiding the patent is to get a
license for the patent. This is not necessarily an option. The patent
holder does not have to offer you a license, it is not required. 10
Years ago, the league for programming freedom got a letter asking for
help from somebody whose family business was making gambling machinery
for casinos and they used computers back then. He received a threat
from another company that said we have the patents. You are not
allowed to make these things. Shut down.
I looked at that patent. It covered having a number of computers on a
network for playing games such that each computer supported more than
one game and allowed you to play more than one game at a time.
You will find patent office really think that there is something
brilliant about doing more than one of anything. They don't realize
that in computer science, that's the most obvious way to generalize
anything. You did it once and now you can do it any number of times,
you can make a subroutine. They think that if you do anything more
than once, that somehow means you are brilliant and that nobody can
possibly argue with you and that you have the right to boss them
around. Anyway, he was not offered a license. He had to shut down. He
couldn't even afford really to go to court. I would say that
particular patent was an obvious idea. It is possible that a judge
might have agreed, but we will never know because he could not afford
to go to court.
However, a lot of patent holders do offer licenses. They often charge
a lot of money for that though. The company licensing the natural
order recalculation patent was demanding 5% of the gross sales of
every spreadsheet in the US. I am told that was the cheap pre-lawsuit
price. If you actually made them sue you and they won, they'd demand
more. You might be able to afford that 5% for licensing this one
patent, but what if you need to license 20 different patents to make
the program? Then all the money you take in goes on patents. What if
you need to license 21 patents?
People in business told me that practically speaking, 2 or 3 of them
would make any business unfeasible.
There is a situation where licensing patents is a very good
solution. That is if you are a multinational mega-corporation. Because
these companies own a lot of patents, and they cross-license with each
other. That way, they escape most of the harm that the patent system
does and they only get the good. IBM published an article
in Think magazine. I believe it was issue No. 5 of 1990 on IBM's
patent portfolio, which said that IBM got two kinds of benefit from
its 9000 US patents. I believe the number is larger today. These were
first, collecting royalties and second, getting access to the patents
of others. They said that the latter benefit is an order of magnitude
greater. So the benefit that IBM got from being allowed to use the
ideas that were patented by others was 10 times the direct benefit IBM
could get from licensing patents. What does this really mean?
What is the benefit that IBM gets from this access to the patents of
others? It is basically the benefit of being excused from the trouble
that the patent system can cause you. The patent system is like a
lottery. What happens with any given patent could be nothing, could be
a windfall for some patent holder or a disaster for everyone else. But
IBM being so big, for them, it averages out. They get to measure the
average harm and good of the patent system. For them, the trouble of
the patent system would have been 10 times the good. I say would have
been because IBM through cross-licensing avoids experiencing that
trouble. That trouble is only potential. It doesn't really happen to
them. But when they measure the benefits of avoiding that trouble,
they estimate it as 10 times the value of the money they collect from
This phenomenon of cross-licensing refutes a common myth, the myth of
the starving genius. The myth that patents "protect" the "small
inventor". Those terms are propaganda terms. You shouldn't use them.
The scenario is like this: Suppose there is a brilliant designer of
whatever of whatever. Suppose he has spent years starving in the attic
designing a new wonderful kind of whatever and now wants to
manufacture it and isn't it a shame the big companies are going to go
into competition with him, take away all the business and he'll
"starve". I will have to point out that people in high tech fields are
not generally working on their own and that ideas don't come in a
vacuum, they are based on ideas of others and these people have pretty
good chances of getting a job if they need to these days. So this
scenario, the idea that a brilliant idea came from this brilliant
person working alone is unrealistic and the idea that he is in danger
of starving is unrealistic. But it is conceivable that somebody could
have an idea and this idea along with 100 or 200 other ideas can be
the basis of making some kind of product and that big companies might
want to compete with him. So let's see what happens if he tries to use
a patent to stop them. He says "Oh No, IBM. You cannot compete with
me. I've got this patent. IBM says let's see. Let's look at your
product. Hmmm. I've got this patent and this one and this one and this
one and this one and this one, which parts of your product infringe.
If you think you can fight against all of them in court, I will just
go back and find some more. So, why don't you cross license with me?"
And then this brilliant small inventor says "Well, OK, I'll cross
license". So he can go back and make these wonderful whatever it is,
but so can IBM. IBM gets access to his patent and gets the right to
compete with him, which means that this patent didn't "protect" him at
all. The patent system doesn't really do that.
The mega-corporations avoid, for the most part, the harm of the patent
system. They see mainly the good side. That is why they want to have
software patents. They are the ones who will benefit from it. But if
you are a small inventor or work for a small company, the small
company is not going to be able to do this. They try. The problem is
that they cannot get enough patents to do this. Any given patent is
pointing in a certain direction. So if a small company has patents
pointing there, there and there and somebody over there points a
patent at them and says give me your money, they are helpless. IBM can
do it because with these 9000 patents, they are pointing everywhere,
no matter where you are, there is probably an IBM patent pointing at
you. So IBM can almost always make you cross license. Small companies
can only occasionally make someone cross-license. They will say they
want patents for defensive purposes but they won't get enough to be
able to defend themselves.
There are cases where even IBM cannot make someone cross-license. That
is when there is a company whose sole business is taking a patent and
squeezing money out of people. The company that had the natural order
recalculation patent was exactly such a company. Their sole business
was to threaten to sue people and collect money from people who were
really developing something.
There are no patents on legal procedures. I guess the lawyers
understand what a pain it would be to have to deal with the patent
system themselves. The result is that there is no way to get a patent
to make that company cross license with you. So they go around
squeezing everyone. But I guess companies like IBM figure that is part
of the price of doing business so they can live with it.
So that is the possibility of licensing a patent which may or may not
be possible and you may or may not be able to afford it.
3) Overturning a patent in court
Supposedly, in order to be patented, something has to be new,
useful and unobvious. That is the language used in the US. I think
other countries have different language which is pretty much
equivalent to it. Of course, when the patent office gets into the
game, they start interpreting new and unobvious. New turns out to mean
we don't have it in our files and unobvious tends to mean unobvious to
someone with an IQ of 50.
Somebody who studies most of the software patents issued in the US,
or at least he used to, I don't know if he can still keep up with
them, said that 90% of them wouldn't pass the crystal city test, which
meant if the people in the patent office went outside to the news
stand and got some computer magazines, they would see that these ideas
are already known.
The patent office does things that are so obviously foolish, you
wouldn't even have to know the state of the art to see they are
foolish. This is not limited to software. I once saw the famous
Harvard mouse patent which was obtained after Harvard genetically
engineered a strain of mouse with a cancer causing gene. The cancer
causing gene was already known and was inserted using known techniques
into an already existing strain of mouse. The patent they got covered
inserting any cancer causing gene into any kind of mammal using any
method whatsoever. You don't have to know anything about genetic
engineering to realize that is ridiculous.
I am told that this over claiming is normal practice and that the
US Patent Office sometimes invited patent applicants to make their
claims broader. Basically make the claims broader until you think they
are running into something else that's unambiguous prior art. See how
much land grab in mental space you can get away with.
When programmers look at a lot of software patents, they say this
is ridiculously obvious! Patent bureaucrats have all sorts of excuses to justify
ignoring what programmers think. They say "Oh! but you have to
consider it in terms of the way things were 10 or 20 years ago". Then
they discovered that if they talk something to death then you can
eventually lose your bearings. Anything can look unobvious if you
tear it apart enough, analyze it enough. You simply lose all standard
of obviousness or at least lose the ability to justify any standard
of obvious or unobvious. Then, of course, they describe the patent
holders as brilliant inventors, all of them. Therefore we can't
question their entitlement to power over what we can do.
If you go to court, the judges are likely to be a little more
stringent about the idea of what is obvious or not. But the problem is
that it costs millions of dollars to do that. I heard of one patent
case, the defendant I remember was Qualcomm, and I believe the ruling
was ultimately 13 million dollars of which most went to pay the
lawyers on both sides. There were a few million dollars left over for
the plaintiff, because they lost.
To a large extent, the question of the validity of a patent will
depend on historical accidents. Lots of historical accidents such as
precisely what was published when and which of those things somebody
manages to find. Which of them didn't get lost, precise dates and
so-on. Many historical accidents determine whether a patent is valid.
In fact, it is a weird thing that the British Telecom
following hyper links together with telephone access patent, I
think, was applied for in 1975. I think it was in 1974 that I
developed the info package for the first time. The info package allows
you to traverse hyper links and people did use telephones to dial up
and access the system. So in fact, I produced a piece of prior art for
that patent. So that is the second patentable idea I have had in my
life, but I don't think I have any proof of that. I didn't think this
was interesting enough to publish it. After all, the idea of following
hyper links I got from the demo of Engelbart's editor. He is the one
who had an idea which was interesting to publish. What I done I called
poor mans hypertext as I had to implement it in the context of TECO.
It was not as powerful as his hypertext but it was at least useful for
browsing documentation, which it all it was meant for, and as for
there being dial-up access to the system, well, there was, but it
didn't occur to me that the one had anything particular to do with the
other. I wasn't going to publish a paper saying "Oh! I implemented
this poor man's hypertext, and guess what! There are dial-up lines on
the computer too!" I suspect there is no way to tell precisely on what
dates I implemented this. And was it published in any sense? Well, we
invited guests to come in across the ARPAnet, and log in on our
machine, so they could have browsed documentation using info and seen
the thing. If they had asked us, they would have found we have dial-up
access. But as you can see, historical accident determines whether you
have prior art.
Now of course, there is a publication made by Engelbart about
hypertext, which they are going to show. I don't think it says
anything about having dial-ups on the computer however, so whether it
will suffice is not clear. So, this is an option, the possibility of
going to court to overturn the patent.
Because of the expense, it is often out of the question even if you
can find solid prior art that ought to be sufficient to overturn the
patent. As a result, an invalid patent, a patent that nominally
shouldn't have existed (but in fact lots and lots of them do) is a
dangerous weapon. If somebody attacks you with an invalid patent, that
can really cause a lot of trouble for you. You might be able to bluff
them away by showing them the prior art. It depends upon whether they
can get scared off that way or they might think "well, you are just
bluffing, we figure you can't really go to court, you can't afford it
so we'll sue you anyway".
All of these three possibilities are things that sometimes you can
manage to use, but often you can't. So you have to face patent after
patent after patent. Each time you may be able to find one of these
three possibilities you can use, then there is another patent then
another and another. It gets like crossing a minefield. Each step you
take, each design decision, probably won't step on a patent, so you
can take a few steps and probably there won't be an explosion. But the
chance you will get all the way through the minefield and get to
develop the program you want to develop without ever stepping on a
patent gets less and less as the program gets bigger.
Now, people used to say to me, "Well, there are patents in other
fields, why should software be exempt?". Note the bizarre assumption
in there that somehow we are all supposed to suffer through the patent
system. It is like saying "Some people get cancer. Why should you be
exempt?" As I see it, each person who doesn't get cancer is good. But
there is, behind that, a less biased question, which is a good
question which is: Is software different from other fields? Should
patent policy be different in different fields? If so, why?
Let me address that question: patents relate to different fields
differently because in various fields patents relate to products
On one extreme we have pharmaceuticals where a given chemical formula
would be patented, so that patent covers one and only one product.
Some other product wouldn't be covered by the existing patent. If
there is to be a patent for this new product, the patent holder would
be whoever developed the new product.
That fits in with the naive idea of the patent system that we have,
that if you are designing a new product, you are going to get "The
Patent". The idea that there is one patent per product and that it
covers the idea of that product. In some fields it is closer to being
true. In other fields it is further from being true. This is because
software packages are usually very big. They use many different ideas
in a new combination. If the program is new and not just copied, then
it is probably using a different combination of ideas combined, of
course, with newly written code, because you can't just magically say
the names of these ideas and have them work. You have to implement
them all. You have to implement them all in that combination. The
result is that even when you write a program, you are using lots of
different ideas, any one of them might be patented by somebody. A pair
of them may be patented as a combination by somebody. There might be
several different ways of describing one idea which might be patented
by various different people. So there are possibly thousands of
things, thousands of points of vulnerability in your program, which
might be patented by somebody else already. This is why software
patents tend to obstruct the progress of software- the work of
software development. If it were one patent-one product, then these
patents wouldn't obstruct the development of products because if you
developed a new product, it wouldn't be patented by somebody else
already. But when one product corresponds to many different ideas
combined, it becomes very likely your new product is going to be
patented by somebody else already. In fact, there is economic research
now showing just how imposing a patent system on a field where there
is incremental innovation, can retard progress. You see, the advocates
of software patents say "well yes, there may be problems but more
important than any problems, the patents must promote innovation and
that is so important it doesn't matter what problems you cause". Of
course, they don't say that out loud because it is ridiculous but
implicitly they want you to believe that as long as it promotes
progress, that outweighs any possible cost. But actually, there is no
reason to believe it does promote progress. We now have a model
showing precisely how patents can retard progress. The case where that
model can fit describes the software field pretty well; Incremental
Why is software on that extreme of the spectrum? The reason is that in
software we are developing idealized mathematical objects. You can
build a complicated castle and have it rest on a thin line and it will
stay up because it doesn't weigh anything. In other fields, people
have to cope with the perversity of matter- Of physical objects.
Matter does what it is going to do. You can try to model it and if the
actual behavior doesn't fit the model then tough on you, because the
challenge is to make physical objects that really work.
If I wanted to put an 'If' statement in a 'While' statement, I
don't have to worry about whether the 'If' statement will oscillate at
a certain frequency and rub against the 'While' statement and
eventually they will fracture. I don't have to worry whether it will
oscillate at a certain higher frequency and induce a signal in the
value of some other variable. I don't have to worry about how much
current that 'If' statement will draw and whether it can dissipate the
heat there inside that while statement. Whether there will be a
voltage drop across the while statement that will make the 'If'
statement not function. I don't have to worry that if i run this
program in a salt water environment that the salt water may get in
between the 'If' statement and the 'While' statement and cause
corrosion. I don't have to worry when I refer to the value of a
variable whether I am exceeding the fan-out limit by referring to it
20 times. I don't have to worry, when I refer to the variable, how
much capacitance it has and whether there has been sufficient time to
charge up the value. I don't have to worry when I write the program,
about how I am going to physically assemble each copy and whether I
can manage to get access to put that 'If' statement inside the 'While'
statement. I don't have to worry about how I am going to gain access
in case that 'If' statement breaks, to remove it and replace it with a
new one. So many problems that we don't have to worry about in
software. That makes it fundamentally easier. It is fundamentally
easier to write a program than to design a physical object that's
going to work. This may seem strange because you have probably heard
people talking about how hard software is to design and how this is a
big problem and how we are going to solve it. They are not really
talking about the same question as I am. I am comparing physical and
software systems of the same complexity, the same number of parts. I
am saying the software system is much easier to design than the
physical system. But the intelligence of people in these various
fields is the same, so what do we do when we are confronted with an
easy field? We just push it further! We push our abilities to the
limit. If systems of the same size are easy, let's make systems which
are ten times as big, then it will be hard! That's what we do! We make
software systems which are far bigger in terms of number of parts than
physical systems. A physical system whose design has a million
different pieces in it is a mega project. A computer program whose
design has a million pieces in it, is maybe 300,000 lines, a few
people will write that in a couple of years. That is not a
particularly giant program. GNU Emacs now has several million pieces
in its design I think. It has a million lines of code. This is a
project done with essentially no funding whatsoever. Mostly done by
people in their spare time.
There is another big saving. If you have designed a physical product,
the next thing you have to do is design the factory to make it. To
build this factory may cost millions or tens of millions whereas to
make copies of the program, you just have to type 'copy'. The same
copy command will copy any program. You want copies on CD then fine.
You burn a master CD and send it off to a CD plant. They will use the
same equipment which will copy any contents on a CD. You don't have to
build a factory to make this product. There is tremendous
simplification and tremendous reduction in costs of designing things.
The result is, say for an automobile company, who will spend 50
million dollars to build a factory, to build a new model of auto, they
can hire some lawyers to cope with patent license negotiations. They
can even cope with a law suit if they wanted to. To design a program
of the same complexity may cost 50 thousand or 100 thousand dollars.
By comparison, the cost of dealing with the patent system is crushing.
Or actually designing a program with the same complexity as the
mechanical design of an auto is probably a month's work. How many
parts does an auto have.. that is if it is an auto which doesn't have
computers in it. There are not that many parts. That is not to say
designing a good one is easy but just that there are not that many
different things in it.
The result is software really is different from other fields because
we are working with mathematical stuff designing something is far, far
easier and the result is that we regularly make systems which are
much, much larger and do so with just a few people. The result is that
the patent system then instead of being close to one product, one
patent, we are in a system where one product involves many, many ideas
which could be patented already.
The best way to explain it by analogy is with symphonies. A
symphony is also long and has many notes in it, and probably uses many
musical ideas. Imagine if the governments of Europe in the 1700's had
decided they wanted to promote the progress of symphonic music by
establishing a European Musical Patent Office that would give patents
for any kind of musical ideas which you could state in words. Then
imagine it is around 1800 and you are Beethoven and you want to write
a symphony. You will find that getting your symphony so that it
doesn't infringe any patents is going to be harder than writing a good
symphony. When you complain about this, the patent holders would say
"Ah Beethoven, you are just bitching because you have no ideas of your
own. All you want to do is rip off our inventions". Beethoven, as it
happens, had a lot of new musical ideas but he had to use a lot of
existing musical ideas in order to make recognizable music. In order
to make music that listeners could possibly like, that they could
recognize as music. Nobody is so brilliant that he can re-invent music
and make something that people would want to listen to. Pierre Boulez said
he would try to do that, but who listens to Pierre Boulez? Nobody is
so brilliant he can re-invent all of computer science, completely new.
If he did, he would make something that the users would find so
strange that they wouldn't want to use it. If you look at a word
processor today, you would find, I think, hundreds of different
features. If you develop a nice new innovative word processor, that
means there are some new ideas in it, but there must be hundreds of
old ideas in it. If you are not allowed to use them, you cannot make
an innovative word processor.
Because the work of software development is so big, the result is that
we don't need any artificial scheme to incentivize new ideas. You just
have people writing software and they will have some new ideas. If you
want to write a program and you want to make it good, so some ideas
will come to you and some you will see a way to use. What used to
happen, because I was in the software field before there were software
patents, was most of the developers would publish any new ideas that
they thought were noteworthy, that they thought that they might get
any credit or respect for. The ideas that were too small or not
impressive enough, they would not publish because that would be silly.
Now the patent system is supposed to encourage disclosure of ideas. In
fact, in the old days, nobody kept the ideas secret. They kept the
code secret, it's true. The code, after all, represented the bulk of
the work. They would keep the code secret and publish the ideas so
that way the employees would get some credit and feel good. After
software patents, they still kept the code secret and they patented
the ideas, so in fact, disclosure has not been encouraged in any
The same things are kept secret now as what were kept secret before,
but the ideas which used to be published so that we could use them are
now likely to be patented and off-limits for 20 years. What can a
country do to change this? How should we change the policy to solve
There are two places you can attack it. One is the place where patents
are being applied for and issued, in the patent office. The other is
when patents are being applied- that is, the question of what does a
Changing the criteria for issuing patents or simply keeping a good
criteria for issuing patents, can work in a country which has not
authorized software patents before, for instance, for the most part,
in Europe. Simply to clearly re-enforce the European Patent Office's
rules which say that software is not patentable. This is a good
solution for Europe. Europe is now considering a directive on software
patents. The directive I suppose may be broader than that but one of
its important implications is for software patents. Simply by
modifying this to say software ideas cannot be patented will keep the
problem out of Europe for the most part, except for some countries
that may have admitted the problem on their own. Unfortunately one of
them being the UK. Unfortunately for you.
That approach won't work in the US. The reason is that the US
already has large numbers of software patents and any change in the
criteria for issuing patents won't get rid of the existing ones. In
fact, these patents are not officially labeled as software patents. I
say software patents but what do I really mean? Patents which might
potentially apply to software. Patents which might potentially get you
sued for writing software. The patent office doesn't divide patents
into software patents and other patents. So, in fact, any patent might
conceivably get you sued for writing software if it could apply to
some software. So in the US the solution would have to be done
through changing the applicability, the scope of patents saying that a
pure software implementation running on general purpose computer
hardware which does not in itself infringe the patent, is not covered
by any patent and you cannot get sued for it. That is the other kind
The first kind of solution, the solution that operates on what types
of patents can be valid is a good solution for Europe to use.
When the US started having software patents, there was no political
debate. In fact, nobody noticed. The software field, for the most
part, didn't even notice. There was a supreme court decision in 1981
which considered a patent on a process for curing rubber. The ruling
was that the fact that the apparatus included a computer and a program
as part of the process to cure the rubber did not make it
un-patentable. The appeals court the next year which considers all
patent cases, reversed the qualifiers. They said the fact that there
is a computer and a program in this makes it patentable. The fact that
there is a computer and program in anything makes it patentable. This
is why the US started having business procedure patents. This is
because the business procedures were carried out on a computer and
that made them patentable. So this ruling was made and I think the
natural order recalculation patent was one of the first or might have
been even the first. Throughout the 80's we didn't know about this.
It was around 1990 that programmers in the US started to become
aware that they were faced with a danger from software patents. So i
saw how the field worked before and how the field worked after. I saw
no particular speed up in progress after 1990. There was no political
debate in the US, but in Europe there has been a big political debate.
Several years ago there was a push to amend the Munich
treaty that established the European Patent
Office. It has a clause
saying that software is not patentable. The push was to amend that
to start allowing software patents. But the community took notice of
this. It was actually free software developers and free software users
who took the lead.
We are not the only ones threatened by software patents. All software
developers are threatened by software patents and even software users
are threatened by software patents. For instance, Paul Heckel, when
Apple wasn't very scared of his threats, he threatened to start suing
Apple's customers. Apple found that very scary. They figured they
couldn't afford to have their customers being sued like that, even if
they would ultimately win. So the users can get sued too, either as a
way of attacking a developer or just as a way to squeeze money out of
them on their own or to cause mayhem.
All software developers and users are vulnerable. But it was the
free software community in Europe that took the lead in organizing
opposition. In fact, twice now the countries that govern the European
Patent Office voted not to amend that treaty. Then the EU took a hand
and the directorates of the EU were divided on the issue.
The one whose job is to promote software is against software patents
it seems. They were not in charge with this issue. It is the open
market directorate who is in charge and is lead by somebody who is in
favor of software patents. They basically disregarded public opinion
which has been expressed to them. They have proposed a directive to
allow software patents. The French government has already said they
are against it. People who are working in various other governments in
Europe to oppose software patents and it is vital to start doing so
According to Hartmut Pilch,
who is one of the leaders in the European struggle against software
patents, the main impetus comes from the UK Patent office. The UK Patent
Office is simply biased in favor of software patents. It had a public
consultation and most of the responses were opposed to software
patents. They then wrote a report saying that people seem to be
content with them, completely disregarding the answers. You see, the
free software community said please send the answers to them and
please send your answers to us too and we'll publish them. So they
published these answers which were generally opposed. You'd have never
guessed that from the report that the UK Patent Office published.
They (the UK Patent and Trademark Office) use a term that they call
technical effect. This is a term which can stretch tremendously. You
are supposed to think it means a program idea would only be patentable
if it relates closely to specific physical activities. If that is the
interpretation, it would mostly solve the problem. If the only
software ideas that can be patented were those that really did relate
to a particular technical, specific physical result that you might
have patented if you didn't use a program, that would be OK. The
problem is that you can stretch that term. You can describe the result
you get by running any program as a physical result. How does this
physical result different from every other? Well it is as a result of
this computation. The result is that the UK Patent Office is proposing
something that looks like it leads to mostly solving the problem and
really gives carte blanche for patenting almost anything.
The people in the same ministry are also involved in the copyright
issue which really has nothing to do with software patents except that
it is being handled by the same people. It is a question of
interpreting the recent EU copyright directive, a horrible law like
the Digital Millennium Copyright
Act in the US. But there is some latitude for countries to decide
how to implement it. The UK is proposing the most draconian possible
way of implementing this directive. You could greatly reduce the harm
that it does by implementing it properly. The UK wants to maximize the
tyrannical effect of this directive. It seems there is a certain
group, the Department of Trade and
Industry, who need to be reined in. It is necessary to put a check
on their activities. Stop their creating new forms of power.
Software patents tie up every software developer and every computer
user in a new in a new form of bureaucrat. If the businesses that use
computers realized how much trouble this can cause for them, they
would be up in arms and I am sure they can stop it. Business doesn't
like being tied up in bureaucracy.
Sometimes, of course, it serves an important purpose. There are some
areas where we wish the UK government did a more careful job in tying
certain businesses up in bureaucracy, like when it involves moving
animals around. But in some cases, when it doesn't serve any purpose
except to create artificial monopolies so that somebody can interfere
with software development, squeeze money out of developers and users,
then we should reject it.
We need to make management aware of what software patents will do
to them. Get their support in fighting against software
patents in Europe.
The battle is not over. It still can be won.
Copyright © 2002 Richard Stallman.
Verbatim copying and
distribution of this entire speech is permitted provided this notice