Tuesday, November 02, 2004

Software Patents

How many people know the origins of letters patent?
They are intended to protect an invention to allow the inventor to make a reasonable profit from their endeavours.
The first recorded patent was granted by King James 1st of England and 6th of Scotland. It was for a map of London.

Why do I oppose the idea of software patents?

Essentially, a computer program makes use of three types of building block -


  • Sequences of instructions, i.e. do something then do something else....

  • Selections, for example “if a = b then do something otherwise do something else”.

  • Loops, such as “while a is not equal to b do something-or-other”.

That's all that lies at the heart of the simplest or most complex software on the planet.
Essentially, all programming makes use of these basic building blocks to create an expression of an idea. As such the resulting code is more akin to a literary work than a new invention and would be covered by existing copyright law. For patent law to be applicable, you have to create an expression of a truly new idea. If it has been done before, a patent application should be refused on the basis of “Prior Art”. Given that programs are based on primitive building blocks, the only area in which I can see any merit in patents for software is if the code is an expression of a new invention such as an encryption algorithm. Even then, it is the encryption method itself that should be protected by patent law rather than the program code.
When patents are applied for just to protect a particular image of an insect, the whole patent process is being misused.
As a software author, I know that my program code and design is protected by existing copyright law.
In the UK at least, there is no need to register the copyright. It is deemed to exist as soon as the code is written.
Sometimes, I have been fortunate enough to have access to other people's code that can be incorporated into one of my programs. Where these building blocks are used, all that they usually ask for is an acknowledgement of their contribution and that they still own the copyright on their code. For example, if I want to access a MySQL database from a program written in Delphi, I use a set of components from Zeos. These are free, developed mainly by some Russian developers, and work like clockwork!
For my kind of work, I have no need of protection by patent law. However, badly thought out law has nasty consequences. If the current proposals going through the European Council of Ministers are approved, it could spell the end of IT development by individuals and small businesses in Europe. Big business will be able to claim patent ownership on just about anything. Without the resources to fight them in the courts, the smaller businesses will simply fold. There will be virtually no competition and quality will become even worse than it is now.
If you are involved in the IT industry or rely on small-scale developers, please take a look at the Foundation for a Free Information Infrastructure UK website and support the campaign.
Incidentally, the original proposals agreed at the European Parliament are pretty well OK. Is it not strange that the more draconian measures only appeared when the Patent Offices became involved? What an opportunity for bureaucratic empire building!