Richard Stallman -- The Anatomy of a Trivial PatentMay 26, 2000, 19:06 (56 Talkback[s])
(Other stories by Richard Stallman)
WEBINAR: On-demand Event
Replace Oracle with the NoSQL Engagement Database: Why and how leading companies are making the switch REGISTER >
Programmers are well aware that many of the software patents cover laughably obvious ideas. Yet the patent system's defenders often argue that these ideas are nontrivial, obvious only by hindsight. And it is surprisingly difficult to defeat them in debate. Why is that?
One reason is that any idea can be made look complex when analyzed to death. But another reason is that these trivial ideas often look quite complex as described in the patents themselves. The patent system's defenders can point to the complex description and say, "How can anything this complex be obvious?"
I will use an example to show you how. Here's claim number one from US patent number 5,963,916, applied for in October 1996:
1. A method for enabling a remote user to preview a portion of a pre-recorded music product from a network web site containing pre-selected portions of different pre-recorded music products, using a computer, a computer display and a telecommunications link between the remote user's computer and the network web site, the method comprising the steps of:That sure looks like a complex system, right? Surely it took a real clever guy to think of this? No, but it took cleverness to make it seem so complex. Let's analyze where the complexity comes from:
1. A method for enabling a remote user to preview a portion of a pre-recorded music product from a network web site containing pre-selected portionsThat states the biggest part of their idea. They have selections from certain pieces of music on a server, so a user can listen to them.
of different pre-recorded music products,This emphasizes their server stores selections from more than one piece of music.
It is a basic principle of computer science is that if a computer can do a thing once, it can do that thing many times, on different data each time. Many patents pretend that applying this principal to a specific case makes an "invention".
using a computer, a computer display and a telecommunications link between the remote user's computer and the network web site,This says they are using a server on a network.
wherein the network web site comprises (i) a central host server coupled to a communications networkThis informs us that the server is on the net. (That is typical of servers.)
for retrieving and transmitting the pre-selected portion of the pre-recorded music product upon request by a remote userThis repeats the general idea stated in the first two lines.
and (ii) a central storage device for storing pre-selected portions of a plurality of different pre-recorded music products;They have decided to put a hard disk (or equivalent) in their computer and store the music samples on that. Ever since around 1980, this has been the normal way to store anything on a computer for rapid access.
Note how they emphasize once again the fact that they can store more than one selection on this disk. Of course, every file system will let you store more than one file.
Now you can see how they padded this claim to make it into a complex idea: they included important aspects of what computers, networks, web servers, and web browsers do. This complexity, together with two lines which describe their own idea, add up to the so-called "invention" for which they received the patent.
This example is typical of software patents. Even the occasional patent whose idea is nontrivial has the same sort of added complication.
Now look at a subsequent claim:
3. The method of claim 1 wherein the central memory device comprises a plurality of compact disc-read only memory (CD-ROMs).What they are saying here is, "Even if you don't think that claim 1 is really an invention, using CD-ROMs to store the data makes it an invention for sure. An average system designer would never have thought of that."
Now look at the next claim:
4. The method of claim 1 wherein the central memory device comprises a RAID array drive.A RAID array is a group of disks set up to work like one big disk, with the special feature that even if one of the disks in the array has a failure and stops working, all the data is still available on the other disks in the group. Such arrays have been commercially available since long before 1996, and are a standard way of storing data for high availability. But these brilliant inventors have patented the use of a RAID array for this particular purpose.
Trivial as it is, this patent would not necessarily be found legally invalid if there is a lawsuit about it. Not only the US Patent Office but the courts as well tend to apply a very low standard when judging whether a patent is "unobvious". This patent might pass muster, according to them.
What's more, the courts are reluctant to overrule the Patent Office, so there is a better chance of getting a patent overturned if you can show a court prior art that the Patent Office did not consider. If the courts are willing to entertain a higher standard in judging unobviousness, it helps to save the prior art for them. Thus, the proposals to "make the system work better" by providing the Patent Office with a better database of prior art could instead make things worse.
It is very hard to make a patent system behave reasonably; it is a complex bureaucracy and tends to follow its structural imperatives regardless of what it is "supposed" to do. The only practical way to get rid of the many obvious patents on software features and and business practices is to get rid of all patents in those fields. Fortunately, that would be no loss: the unobvious patents in the software field do no good either.
The patent system is supposed, intended, to promote progress, and those who benefit from software patents ask us to believe without question that they do have that effect. But programmers' experience is otherwise. New theoretical analysis shows that this is no paradox. (See http://www.researchoninnovation.org/patent.pdf.)
Copyright 2000 Richard Stallman
0 Talkback[s] (click to add your comment)