Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The USPTO can, and should, exclude software from patent eligibility on other legal grounds: because software consists only of mathematics, which is not patentable, and the combination of such software with a general-purpose computer is obvious.

Software does not consist of only mathematics. One might use mathematics as part of understanding how a particular piece of software works, but that is not really different than the way one might use mathematics to understand how an electronic circuit works.



All a computer can do is mathematics * . This is essentially axiomatic: the term "algorithm" is loosely defined as "what a computer can do."

If you think your software is doing anything else, you're looking at an abstraction on top of something mathematical.

* - OK, OK, they can also generate heat, RF, and other byproducts. Those things have little to do with software.


"All a computer can do is mathematics"

All an electrical circuit can do is physics. Therefore, electrical inventions should not be patentable as all they are is physics.


An electrical circuit does not "do physics." It relies on physics, but it does not "perform physics" in the same way that a computer performs calculations.

This is why software patents are always framed in terms of a machine performing an algorithm. The "machine-performing-an-algorithm" construct is not itself mathematical, though it does rely on mathematics. The FSF's argument there is that having a machine perform an algorithm is now sufficiently obvious to fall under the obviousness restriction (while perhaps it was not so obvious back in the 1950s). This leaves only the algorithm itself, which is mathematical.


Hypothetical #1. I invent a very clever, useful, non-obvious electrical circuit that performs a valuable transformation on input analog signals. Patentable.

Hypothetical #2. I come up with the same idea as in #2 but conceive of it as a series of steps applied to a digitized signal. Each step is done as a little algorithm. It turns out that there is an isomorphism between these algorithmic steps, and what the circuit components in hypothetical #1 do. In other words, I've essentially conceived it as a simulation of a physical circuit.

Why should #2 not be patentable? It is in pretty much all meaningful ways the same invention as in #1. It is just implemented different. In #1, it is implemented by taking (non-patentable) physics building blocks and putting them together in a new, useful, non-obvious way. In #2, it is implemented by taking (non-patentable) algorithmic building blocks and putting them together in a new, useful, non-obvious way.

Conversely, would you argue that anything capable of being simulated via a computer should not be patentable?


I think I see your point. I'll restate it the other way around, though, because that direction makes more sense to me. Please tell me if I got it wrong.

Suppose I have an algorithm for doing some useful transformation on an input. Suppose we were in an environment in which this algorithm could not be patented. I could instead sit on the algorithm and build a circuit in hardware accordingly, patent the circuit, and sell that while keeping the algorithm secret. Ignore that it could be reverse-engineered.

Is that scenario good for anyone? Probably not. It would be better for everyone if the algorithm were made public, even if it were simply unused for the patent term, than if it were to lie hidden on a disk somewhere. Why does it make sense to grant a patent to the circuit, but not the algorithm?

I admit, that situation is a little inconsistent. This is partly because the whole concept of the patent is inconsistent, but we keep it around because we haven't found a consistent way to fulfill the same purpose. Consider a third option, though:

Suppose that the guy with the useful algorithm is Joseph Fourier. He patents the software techniques to produce Fourier series. Now, anyone making software that relies on Fourier series needs to pay Joseph Fourier, which is fine. Anyone who builds a hard circuit would likewise need to pay for the privilege, due to another patent. What about a person executing the exact same software instructions by hand?

Clearly the person may execute the algorithm by hand without paying. Why should they not need to pay, when the only thing the software author has done is the convenient shortcut of using a computer? In order to be similarly consistent, we'd need to require the manual executor to pay. Unfortunately, the manual executor is every collegiate-level math student.


In general, people are not trying to patent entire pieces of software. Indeed, it's difficult to understand how such a large work could reduce to mathematics. Rather, people are trying to patent very specific algorithms and methods that can be used to make a larger piece of software, and it's easier to see that those do reduce to mathematics.

Knuth argued well against patenting that: http://progfree.org/Patents/knuth-to-pto.txt


Really? You do know what a computer is right? Go check it out: "A programming language is an artificial language designed to express computations that can be performed by a machine" http://en.wikipedia.org/wiki/Programming_language

Crazy isn't it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: