It’s the same way for the publicity for the patent system: they talk about what it’s like to walk down the street with a patent in your pocket—or first of all, what it’s like to get a patent, then what it’s like to have a patent in your pocket, and every so often you can pull it out and point it at somebody and say, “Give me your money.”
To compensate for their bias, I’m going to describe it from the other side, the victim side—what it’s like for people who want to develop or distribute or run software. You have to worry that any day someone might walk up to you and point a patent at you and say, “Give me your money.”
If you want to develop software in a country that allows software patents, and you want to work with patent law, what will you have to do?
You could try to make a list of all the ideas that one might be able to find in the program that you’re about to write, aside from the fact that you don’t know that when you start writing the program. [But] even after you finish writing the program you wouldn’t be able to make such a list.
The reason is… in the process you conceived of it in one particular way— you’ve got a mental structure to apply to your design. And because of that, it will block you from seeing other structures that somebody might use to understand the same program—because you’re not coming to it fresh; you already designed it with one structure in mind. Someone else who sees it for the first time might see a different structure, which involves different ideas, and it would be hard for you to see what those other ideas are. But nonetheless they’re implemented in your program, and those patents could prohibit your program, if those ideas are patented.
For instance, suppose there were graphical-idea patents and you wanted to draw a square. Well, you would realize that if there was a patent on a bottom edge, it would prohibit your square. You could put “bottom edge” on the list of all ideas implemented in your drawing. But you might not realize that somebody else with a patent on bottom corners could sue you easily also, because he could take your drawing and turn it by 45 degrees. And now your square is like this, and it has a bottom corner.
So you couldn’t make a list of all the ideas which, if patented, could prohibit your program.
What you might try to do is find out all the ideas that are patented that might be in your program. Now you can’t do that actually, because patent applications are kept secret for at least 18 months; and the result is the Patent Office could be considering now whether to issue a patent, and they won’t tell you. And this is not just an academic, theoretical possibility.
For instance, in 1984 the Compress program was written, a program for compressing files using the data compression algorithm, and at that time there was no patent on that algorithm for compressing files. The author got the algorithm from an article in a journal. That was when we thought that the purpose of computer science journals was to publish algorithms so people could use them.
He wrote this program, he released it, and in 1985 a patent was issued on that algorithm. But the patent holder was cunning and didn’t immediately go around telling people to stop using it. The patent holder figured, “Let’s let everybody dig their grave deeper.” A few years later they started threatening people; it became clear we couldn’t use Compress, so I asked for people to suggest other algorithms we could use for compressing files.
And somebody wrote and said, “I developed another data compression algorithm that works better, I’ve written a program, I’d like to give it to you.” So we got ready to release it, and a week before it was ready to be released, I read in the New York Times weekly patent column, which I rarely saw—it’s a couple of times a year I might see it—but just by luck I saw that someone had gotten a patent for “inventing a new method of compressing data.” And so I said we had better look at this, and sure enough it covered the program we were about to release. But it could have been worse: the patent could have been issued a year later, or two years later, or three years later, or five years later.
Anyway, someone else came up with another, even better compression algorithm, which was used in the program gzip, and just about everybody who wanted to compress files switched to gzip, so it sounds like a happy ending. But you’ll hear more later. It’s not entirely so happy.
So, you can’t find out about the patents that are being considered even though they may prohibit your work once they come out, but you can find out about the already issued patents. They’re all published by the Patent Office. The problem is you can’t read them all, because there are too many of them.