A couple of years ago Kodak sued Sun [for] using a patent for something having to do with object-oriented programming, and Sun didn’t think it was infringing that patent. But the court decided it was; and when other people look at that patent they haven’t the faintest idea whether that decision was right or not. No one can tell what that patent does or doesn’t cover, but Sun had to pay hundreds of millions of dollars because of violating a completely incomprehensible law.
Sometimes you can tell what you need to avoid, and sometimes what you need to avoid is an algorithm.
For instance, I saw a patent for something like the fast Fourier transform, but it ran twice as fast. Well, if the ordinary FFT is fast enough for your application then that’s an easy way to avoid this other one. And most of the time that would work. Once in a while you might be trying to do something where it runs doing FFT all the time, and it’s just barely fast enough using the faster algorithm. And then you can’t avoid it, although maybe you could wait a couple of years for a faster computer. But that’s going to be rare. Most of the time that patent will to be easy to avoid.
On the other hand, a patent on an algorithm may be impossible to avoid. Consider the LZW data compression algorithm. Well, as I explained, we found a better data compression algorithm, and everybody who wanted to compress files switched to the program gzip which used the better algorithm. And the reason is, if you just want to compress the file and uncompress it later, you can tell people to use this program to uncompress it; then you can use any program with any algorithm, and you only care how well it works.
But LZW is used for other things, too; for instance the PostScript language specifies operators for LZW compression and LZW uncompression. It’s no use having another, better algorithm because it makes a different format of data. They’re not interoperable. If you compress it with the gzip algorithm, you won’t be able to uncompress it using LZW. So no matter how good your other algorithm is, and no matter what it is, it just doesn’t enable you to implement PostScript according to the specs.
But I noticed that users rarely ask their printers to compress things. Generally the only thing they want their printers to do is to uncompress; and I also noticed that both of the patents on the LZW algorithm were written in such a way that if your system can only uncompress, it’s not forbidden. These patents were written so that they covered compression, and they had other claims covering both compression and uncompression; but there was no claim covering only uncompression. So I realized that if we implement only the uncompression for LZW, we would 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.