Chapter 148: The problem with people who talk about Software Patents

Most software patent discussions on Slashdot, Reddit or elsewhere on the Internet infuriate me. They infuriate me because, in my opinion, they fundamentally confuse the issues relating to whether software should be patentable.

1. “Software shouldn’t be patentable because it’s obvious.”

You’re talking about multiple legal concepts as if they were one thing. There are many tests for patentability, the main three being Statutory Patentability, Novelty, and Non-Obviousness.

  • Statutory Patentability (35 USC 101). You can’t patent a bunch of things as a general rule, such as literary works, laws of nature, compositions of music, compilations of data, legal documents, insurance policies, forms of energy, signals, etc. This has always been fuzzy and confusing, especially as applied to software.
  • Novelty (35 USC 102). You can’t patent something that someone already invented or wrote about several years before.
  • Non-Obviousness (35 USC 103). You can’t patent something that, regardless of whether or not it has been done before, would have been obvious to a person having ordinary skill in the art.

The argument “Software shouldn’t be patentable because it’s obvious” annoys me because it implies that software shouldn’t be statutorily patentable because most software is obvious. Obvious things are already unpatentable. Your beef with software patents might be better described as “I disagree with the standard of obviousness applied by the Patent Office or the effectiveness with which the Patent Office makes its determinations of obviousness”.

2. “Software is math, and math shouldn’t be patentable. Hardware devices are different and should still be patentable.”

Hardware and software are logically equivalent, and should be patentable or not-patentable together. Hardware is compiled. Software is compiled into hardware. Take any algorithm implemented in software and you can create a hardware device that implements the algorithm. Take any algorithm implemented in hardware and you can create a software simulation that implements the hardware device on a functional level. There are valid reasons to implement a theoretical component in strict hardware (it might run faster and need less general purpose functionality) and also in strict software running on a general purpose micro-controller (it makes it easier to extend and change the functionality), but that’s a design tradeoff, not an indication that the two things are fundamentally and irreparably different.

How is the inventiveness required for hardware different than the inventiveness required for software? Even if you cannot move beyond the “software is math” angle, on a philosophical level it is arguable that math itself is invented (pdf). Laws of nature are not patentable, but practical applications of them are, which is analogous to software being a practical application of math.

3. “Software patents would patent the general algorithm, but a hardware patent would patent only the specific device.”

Not true at all. Patents are monopolies on generalities. Sure, you can phrase your generality in such a way that it only covers a specific device, but the overwhelming majority of patents don’t do that. They want a patent on the idea of something. That’s actually the whole idea of the patent system; it lets you protect an idea that you had, whether that idea is related to microprocessor design or a method of providing goods at a maximum price.

If you don’t like the thought of protecting an idea, you don’t have a problem with software patents, you have a problem with all patents. The overwhelming majority of arguments against software patents apply equally to every other type of patent.

In summary

Software is just as patentable as everything else. Software is invented. We get patents on inventions. If you disagree with that, then make the argument that patents are bad in general. The patentability of ideas is a policy decision. I’m fine with the argument that patents are bad, I think it’s a great argument and can be readily supported by examples from many industries. Just don’t say software is somehow special. It’s not.


The above discussion is my opinion and does not reflect the policies or opinions of anyone else, regardless of however much I wish otherwise.

Leave a Reply

Your email address will not be published. Required fields are marked *