The Software Freedom Law Center has an excellent oggcast summarizing the Bilski opinion: http://www.softwarefreedom.org/podcast/2010/jun/29/episode-0x2b-bilski-rundown/
The SFLC site has lots of other Bilski and software patent information as well.
For those who prefer video, check out "Patent Absurdity: how software patents broke the system": http://patentabsurdity.com/
I am frustrated with today's patent process. The patent processes integrity has continued to dwindle here in the U.S. When this whole issue arose some years ago (business process/method patents)I felt the system was in trouble. Pretty soon someone will want to patent "thinking"
If you ever get the chance, do go to the USPTO get a library card and browse the racks of Patents. The most enjoyable library visit I've ever made.
IANAL, but here is my understanding.
Software by itself is not patentable. This was decided by Parker v. Flook (1978) in which Justice Stevens writes:
"Reasoning that an algorithm, or mathematical formula, is like a law of nature, Benson applied the established rule that a law of nature cannot be the subject of a patent. Quoting from earlier cases, we said: `A principle, in the abstract, is a fundamental truth; an original cause; a motive; these cannot be patented, as no one can claim in either of them an exclusive right.' [Le Roy v. Tatham, 14 How. 156, 175.] Phenomena of nature, though just discovered, mental processes, and abstract intellectual concepts are not patentable, as they are the basic tools of scientific and technological work." [409 U.S., at 67.]
My opinion: the court recognizes that non-patentability of mathematics and algorithms is essential to Progress of Science and useful Arts, since if one could patent fundamental steps a monopoly could block progress in an entire field. Furthermore, one cannot patent a purely mental process since that would allow a monopoly to control what people were allowed to think. Software running on a general-purpose computer is merely automating a mental process, so it should not be patentable either.
However, a process that includes software as a key component is patentable provided that the process as a whole performs a physical transformation or requires a special-purpose machine. This is the "Machine or Transformation Test" and was decided by Diamond v. Diehr (1981) which determined that a process for curing rubber was patentable since the algorithm involved caused a physical transformation.
So this should settle it, right? Well, actually not since patent lawyers are adept at rewording a software patent to confuse the patent examiner into thinking it's not a pure abstraction. Patents never say "an algorithm to"... it's always "a method to..." It's remarkably easy to get a patent in the USA: approximately 90% of patent applications are awarded, according to Dan Ravicher in a recent speech: http://www.softwarefreedom.org/podcast/2010/may/25/episode-0x28-dans-software-patent-presentation/. He also makes the comment that the USPTO sees itself as a "patent granting agency" and not a "patent denying agency". It's all very well to say "we'll let the courts decide this" and "Bilksi proves the system works", but the reality is that it can cost millions of dollars to defend against even a bad patent and costs industry billions of dollars a year which could otherwise be used to develop products.
It's also ambiguous as to what is an "abstract" process. The Bilski opinion written by Justice Kennedy denies Bilski's patent on the basis that it's "abstract", but does not really define what "abstract" means. Plus, it says the Diehr's "Machine or Transformation" test is only "a clue" rather than a definitive test. So it's left to lower courts and/or future cases before the Supreme Court to decide these things, meanwhile costing industry billions of dollars a year and distracting creative engineers from technical problem solving.
There is also some ambiguity as to whether there is a difference between algorithms (a series of steps) and mathematics (a closed formula). In fact, the Church-Turing thesis showed this ages ago. If you're interested, here is "An Explanation of Computation Theory for Lawyers": http://www.groklaw.net/article.php?story=20091111151305785.
Is algorithm patentable? Software means too many things. We can write unlimited number of garbage and buggy codes and call them software. But an algorithm that can instruct a machine to accomplish a special task should be patentable.
Justice Stevens in his concurrence (page 38 of the opinion's .pdf) states this very clearly:
"The Constitution allows Congress to issue patents to promote the Progress of Science and useful Arts. This clause is both a grant of power and a limitation. It reflects a balance between the need to encourage innovation and the avoidance of monopolies which stifle competition without any concomitant advance in the Progress of Science and useful Arts."
Business is neither a Science nor a useful Art. Therefore business method patents are clearly not patentable, at least to a minority of justices. (At the time the Constitution was written, "useful Arts" meant the kind of stuff you learned in shop class, and that meaning has not been changed by amendment.)
On page 40, Justice Stevens adds:
"Although there is certainly disagreement about the need for patents, scholars generally agree that when innovation is expensive, risky, and easily copied, inventors are less likely to undertake the guaranteed costs of innovation in order to obtain the mere possibility of an invention that others can copy."
This is an excellent justification for the patents in development of semiconductor technologies and drugs where it costs millions to develop the technology and very little to copy it.
Software is not in that category. While a large software project can indeed cost millions, the effort put into each patentable idea is generally small and would have been performed as part of the large project whether or not it was patentable. Copyright is more than adequate to protect the effort of writing software and has created software giants like Microsoft and Apple. OTOH, the presence of software patents creates an infringement minefield that makes it essentially impossible to develop software without fear of future lawsuits. Given the huge cost in defending against both real and bogus infringement claims, the presence of software patents stifles competition and retards the Progress of Science and useful Arts with no concomitant benefit whatsoever.
This is only one of many reasons software should not be patentable.
So my answer is that neither business methods nor software should be patentable. I thank Justice Stevens for his long service to this country and we will miss his presence on the Court.
If it isn't something that you can feel, touch, hear, taste or smell or shouldn't be patentable. Lawyers and trolls are the only ones who benefit from patents anyways. I wouldn't patent anything. The protection it provides is dubious at best and simply gives the competition an easy way to steal your ideas and then you have to spend millions in legal fees to defend it.
A Book For All Reasons Bernard Cole1 Comment Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...