be safe. And although it would not satisfy the specification, it would please the users sufficiently; it would do what they actually needed. So that’s how we barely squeaked by avoiding the two patents.
Now there is gif format, for images. That uses the LZW algorithm also. It didn’t take long for people to define another image format, called png, which stands for “Png’s Not Gif.” I think it uses the gzip algorithm. And we started saying to people, “Don’t use gif format, it’s dangerous. Switch to png.” And the users said, “Well, maybe some day, but the browsers don’t implement it yet,” and the browser developers said, “We may implement it someday, but there’s not much demand from users.”
Well, it’s pretty obvious what’s going on—gif was a de facto standard. In effect, asking people to switch to a different format, instead of their de facto standard, is like asking everyone in New Zealand to speak Hungarian. People will say, “Well, yeah, I’ll learn to speak it after everyone else does.” And so we never succeeded in asking people to stop using gif, even though one of those patent holders was going around to operators of web sites, threatening to sue them unless they could prove that all of the gifs on the site were made with authorized, licensed software.
So gif was a dangerous trap for a large part of our community. We thought we had an alternative to gif format, namely jpeg, but then somebody said, “I was just looking through my portfolio of patents”—I think it was somebody that just bought patents and used them to threaten people—and he said, “and I found that one of them covers jpeg format.”
Well, jpeg was not a de facto standard, it’s an official standard, issued by a standards committee; and the committee had a lawyer too. Their lawyer said he didn’t think that this patent actually covered jpeg format.
So who’s right? Well, this patent holder sued a bunch of companies, and if there was a decision, it would have said who was right. But I haven’t heard about a decision; I’m not sure if there ever was one. I think they settled, and the settlement is almost certainly secret, which means that it didn’t tell us anything about who’s right.
These are fairly lightweight cases: one patent on jpeg, two patents on the LZW algorithm used in gif. Now you might wonder how come there are two patents on the same algorithm? It’s not supposed to happen, but it did. And the reason is that the patent examiners can’t possibly take the time to study every pair of things they might need to study and compare, because they’re not allowed to take that much time. And because algorithms are just mathematics, there’s no way you can narrow down which applications and patents you need to compare.
You see, in physical engineering fields, they can use the physical nature of what’s going on to narrow things down. For instance, in chemical engineering, they can say, “What are the substances going in? What are the substances coming out?” If two different [patent] applications are different in that way, then they’re not the same process so you don’t need to worry. But the same math can be represented in ways that can look very different, and until you study them both together, you don’t realize they’re talking about the same thing. And, because of this, it’s quite common to see the same thing get patented multiple times [in software].
Remember that program that was killed by a patent before we released it? Well, that algorithm got patented twice also. In one little field we’ve seen it happen in two cases that we ran into—the same algorithm being patented twice. Well, I think my explanation tells you why that happens.
But one or two patents is a lightweight case. What about mpeg2, the video format? I saw a list of over 70 patents covering that, and the negotiations to arrange a way for somebody to license all those patents took longer than developing the standard itself. The jpeg committee wanted to develop a follow-on standard, and they gave up. They said there were too many patents; there was no way to do it.
Sometimes it’s a feature that’s patented, and the only way to avoid that patent is not to implement that feature. For instance, the users of the word processor Xywrite once got a downgrade in the mail, which removed a feature. The feature was that you could define a list of abbreviations. For instance, if you define “exp” as an abbreviation for “experiment,” then if you type “exp-space” or “exp-comma,” the “exp” would change automatically to “experiment.”
Then somebody who had a patent on this feature threatened them, and they concluded that the only thing they could do was to take the feature out. And so they sent all the users a downgrade.
But they also contacted me, because my Emacs editor had a feature like that starting from the late 70s. And it was described in the Emacs manual, so they thought I might be able to help them invalidate that patent. Well, I’m happy to know I’ve had at least one patentable idea in my life, but I’m unhappy that someone else patented it.
Fortunately, in fact, that patent was eventually invalidated, and partly on the strength of the fact that I had published using it earlier. But in the meantime they had had to remove this feature.
Now, to remove one or two features may not be a disaster. But when you have to remove 50 features, you could do it, but people are likely to say, “This program’s no good; it’s missing all the features I want.” So it may not be a solution. And sometimes a patent is so broad that it wipes out an entire field, like the patent on public-key encryption, which in fact put public-key encryption basically off limits for about ten years.
So that’s the option of avoiding the patent—often possible, but sometimes not, and there’s a limit to how many patents you can avoid.
What about the next possibility, of getting a license for the patent?
Well, the patent holder may not offer you a license. It’s entirely up to him. He could say, “I just want to shut you down.” I once got a letter from somebody whose family business was making casino games, which were of course computerized, and he had been threatened by a patent holder who wanted to make his business shut down. He sent me the patent. Claim 1 was something like “a network with a multiplicity of computers, in which each computer supports a multiplicity of games, and allows a multiplicity of game sessions at the same time.”
Now, I’m sure in the 1980s there was a university that set up a room with a network of workstations, and each workstation had some kind of windowing facility. All they had to do was to install multiple games and it would be possible to display multiple game sessions at once. This is so trivial and uninteresting that nobody would have bothered to publish an article about doing it. No one would have been interested in publishing an article about doing it, but it was worth patenting it. If it had occurred to you that you could get a monopoly on this trivial thing, then you could shut down your competitors with it.
But why does the Patent Office issue so many patents that seem absurd and trivial to us?
It’s not because the patent examiners are stupid, it’s because they’re following a system, and the system has rules, and the rules lead to this result.
You see, if somebody has made a machine that does something once, and somebody else designs a machine that will do the same thing, but N times, for us that’s a for-loop, but for the Patent Office that’s an invention. If there are machines that can do A, and there are machines that can do B, and somebody designs a machine that can do A or B, for us that’s an if-then-else
statement, but for the Patent Office that’s an invention. So they have very low standards, and they follow those standards; and the result is patents that look absurd and trivial to us. Whether they’re legally valid I can’t say. But every programmer who sees them laughs.
In any case, I was unable to suggest anything he could do to help himself, and he had to shut down his business. But most patent holders will offer you a license. It’s likely to be rather expensive.
But there are some software developers that find it particularly easy to get licenses, most of the time. Those are the megacorporations. In any field the megacorporations generally own about half the patents, and they cross-license each other, and they can make anybody else cross-license if he’s really producing anything. The result is that they end up painlessly with licenses for almost all the patents.
IBM wrote an article in its house magazine,
What this means is since IBM, with so many patents, can make almost everybody give them a cross- license, IBM avoids almost all the grief that the patent system would have inflicted on anybody else. So that’s why IBM wants software patents. That’s why the megacorporations in general want software patents, because they know that by cross-licensing, they will have a sort of exclusive club on top of a mountain peak. And all the rest of us will be down here, and there’s no way we can get up there. You know, if you’re a genius, you might start up a small company and get some patents, but you’ll never get into IBM’s league, no matter what you do.
Now a lot of companies tell their employees, “Get us patents so we can defend ourselves” and they mean,