That's the basic issue. Legislators craft laws in a rather messy process that involves trade-offs among interest groups,
with many laws having built in from the get-go a certain amount of illogic. Judges who rule on cases are supposed to interpret the law as written by the legislature and as it applies to the cases before them, and sometimes particulars of how a case was argued by its parties introduces further illogic into judicial decisions. The law will never be perfectly logical--at least, not until human beings in general are perfectly logical and willing to set aside their personal interests for the sake of greater logical consistency in the law.
 "Laws, like sausages, cease to inspire respect in proportion as we know how they are made."
Whether it is a valid argument or not is immaterial. The purpose of patent law is to protect applied innovations. If patent law is proven to not cover the innovations that the lawmakers intend it too then that doesn't mean that those innovations will no longer be protected it means that there has been a drafting error. The law will be re-drafted, or more realistically reinterpreted, to have a meaning allowing software patents but somehow defining a complexity limit or some such to prevent mere mathematical discoveries from being patented. I know that recourse to consider the intention of the draftees is made in UK [patent] law and assume this is true in the USA(?).
See for comparison UK/European patent law with respect to computer implemented inventions. Software patents are a mentioned exclusion but a little "as such"/"per se" keeps the door open for them.
Field matters too. Compression algorithms and codecs always seemed too close to mathematics to be patentable to me but a compression algorithm as applied performs a useful real-world action ("provides a technical contribution to the art") and so is considered to be in the class of innovations that it is desirous to protect.
Bowman v. Government of the United States is usually the most cited example of this sort of finding (it deals with illegality of personal income tax due to Ohio not being admitted to the USA due to what amounts to a clerical error.)
I kind of doubt it though. Even if the law says mathematics isn't patentable, and all programs on Turing equivalent systems are provably reducible to pure mathematics, it won't matter. Those who run the legal industry will just invent whatever bad laws and rulings they need to enable it to continue sucking the life out of those who are actually trying to produce things of value.
Surely the FSF has tried to argue this in court.. right?
The RSA patent wasn't on the math. It was on using that math to do something specific.
The RSA patent didn't apply to other uses of that math.
But, as the top-level comment and the original post point out,
> ...any method of manipulating information (i.e an algorithm) can be translated into a Haskell program, every Haskell function is a formula in the Typed Lambda Calculus, and all the variants of the Lambda Calculus are part of mathematics.
The RSA patent doesn't provide source code per se, but it definitely describes a particular algorithm which could be transcribed to lambda calculas.
Yes, but "transcribed to lambda calculus" does not imply that RSA isn't unpatentable any more than "can be translated to Japanese".
Note that you can't patent chemistry, molecules, or forces of nature either. However, no one confuses that with patenting the use of said things for specific applications.
Why do you think that math is different?
The focus on correcting patents, generally, and software patents, in particular, should be on making sure the economic incentives protect only development that would not otherwise occur.
Established precedent: Benson and Flook, specifically, is ignored. Diehr is deliberately misread to be inconsistent with Benson and Flook.
Seriously, if precedent were followed, every software patent we've ever discussed on HN would be rejected. The focus on fixing software patents should be on letting the law be the law. Every time a software patent is legally successful, the law is not the law. They're all invalid.
I'll walk through the three tests, all of which must be passed for the claimed invention to be patentable.
Statutory subject matter: The algorithm is not. The general-purpose robot is. The relationship between the algorithm and the general-purpose robot is.
Novel: Doesn't matter for the algorithm, since it didn't pass the first test. I'm reading between the lines that the general-purpose robot is not. The relationship between a robot and the algorithm that runs it is not.
Non-obvious: The question is moot for the invention as a whole, since no novelty was found.
The invention would not merit patent protection.
So courts have allowed this kind of patent on algorithms, but in my opinion have gotten the logic of it wrong. What I think they should do is distinguish between algorithms that are really mathematical in nature (as in, would be of interest to computer scientists or mathematicians) and algorithms that really just encode a physical process. This wouldn't be that radical of a departure from the cases you mention - they'd just need to refine what those cases meant by 'algorithm'.
The problem with the way courts have ruled to date is that it actually affords less protection to the real mathematical algorithms that the clause was meant to protect, because everyone just slaps "on a machine" to the end of their patent and bam, you've got patentable subject matter. Linked lists on a machine. I'd much rather see the courts look at the crux of the algorithm being suggested (linked lists) and decide that it's too abstract for a patent.
That was the 1980s. Those patents have since be re-filed to protect the grand new invention:
$data_structure on a machine connected to the Internet.
Mathematical algorithms were never intended to receive patent protection.
It could be argued that programs and ideas built up through the machinery of mathematics are unpatentable, whereas programs and ideas built through the machinery of engineering are.
The law may ignore the actual content in favor of looking at the mechanism of discovery and/or usage.
There is a profound philosophical disconnect between the (well-meaning) author of the Haskell and the way the law works.
There is a whole body of thought regarding dealing with humans that plays out in the law: mathematical approaches to law do not regard that and tend to fail.
(Edit: the answer is "sometimes." http://www.uspto.gov/web/offices/pac/mpep/documents/2100_210... , http://en.wikipedia.org/wiki/State_Street_Bank_v._Signature_...)
The Supreme Court's Bilski decision essentially smacked down the Federal Circuit's State Street decision. But again, this would only matter if the patent office and lower courts respected the Supreme Court.
Though even http://us.metamath.org/index.html itself seems to be unpersuasive, and it's concerned with writing the program equivalent to the ZFC axioms (which is, basically, the framework that underlies all the math most people have ever even heard of).
The person with the "what color are your bits" link, sadly, has the right idea. The law can, in fact, concern itself with distinguishing between mathematically equivalent things, legal fiction or not. It seems like we get more traction by arguing that the barrier to "invention" with software is so low and the risk of liability so high, even if one is not trying to infringe, that software patents hinder progress more than they help it.
Still, I love the illustration. Thanks for sharing.
If this program is patentable, then Gaussian elimination and everything in my high school algebra textbook is patentable.
The point that one can, in fact, make an interpreter for mathematical statements is not lost on me. That's more or less what metamath.org is making, after all.
It did finally get me to install the readability addon though.
Whether this is sensible or not is a different question. While I do see several issues with the patent system, I personally do not believe patents law should distinguish software and hardware. If its "really" an "invention" that meets the three requirements for being patentable, it should be patentable whether its software or hardware.
I think distinguishing software is sensible, because patent protection is not necessary to promote progress in this field. Patent monopolies are a cost that is expected to reap benefits in increased innovation, and whether they do this or not depends more on the human processes that arrive at the invention/discovery, which differs between software and hardware.
Please let me know if I am wrong, but the second one sounds to be just semantics over what I said. It's not that coming up with an invention in software domain is easy, it rather is that an average software patent application is closer to being obvious in practice than it is for some other areas. If there is a good invention in the domain of software that is novel, non-obvious and useful, it should be patentable. If someone else working on the same problem domain can come up with the same idea in a short time, then the idea is obvious and should not be patentable.
I am not (yet) ready to believe that human processes in software domain make them more or less intelligent than in other domains. How can they then come up with "real" inventions faster or more often to not require patent protection?
Keep reading through the rest of Stevens' opinion. Nearly everything he says against patenting business methods applies equally to software.