Richard Stallman, transcribed from a talk:
So let’s see what happens if [an inventor] tries to use a patent to stop them. He says “Oh No, IBM. You cannot compete with me. I’ve got this patent. IBM says let’s see. Let’s look at your product. Hmmm. I’ve got this patent and this one and this one and this one and this one and this one, which parts of your product infringe. If you think you can fight against all of them in court, I will just go back and find some more. So, why don’t you cross license with me?” And then this brilliant small inventor says “Well, OK, I’ll cross license”. So he can go back and make these wonderful whatever it is, but so can IBM. IBM gets access to his patent and gets the right to compete with him, which means that this patent didn’t “protect” him at all. The patent system doesn’t really do that.
I’ve considered the arguments by Stallman, John Gruber, and Tim Bray on software patents, and I side with Stallman in that software patents are inherently problematic and are a net loss for society.
The major difference in their arguments is that, while all three mention the realities and dysfunctions of the patent system, Stallman focuses strongly on the difference between what it’s intended to do and what actually happens. He also illustrates the reality of trying to develop any nontrivial software in a patent-filled landscape.
Many argue that inventors should be protected and incentivized by patents, otherwise they would stop inventing. It’s a nice theory, but it doesn’t hold up for software.1
We can argue about what the system should do, or what it theoretically does, or what it ideally does, but that’s an academic exercise at best. To evaluate whether software patents are a net gain for society, we need to evaluate their reality, which differs quite a bit from most arguments for why patents are necessary.
The USPTO has repeatedly shown that they do not possess the ability to issue software patents responsibly. This isn’t the agency’s fault — it’s impossible in practice. As Stallman says, it often takes advanced computer scientists to even realize that two given patents are functionally identical, or that a patent application represents something trivial and already in widespread use.
Trademarks and copyrights are much easier for an agency to evaluate, but software patenting has resulted in a mess of trivial, invalid, and duplicate patents being issued and dysfunctionally “enforced” by threats and settlements at a tremendous cost to society.
As a working software developer, the thought of accidentally and unknowingly stumbling into someone’s patent is terrifying. There’s no question that it has hurt our industry in the past and will continue to artificially restrict progress indefinitely, and there’s little convincing evidence that the supposed benefits exist in practice at a large enough scale to maintain the status quo.
It’s highly questionable whether it holds up in most fields, but software is a particularly poor fit. Other extremely poor fits include business methods and genetically modified crops. The lack of enforcement and maintenance requirements for patents is also problematic and promotes dysfunction and fraud. ↩