Free and Open Source Software
by Bram Moolenaar
The EU is currently working on new patent law that makes it possible to obtain a patent for software based inventions. Is this good or bad for us?
Short answer: This is bad for everyone that deals with software, both developers and users.
What is a patent anyway?
If you invest a lot of effort and money in doing an invention, you want protection from others using your invention for free. A patent provides this protection for up to twenty years. During that time others cannot use your invention without your permission.
What is good about patents?
Companies spend millions of euros on research, for example to find a cure for a disease. Without the protection provided by a patent, another company, that did not spend all this money, would be able to sell the cure for much less. The inventor is forced to lower its price below the actual cost. The investor won't make his money back. He can predict this happens, thus will not even start the research. In general, patents are a good method for inventions that require research.
Does that work differently for software?
Some software design does require a lot of research. I have worked on image processing for copying machines, which requires months of work to find just the right algorithm. This resulted in four patents . But if your goal is to do just any invention, it's easy to come up with something new. In a brainstorm session we quickly had a hundred things that we thought were new. Most programmers do their own inventions every day. You might say every piece of software you write from scratch is an invention.
Why don't you have hundreds of patents then?
Applying for a patent requires literature research, study of existing patents, and carefully writing down the text of a patent. Not only does that take a lot of time, it also requires specialized (and expensive) people. The whole process, including the usual registration in Europe, USA and Japan, costs something in the order of 30.000 euro.
I thought software patents were not allowed yet?
They are in the USA. In Europe they are not officially allowed, but by wording the patent application in a special way ("a machine for doing...") you can get them. All four patents in my name are for software . In practice there are thousands of software patents already.
Can you give examples of software patents?
Patents cover inventions such as using a progress bar, placing an order with one click (Amazon), an electronic shopping cart and other obvious things. It is practically impossible to make an Internet shop without infringing on several patents .
Can I get a patent on a good idea?
Patents are supposed to cover only inventions for something new and technical, not ideas. But it's not clear what the difference between an idea and an invention is. Thus you can get a patent on an idea if you write it down in the right way. There already are lots of patents for obvious ideas, such as using a credit card to pay over the Internet. The patent office gets a thousand new applications every day, they can impossibly check every one of them properly. Bad patents do slip through. The final word will be given in court, when someone disputes an already issued patent.
But the new patent law does not allow patenting obvious things!
That is what the writers of the proposed law say. But if you look into what is written down, the meaning of the words is very vague. There is a discussion going on about what the effect of the law is going to be. That is enough proof that the text can be explained in several ways and is not good enough to prevent patenting obvious things.
Why are patents bad for FOSS?
FOSS (Free and Open Source Software) developers do not make (much) money from their work. They cannot afford 30.000 euro to obtain a patent. They cannot pay for a license. Thus they cannot use patented code in their software. Also, the FOSS source code is there for everybody to read, thus keeping the use of patented inventions a secret, like most companies do, is not an option.
Do companies really sue people for using their patented code?
Yes. One well known case is the use of the GIF image format. Unisys requested a thousand dollars from every website that uses GIF images, because they owned a patent on an algorithm that the GIF format requires. Now that a company like Microsoft is losing business to FOSS, they will use their collection of over 3000 patents to defend their position. They would be stupid if they didn't. Their stock holders will insist on using every legal way to defend their market position.
Can I write code that is free of patents?
When you write code you might add something that is covered by a patent. Either because you invented it yourself or when using standard things such as a Tab widget or JPEG images. Inspecting source code and finding parts that are covered by a patent requires a specialist that knows about the existing patents. And even he cannot find everything: When a patent application is made, it is kept a secret for a long time, usually several years. Thus you might write code that appears patent-free today, and next year discover that a patent is issued that causes problems for you. Above that, some patents are described in a very complicated way, it requires a judge to decide if your code falls under it. Generally it is impossible to be sure your source code is patent-free.
What is a better way to protect software?
Copyright law disallows copying and using code that someone else wrote. For most software this sufficiently protects the work that has been invested in writing the software. This doesn't always work, but in practice it is good enough to protect investments. Another method is to keep it secret. That is usable when the software is very hard to find. Less useful for Open Source software though.
Why do patent lawyers want software patents?
Why does a butcher encourage you to eat meat? Because that's what he makes a living from. When software patents are allowed, lawyers will get busy with a lot of court cases and make lots of money. That is why they promote a law that will cause conflicts. And that is why they will deny this statement.
Why do companies want software patents?
Many companies have build up a collection of patents. They can use that to attack others that endanger their business. Or defend themselves when they are being attacked: I use your patent, you use my patent. This is a race, where the smartest and richest companies will win. And they all think they will win.
So, do we want software patents?
No. Developers will be hampered in making good software. Lots of money will go to legal battles, instead of making useful products. In the end it is bad for productivity, economy and freedom. The only people that profit are lawyers.
What can I do?
Protest in every possible way you can. Best is if you directly contact the politicians of the EU, or at least talk to people of their political party. Explain them that FOSS is the way to go for governments, and that software patents is going to cost them lots of money. The FFII is organizing several protests, have a look at their site. 
Georg Greve (FSF Europe) and Hartmut Pilch (FFII) have written an open letter
to all citizens in Europe about software patents:
A very good website with a lot of information and coordination of the protest against software patents is http://www.nosoftwarepatents.com/.
A good summary of the problems with patents in the context of standards has been written by Bruce Perens: "The Problem of Software Patents in Standards".
Two of my software patents:
|||Example webshop, showing the impossibility to avoid running into patents: http://webshop.ffii.org/|
Site of FFII: Many detailed explanations, calls for protest, latest
news, etc.: http://www.ffii.org
maillist for discussions (Dutch): http://lists.ffii.org/mailman/listinfo/nl-parl
This text is a simplification of the issue. Going into details would be very boring. I am not a lawyer, thus I cannot guarantee the statements are exactly right. Some statements are the personal opinion of the author.
Something wrong or missing? Please send a message to < Bram AT nluug.nl >. Last modified: Mon Sep 13 2004 17:01:07 UTC +0200