Software patents have been controversially discussed in significant depth and breadth for over 10 years. Read the following two papers to hear reasonable arguments for and against software patents:
Against: League for Programming Freedom. Against Software Patents. February, 1991.
For: Paul Heckel. Debunking the Software Patent Myths. CACM, June, 1992.
Both statements are worthwhile to read and I am not going to add much more to it than a few points:
The main problem with current software patents is that the claims are too broad, too simple, too obvious. For example, the XOR (4,197,590), FAQ (5,842,221), and the Tab (5,546,528 ) patents are examples of things that are so simple and obvious, noone would seriously consider publishing these in a journal.
Without exaggerating and very seriously, I estimate that every information technology designer (programmer, data modeler, user interface designer, etc.) will regularly invent at least one idea per week that could be brought forth as such a patent. (See for yourself in the U.S. Patent Office database.) But we don't because
We have more important things to do. (We could not produce anything if we would take the time to write longish patent claims and deal with the bureaucracy for every of our ideas. If each one of us had our own patent lawyer digging in our waste-paper basket, we might be able to do that.)
Patent filing fees alone are prohibitive for researchers, non-profit institutions, and open source developers (e.g., filing a patent and maintaining it over the 20 years costs about 2000 U.S. dollars with the reduced rate granted to small entities, not counting the fees to a patent attorney or agent.)
We don't consider ourselves a genius just because we take some real-life metaphor of communication, file folder, or shopping cart, and implement that in our software. Indeed, most patent claims for software are probably independently reinvented somewhere in the world several times each week.
It is not the single idea that makes a good software product but the assemblage of many good ideas into a complete useful product. A software patent that makes many claims on the individual ideas puts at risk the essence of good information technology design: applying many common sense ideas. Therefore individually generalizeable claims on algorithms should not be patentable.
What might be patentable as software could be the entirity of a system. I can sympathize that an expensive software development project should be able to reap its revenue and not be cut back on it because some competitor develops a system that does essentially the same thing in essentially the same way.
The reason why I am spending time writing this, and the reason why you should think about this problem, is that we are constantly infringing on patents. We could not write software if we had to research the patent office's data base for any granted claim that we may just have reinvented. So we either have to take the risk of being subject to litigation (the attorney fees of 250/hr alone would exceed my budget) or stop putting our heart and time in designing information technology.
Question: How much different does your design have to be to not infringe on a similar patent? It may be that the required difference is minor [LPF], which could actually be a relief.
As an alternative to filing expensive patents, you may consider filing your ideas with the Software Patent Institute so that at least your ideas are considered by the patent office as prior work when someone else files something similar. But it is still tedious.
Question: What are the chances of the software patent issue to be resolved in general? I don't see the light at the end of the tunnel, but I'd like to hear if you have reason to be hopeful.
I'd like to hear from you.
Gunther Schadow <gunther at gusw dot net>