One of the fundamental concepts in algorithmic information theory is that the physical design and construction of your "novel golf club" is completely and perfectly equivalent to a mathematical equation in exactly the same way the RSA algorithm is. The argument generalizes to all patentable subject matters. And as fabrication technology is becoming more sophisticated this fact is starting to become more obvious in practice.
No one patented modular exponentiation, they patented an encryption algorithm that employs modular exponentiation. That is a distinction with a real difference. All patents have this type of construction. The same argument could be used to assert that all chemical process patents are patenting common chemistry or facts of nature.
The deeper issue with both copyrights and patents is that they are based on legal distinctions that don't exist mathematically. The law must therefore necessarily be inconsistent and ambiguous in its treatment of such things. Piling yet another mathematically unsupportable fiction on top of the existing ones won't mitigate the problem.
I can live just fine without algorithm patents but as a matter of principle I also object to the obviously selective and inconsistent application of standards for what is and is not patentable.
> One of the fundamental concepts in algorithmic information theory is that the physical design and construction of your "novel golf club" is completely and perfectly equivalent to a mathematical equation in exactly the same way the RSA algorithm is.
Equations and algorithms can't generate force or protect metal from corrosion or convert chemical reagents into medicine. They have no corporeal existence. There is no computation you can do that will get the golf ball into the hole.
> And as fabrication technology is becoming more sophisticated this fact is starting to become more obvious in practice.
Using a 3D printer to make a patented golf club is clearly patent infringement. Widespread availability of fabrication technology is certainly going to make enforcing certain patents much more difficult in the same way that it has for copyright but what does that have to do with patentability?
> No one patented modular exponentiation, they patented an encryption algorithm that employs modular exponentiation. That is a distinction with a real difference.
It's the same piece of code. Math has no particular intent.
> All patents have this type of construction. The same argument could be used to assert that all chemical process patents are patenting common chemistry or facts of nature.
No one is disputing that anything can be described by math. The point is that the math is different from the thing it describes. A chemical process is not itself math. An algorithm is.
A good way to understand it is to realize that a physical thing can be used as a "computer" to execute the mathematical algorithm describing its behavior but the reverse is not the case. You can calculate 'E' in "E=mc^2" by setting up a nuclear reaction that will convert a mass 'm' into energy 'E' and measuring the energy that is produced. You can perform the same calculation using a general purpose computer. So the algorithm/formula "E=mc^2" can be executed on a nuclear reactor or on a smartphone. But doing the calculation without the nuclear reaction will not actually produce 'E' joules of energy that could be used to e.g. drive a steam turbine. That's the difference.
Your E=mc^2 example actually highlights one difference between patentable and non-patentable math. Calculating E does nothing useful by itself. But calculating the DCT of a series of numbers representing an image, arranging it in a matrix, traversing it in a zigzag pattern and applying run-length encoding does do something undeniably useful: it allows compression, which can conserve bandwidth and disk-space.
Yet you seem unwilling to accept the difference between mathematics and applications of mathematics, of which the latter is being patented.
Let me try a different analogy. Mathematics cannot be copyrighted. Yet software can be. If you can resolve this conflict, you may find a hint to explain how software can also be patented.
> Calculating E does nothing useful by itself. But calculating the DCT of a series of numbers representing an image, arranging it in a matrix, traversing it in a zigzag pattern and applying run-length encoding does do something undeniably useful: it allows compression, which can conserve bandwidth and disk-space.
All math is useful for something. How is calculating 'E' not useful? I need to know how many turbines to build.
> Mathematics cannot be copyrighted. Yet software can be. If you can resolve this conflict, you may find a hint to explain how software can also be patented.
There are multiple equivalent encodings to represent any mathematical operation. Since the encodings are equivalent, choosing one is a creative act having no mathematical consequences. Copyrighting that work of authorship provides no monopoly over the math because the same math remains available to anyone else using any of the infinitely many other possible equivalent encodings. Even in the unlikely event that someone else independently comes up with exactly the same encoding (more likely for extremely simple algorithms), independent creation means no copyright infringement. By contrast, a patent would cover all of the equivalents and make no exception for independent creation, which would make it a patent on the math itself rather than any particular encoding.
And that is a patent-eligible application* of the abstract equation :-) You could potentially get a patent on that application but that would not preempt the equation itself. Somebody else could potentially get a patent on the use of that exact same equation to calculate the number of atoms to feed into an anti-matter space drive.
> There are multiple equivalent encodings to represent any mathematical operation...
And similarly there are potentially infinite applications of a mathematical operation. Patenting one application does not provide a monopoly over the mathematical operation itself. Now you may again try to conflate "algorithm" and "abstract mathematics" and "computation" again, but you cannot change the fact that the algorithm without its practical application is meaningless.
But even algorithms are too specific a word for most software patents. Consider a patent on a mobile app (valued at, say, $10 billion) that claims sending photos over a network that are auto-erased at the receiver after a time period expires. What is the algorithmic complexity of that?
> And that is a patent-eligible application* of the abstract equation
I think we've come to the heart of it here. The heat output of a particular reaction is a law of nature. Its calculation is a mathematical operation. The discovery of that mathematical formula E=mc^2 is non-obvious. It took centuries of scientific minds before Einstein. But given that law of nature and its mathematical description, the decision of how many steam turbines to build for a given energy output is preposterously obvious.
So the problem is they're granting patents on obvious applications of computations just because the computation itself is non-obvious.
Which makes it a simple rule to clarify things: a) Computations are not patentable and b) obvious applications of unpatentable computations are not patentable.
> And similarly there are potentially infinite applications of a mathematical operation. Patenting one application does not provide a monopoly over the mathematical operation itself.
The problem is they aren't issuing patents on applications, they're issuing patents on algorithms. It doesn't matter what application you use the software for because the software itself infringes the patent. The so-called application devolves to "run this algorithm on a computer."
> But even algorithms are too specific a word for most software patents. Consider a patent on a mobile app (valued at, say, $10 billion) that claims sending photos over a network that are auto-erased at the receiver after a time period expires. What is the algorithmic complexity of that?
That's about it. Obviously each function has its own rabbit hole to go down, but so do all mathematical operations, even the seemingly fundamental ones that programmers treat as intrinsic. You can make any mathematical operation arbitrarily complex; it's turtles all the way down. And each of the individual functions above exists in the prior art.
Calculating the DCT of a series of numbers representing an image, arranging it in a matrix, traversing it in a zigzag pattern and applying run-length encoding does something undeniably mundane, in the eyes of a typical computer programmer. We call this transformation. It's useful, but it's MATH.
"Equations and algorithms can't generate force or protect metal from corrosion or convert chemical reagents into medicine. They have no corporeal existence. There is no computation you can do that will get the golf ball into the hole."
Algorithms can; they can create a decision to apply a paint or to move an actuator in a particular way, or to remove access to a file or to remove a file completely. This is the way that algorithms can be materialized in the same way that a chemical process described as a series of instructions for building machines and using them to process base materials can be materialized.
Only if the machine is doing something in excess of computation. Then you have a machine that applies paint in a particular way. The algorithm itself isn't the thing you're patenting anymore.
Whereas "removing access to a file" is still nothing but computation. The machine in that context is fully abstract. Any general purpose computer of any design can do it. So the algorithm itself should be unpatentable and the machine is a general purpose computer that exists in the prior art, which leaves nothing to patent.
Allowing patent on even 'math' should not be an issue as long as the math technique is sufficiently complex that the probablity of someone else independently arriving at that math within the patent term seems to be very low
> Allowing patent on even 'math' should not be an issue as long as the math technique is sufficiently complex that the probablity of someone else independently arriving at that math within the patent term seems to be very low
Your criteria would exclude in excess of 99% of issued software patents. Keep in mind that 20 years is the period of time between the introduction of DNS and the introduction of the iPhone. Twenty years ago Google did not exist and Windows 3.11 was the latest version. Twenty years before that the IBM PC did not exist, Microsoft did not exist, TCP/IP did not exist, AT&T would be The Phone Company (singular) for another decade, the Cold War was in full swing, people were wearing Disco Suits and many of the parents of this year's crop of college graduates had not yet been born.
Unless you meant that the term of a software patent should be on the order of six months to a year, which hardly seems worth the candle.
> No one patented modular exponentiation, they patented an encryption algorithm that employs modular exponentiation.
Then I must ask: What invention is needed to invent the algorithm, once you know the math?
Is this a novel invention (no prior art about the same algorithmic idea being applied elsewhere)?
Is it non-obvious (a professional computer programmer couldn't be expected to come up with the algorithm, when presented with the math)?
I'm no expert, but I suspect that if you teach me the math behind a particular encryption scheme, then I could program the algorithm without too much difficulty.
>What invention is needed to invent the algorithm, once you know the math?
Math and algorithm are overloaded terms that often mean the same thing, so it's not possible to answer that question. However, to clarify what jandrewrogers meant: at the time modular exponentiation was a known mathematical construct; what was invented and patented was a new, previously unknown algorithm that used that mathematical construct as part of an encryption technique.
Now both can be seen as "math" or "algorithm", but the key difference is that the encryption algorithm has practical utility (i.e. providing security) whereas modular exponentiation by itself has none.
No one patented modular exponentiation, they patented an encryption algorithm that employs modular exponentiation. That is a distinction with a real difference. All patents have this type of construction. The same argument could be used to assert that all chemical process patents are patenting common chemistry or facts of nature.
The deeper issue with both copyrights and patents is that they are based on legal distinctions that don't exist mathematically. The law must therefore necessarily be inconsistent and ambiguous in its treatment of such things. Piling yet another mathematically unsupportable fiction on top of the existing ones won't mitigate the problem.
I can live just fine without algorithm patents but as a matter of principle I also object to the obviously selective and inconsistent application of standards for what is and is not patentable.