This patent also could have been violated:
• Claim 1: a communication process that presents a character whose given name matches the last syllable of his family name.
through the name “Jean Valjean,” but at least this patent would have been easy to avoid.
You might think that these ideas are so simple that no patent office would have issued them. We programmers are often amazed by the simplicity of the ideas that real software patents cover—for instance, the European Patent Office has issued a patent on the progress bar, and a patent on accepting payment via credit cards. These patents would be laughable if they were not so dangerous.
Other aspects of
However, a very broad patent could have made all these issues irrelevant. Imagine a patent with broad claims like these:
• A communication process structured with narration that continues through many pages.
• A narration structure sometimes resembling a fugue or improvisation.
• Intrigue articulated around the confrontation of specific characters, each in turn setting traps for the others.
• Narration that presents many layers of society.
• Narration that shows the wheels of hidden conspiracy.
Who would the patent holders have been? They could have been other novelists, perhaps Dumas or Balzac, who had written such novels—but not necessarily. It isn’t required to write a program to patent a software idea, so if our hypothetical literary patents follow the real patent system, these patent holders would not have had to write novels, or stories, or anything—except patent applications. Patent parasite companies, businesses that produce nothing except threats and lawsuits, are booming nowadays.
Given these broad patents, Victor Hugo would not have reached the point of asking what patents might get him sued for using the character of Jean Valjean, because he could not even have considered writing a novel of this kind.
This analogy can help nonprogrammers see what software patents do. Software patents cover features, such as defining abbreviations in a word processor, or natural order recalculation in a spreadsheet. Patents cover algorithms that programs need to use. Patents cover aspects of file formats, such as Microsoft’s OOXML format. MPEG 2 video format is covered by 39 different US patents.
Just as one novel could run afoul of many different literary patents at once, one program can be prohibited by many different patents at once. It is so much work to identify all the patents that appear to apply to a large program that only one such study has been done. A 2004 study of Linux, the kernel of the GNU/Linux operating system, found 283 different US software patents that seemed to cover it. That is to say, each of these 283 different patents forbids some computational process found somewhere in the thousands of pages of source code of Linux. At the time, Linux was around 1 percent of the whole GNU/Linux system. How many patents might there be that a distributor of the whole system could be sued under?
The way to prevent software patents from bollixing software development is simple: don’t authorize them. This ought to be easy, since most patent laws have provisions against software patents. They typically say that “software per se” cannot be patented. But patent offices around the world are trying to twist the words and issuing patents on the ideas implemented in programs. Unless this is blocked, the result will be to put all software developers in danger.