As much as I'd like it to be true, I can't help but find this line of reasoning a bit specious. As Simon Peyton-Jones is fond of pointing out with regards to Haskell's functional purity, a program that is just pure math won't do anything except make your computer heat up. Math doesn't write files, it doesn't draw on a screen, it doesn't send packets across a network.
A program is pure math - the fact that a computer takes certain actions on the basis of the math doesn't change that. In a sense, all possible computer programs for a given architecture are implied in that architecture, even if they haven't been written yet - just like all possible novels are implied by the letters of the alphabet, even if they haven't been written yet. Like novels, programs should be copywritable but not patentable.
How could a physical object be pure math? Even if you could completely mathematically specify the process of creating the object, that only means you couldn't patent the specification itself - the object would still be patentable.
"In a sense, all possible computer programs for a given architecture are implied in that architecture, even if they haven't been written yet - just like all possible novels are implied by the letters of the alphabet, even if they haven't been written yet."
Surely you realize that all possible patents are implied by the alphabet in precisely the same manner that all possible novels are implied by the existence of the alphabet...? :)
There seems to be some confusion here between the thing that is being patented and the description of the thing that is being patented. The fact that the description is written using the alphabet has no bearing on the patentability of the thing itself. No arrangement of letters in the alphabet can be patented - but that doesn't mean that nothing can be patented.
A program is a tangible, physical arrangement of electrons, atoms, and/or electromagnetic fields. Just because it is easily rearranged and difficult to perceive with the naked eye does not make it mathematical or virtual or unreal.
In a sense, all possible computer programs for a given architecture are implied in that architecture, ...
All possible medicines are implied by the rules of chemistry obeyed by a liter of pond scum. Determining which potential medicine does what is a patentable invention.
A program is a tangible, physical arrangement of electrons
One could likewise argue that math is a tangible physical arrangement of pencil marks on a page or of neurons in the brain. But the point remains that math is not patentable.
Should someone be able to patent a prime number? Discovering a new large prime number requires effort, skill, lots of compute cycles, etc., but it's not patentable. Discovering an algorithm that has novel properties also requires effort and skill, but it shouldn't be patentable either, because it's math.
All possible medicines are implied by the rules of chemistry
Maybe eventually we'll understand the rules of chemistry and human biology as well as we understand the rules of math, but until that happens the case of medicine is not really comparable to the case of software.
> A program is a tangible, physical arrangement of electrons, atoms, and/or electromagnetic fields.
A tangible program is not what's being patented, only the concept of the program, which is not tangible. Concepts are patented, not code. Code gets copyright protection.
Similar to saying, "Hey! I thought of a cure for cancer. I didn't actually come up with a specific one, only the concept of one. If you actually come up with it, it's my property and I'll sue you if you don't recognize that.
This means that there are trivial concepts out there, that if I implement in software, I owe bank to some company. It's pretty fucked up when you think about it.
I was sort of surprised at that logic. Aren't mathematical algorithms sort of different than software, especially in the context of what people are patenting? Like take the Angry Birds suit - the patent in question covers something about the way new level purchased, right? There is no one specific algorithm associated with that idea. Obviously, one needs to be implemented to get something working, but that's not what the patent is on. If you want to work on the theoretical level of "software is math", then aren't the patents in question on _classes_ of software, or on the effects of software, more than on the software itself?