Judge Invalidates Software Patent, Citing Bilski
bfwebster writes "US District Court Judge Andrew Gilford (Central District of California) granted a summary judgment motion in DealerTrack v. Huber et al., finding DealerTrack's patent (US 7,181,427) — for an automated credit application processing system — invalid due to the recent In re Bilski court decision that requires a patent to either involve 'transformation' or 'a specific machine.' According to Judge Gilford's ruling, DealerTrack 'appears to concede that the claims of the '427 Patent do not meet the "transformation" prong of the Bilski test.' He then applied the 'specific machine' test and noted that, post-Bilski the Board of Patent Appeals and Interferences has ruled several times that 'claims reciting the use of general purpose processors or computers do not satisfy the [Bilski] test.' Judge Gilford analyzes the claims of the '427 patent, notes that they state that the 'machine' involved could be a 'dumb terminal' and a 'personal computer,' and then concludes: 'None of the claims of the '427 Patent require the use of a "particular machine," and the patent is thus invalid under Bilski.' DealerTrack apparently plans to appeal the ruling. Interesting times ahead."
'claims reciting the use of general purpose processors or computers do not satisfy the [Bilski] test.'
Sounds familiar to the kind of logic that Donald Knuth employs when discussing software patents. He tried reaching out to the EU Patent Office in an effort to avoid making algorithms patentable--he feels this has been a mistake in America. He recently sent the EU Patent Office Commissioner a 1994 letter he had originally sent to the United States Patent Office about patenting software. His argument is simple: (1) math cannot be patented (2) all algorithms are math (3) all software is one or more algorithms and so follows that software cannot be patentable. The USPTO replied by defining non-mathematical software to be patentable while purely mathematical software is not. Knuth sums himself up nicely: 'Basically I remain convinced that the patent policy most fair and most suitable for the world will regard mathematical ideas (such as algorithms) to be not subject to proprietary patent rights. For example, it would be terrible if somebody were to have a patent on an integer, like say 1009, so that nobody would be able to use that number "with further technical effect" without paying for a license. Although many software patents have unfortunately already been granted in the past, I hope that this practice will not continue in future. If Europe leads the way in this, I expect many Americans would want to emigrate so that they could continue to innovate in peace.'
Maybe the right way to approach this was to claim that general purpose processors are only capable of executing extremely complex mathematical algorithms--which should not be patentable. Therefor the software that runs on general purpose processors should not be patentable.
My work here is dung.
Let's hope this is a sign of things to come. With some luck, we might even see various patents on codecs invalidated, thus allowing much more freedom for which formats to use with the HTML5 <video> element...
Too bad we probably have to see the patents invalidated one by one, rather than getting the entire class thrown out in one swell foop.
Dan Aris
Fun. Free. Online. RPG. BattleMaster.
Just when I was going to patent my "process for delivering an online response to a website article post", judges start remembering the Bilski Test!
unless the definition of "machine" specifically indicates Hardware, (which i'm sure it doesn't since processes can be patented) sounds to me like Dealerlink didn't have a lawyer who specialized in Patent law. rather than allowing the argument to be lead in the direction of a processor being the "specific machine" the "specific machine" should have been the algorithms used in the code. This case doesn't stop anything. it's not precident setting, it's pretty much a bad lawyer losing a case for his client. IANAL nor do I play one on TV, but I work with enough of them to be able to spot a bad one. As soon as they mentioned specific machine, it seems their lawyer curled up and died, when he should have been arguing that the specific machine test does in fact pass as without the algorithms the process falls flat, and it is in fact the algorithms that constitute the specific machine in the patent. not the CPU or computer. If this does become a precident however, and this judgement does define a machine as "hardware" a LOT of patents are going to become invalid or challengable. and not just software patents. which means it's really just a matter of time before it's overturned.
Nice job US District Court Judge Andrew Gilford!!!
Hope is the currency of fools
My degree is in mathematics. There's no such thing as non-mathematical software. There is mathematical proof of this. There's a nice equivalence theorem for the two, and the website linked shows the results of that equivalence.
I repeat: there's no such thing as "non-mathematical" software, because it is equivalent to math. The only people who think otherwise don't know what math is. It's like trying to claim that 1 != 1. And yes, people really do claim utter nonsense like that sometimes, especially those who don't understand the fact that infinite sequences like 0.99999[repeating] don't have a last digit by virtue of being infinitely long (if an infinite list had a last element, it would be a contradiction in terms, because part of the definition of infinite is that for every element x, there is a successor of x).
One might as well claim that pi is exactly 3.
Perhaps the greatest benefit of this ruling is that it could be appealed up to the SCOTUS.
Granted, this is risky for both sides. But perhaps if the SCOTUS gets enough appeal requests regarding software patents, it will finally address them.
As a practicing CS researcher and as a programmer, I sincerely feel that patent threats are the greatest limitation we face on software innovation. I can't begin to imagine that the benefits to our society are outweighing the costs.
Kind of surprised the court didn't stay the decision considering that Bilski is scheduled to be heard by the Supreme Court.
thanks for keeping the dream alive...
I often see the opinion that "mathematical software" should not be patentable, but "non-mathematical software" should be. I appreciate the theoretical arguments on this subject, but the practical ones seem to point the other way.
When Phil Katz invented a compression algorithm, he patented it. It seems to me, to be a fair thing to do. He invented the algorithm, he should deserve the credit and (if he chose to commercialize a product), the resulting profits. Same thing with encryption algorithms - if I created a new super-encryption algorithm, I should be able to commercialize it.
The problematic software patents are not mathematical. They are things like one-click shopping and auctions done over the internet, or really all of the something done over the internet patents. These are lame and should be eliminated. But a new algorithm seems like truly inventive to me.
The only people who think otherwise don't know what math is. It's like trying to claim that 1 != 1.
It depends on how you define !=. In Python, 1 == 1, and 1 == 1.0, but 1 != True, and 1 != "1". In PHP, however, 1 == 1, 1 == 1.0, 1 == True, and 1 == "1" (in fact, 0 == any string that can't be converted to an integer), but there is another pair of operators === and !== that strictly compare both value and type: 1 === 1, 1 !== True, and 1 !== "1" like in Python, but also 1 !== 1.0.
I'm not entirely comfortable with Bilski. I think the Bilski test has thrown out the baby with the bathwater.
Not, in the case at hand... this patent sounds like 100% pure unadulterated bathwater. But nevertheless...
I'm not sure why so many Slashdotters are so opposed to software patents as a concept. To my mind, the problem has been that the "non-obvious" requirement has been ignored or interpretted in such a way as to render it meaningless.
There are some really clever algorithms out there, though. Algorithms that are not at all obvious, and really advance the state of the art. If Quicksort was invented today, wouldn't it deserve a patent?
But if the bath water is going to include such notorious crap patents as 1-Click, Desire2Learn, NTP, and many others, then I would have to say that the bathwater is so rank and disgusting that it's not too high a price to pay to lose a handful of babies, as Bilski does.
But can't we do better? Can't we find an "obviousness" test that works?
This is really a tough situation. Consider the CODEC. It is primarily a series of mathematical algorithms, but is quite complex and provides a function never before found. This is the brunt of intellectual property. We have moved beyond mechanical devices to the point that the device is not unique, but it's application is. On the other hand, what if the patent on a pencil covered the output from the pencil? In my opinion, a codec is definitely a process that is non-obvious, while Amazon one-click purchasing is a natural evolution. I have a device and software that I want to patent that falls into between "Duh-Why didn't I think of that" and "Holy Sh#$, that's awesome". While not obvious, it is not rocket science but no one has come up with anything like it yet. It is not merely and extension of current ideas. The device itself is only required in some situations in which an adequate general processor is not available (ie, stand alone operation). In the case of Dealer Track, I think that computer based credit application is simply an evolution of computer based forms processing. There is nothing new or non-obvious here.
Before all you software patent haters get all excited (oooops too late for that) you should know that the reasoning of the judge referenced in the original post is flawed. For example, The BPAI just found this claim patentable:
23. A computerized method for identifying a solution to address exposed performance gaps of a company in a specific industry, comprising:
first identifying a plurality of operational metrics for the specific industry, wherein the operational metrics includes a factor used to measure health or viability of a generic company in the specific industry, wherein the specific industry is a grocery store industry, wherein the operational metrics include at least one of a rate of inventory turnover and a number of customers per day;
assembling a set of solutions for application by the specific industry, wherein the set includes one of a decision, an action, a product, and a service;
assessing impacts of application of the set of solutions on the operational metrics for the specific industry, wherein the assessing includes determining which of the set of solutions has a negative impact on an operational metric and determining which of the set of solutions has a positive impact on the operational metric;
after identifying, assembling, and assessing, then comparing a current operational performance of the company to an operational performance of another company within the specific industry to obtain at least one performance gap, wherein the operational performance includes a performance of a company based upon the operational metric for the specific industry;
identifying a solution based upon the impacts to address the exposed performance gaps, wherein the solution is at least one of a decision, an action, a product, and a service that impacts a problem in a positive manner; and
outputting the solution from the computer system.
http://www.1201tuesday.com/1201_tuesday/
However, it really irks me that someone in the EU bothered to distinguish between a general purpose processor and a fixed-purpose processor.
General-purpose processors include commonplace mathematical operations, such as addition, multiplication, square root, etc., as machine instructions, and they can act as generic linear bounded automata. "Fixed-purpose processors" to me looks more like an MPEG decoder ASIC. It has machine instructions for things like "decode variable length buffer" or "apply a discrete cosine transform", and a comparatively small microcode for parsing the bitstream that can't be reloaded.
I wonder if this will open the door to multi-touch for Android and other non-Apple devices...
Summary points to a press release. The actual decision is available here: http://bfwa.com/docs/dealertrack.pdf (7 page pdf)
Would the judge be willing to go to the patent office and starting look for all MS patents and then rule on each of them?
Once finished he could then move onto other patents and clear the whole place up..
I wasn't logged in before, GP anon was me. Anyhow, the period was the end of the sentence, not some attempt to make it into a float/string/boolean/whatever and I certainly didn't use the Python operators. It's supposed to be the same token (1) on both sides. But that's why we use formal languages that are picky about syntax and which can be checked automatically to avoid people finding weird ambiguities to question.
The theorem I was mentioning above is called Curry-Howard-Lambek correspondence (it took me a while to find all the links):
(Wiki links added because most people are too lazy to Google the terms they don't understand. Especially if they don't realize that they don't actually understand them.)
So even if you find some crazy language where they define != to be an equality operator or something equally unusual, software is still equivalent to math. Metamath wouldn't be possible otherwise. And as you can see, they're doing just fine.
Anyone that understands how a computer works will realize that at the machine code level, everything that a computer does is binary math. Since all programming languages have to be translated (compiled) into machine code at some point, there ARE NO PROGRAMS that are not based on binary math.
Besides, computer programs are much more like a book than a physical product or device, therefore should not be patentable. The whole patent/copyright thing has been grossly and extremely distorted to protect corporate profits and stifle innovation, the exact opposite of what patents and copyrights were originally intended to do!
At a fundamental level the physical world can be described with chemistry (atoms, physics etc) - and since you can't patent atoms (as far as I know) anything made from them can't be patented - which is everything patented including software because its just bits of atoms recorded in magnetic medium which can be described using chemistry.
There's a huge difference between "can be described by" and "is". There's a difference between "composed from" and "is".
You can't patent an atom, but a wheel isn't an atom, it is made from atoms. Atoms are the elements of the periodic table, and that's it. A thing built with atoms isn't called an atom. This isn't like math. Math is not just the axioms and basic operators. Math is everything you can construct using those axioms and operators no matter how complex. Two atoms together is a molecule, no longer just an atom. Two pieces of math together is still math.
And while the motion of a thrown ball can be described through Newton's Laws by a parabola, a thrown ball isn't Newton's Laws and physics equations. Software is, literally, a symbolic representation of math. It's not described by math, it describes math. In a machine-readable format, but that makes no difference it just means that today our computers, the thing that execute the algorithms described, are machines and not people.
There's no reductionism going on whatsoever. The most complex piece of software in existence does not need to be reduced in any way to call it math. Because that's literally what it is. In the exact same way that "a^2 + b^2 = c^2" is literally math, as in abstract symbols representing mathematical concepts, in the same way that the iterative algorithm of Newton's Method is math, every piece of software is by itself math and nothing more.
Knuth is 100% right here, no surprise since this isn't a tough one. Software is math. A falling weight isn't math; software that describes how to calculate its position at a particular point in time is. Get it?
The enemies of Democracy are
> I often see the opinion that "mathematical software" should not be patentable, but "non-mathematical software" should be. I appreciate the theoretical arguments on this subject, but the practical ones seem to point the other way.
What does "mathematical" mean to you, exactly? Seems like you think it means that the software has to use a lot of math you've never heard of to do something complex. Now, I can at least respect the argument that very innovative new processes might merit legal protection, though I think it's a terrible idea because it's unnecessary and it carries a high cost for society. Mathematicians can also make life difficult for you. If I create an equivalence relation between something patented and something not patented, what does the patent control? Have I destroyed the utility of the patent, or does the patent swallow up my "invention" too?
But back to the original point, the division between "mathematical" and "non-mathematical" software is the result of fuzzy-headed thinking by people who don't know what math is. Software is equivalent to math and that link describes how you turn programs into math (and vice versa). There's no such thing as non-mathematical software because there's no such thing as non-mathematical math.
Now I know there are some people, especially that guy at IP Watchdog who was in the news quite a while ago, who think that because they can do a few fancy integrals, partial derivatives, and linear algebra, they know all there is to know about math. But they totally ignore the stuff that's relevant here and probably don't even know what type systems or proof calculi are. Suffice it to say that anyone who thinks they know all there is to know about math is wrong.
Happy because you can now use their invention for free?
software is akin to a book.
no you cant patent math, just like you cant patent words or sentences, but write a book-worth of those and you can copyright it.
the same seems to be logical to apply to software.
> Not all algorithms are math; most algorithms use some math.
That statement is false. There's an isomorphism between computer programs and mathematical proofs. Algorithms are math.
An article by a U.S. patent attorney says Bilski doesn't really present an obstacle to software patents, if the patent attorney understands software the way a programmer does. The article explains that one of the keys is to "define the process as it is done by a computer." You just can't refer to it as "software." And, you need to "protect software in an indirect manner by protecting the computer itself, and by protecting a computer implemented process." This is why the patent law world needs more former programmers with law degrees.
Comment removed based on user account deletion
Comment removed based on user account deletion
Because all Slashdotters (100% of them) use the Internet.
Networks are about communication and interoperability. Software patents got a lot of attention, starting in 1989 when the LZW thing came up in DDJ, because they prevent interoperability. You were not allowed to implement a side of a conversation, such as decoding a GIF.
Quicksort can be replaced with other sorts; nobody really needs Quicksort to get their project working. A Quicksort patent holder would have an advantage in his apps, not a monopoly. If patents had never been applied in a way where they impacted file formats, codecs, and protocols, then hackers would see other people's patents as something that merely gave them competitive disadvantage, rather than being a complete exclusion.
I don't mind being told the other guy gets a leg up, especially if he was clever and deserved it. So I'm playing with a handicap? Fine. Bring it on! I might show the other guy a thing or two.
I do mind being told that I am simply not allowed to compete at all, and this will be enforced by government courts.
My own fucking government, demanding that a market not exist. That pisses me off. (And this is in America, of all places. Doesn't exactly fit the Free Market stereotype, does it? They told me the Commies lost the cold war, so how did I get an anti-business government? How did it happen that the so-called "socialist" countries got this right when we got it wrong? I think somebody lied to me.)
Competition good, monopolies bad. That's pretty simple.
"Believe me!" -- Donald Trump
Not software.
You can't patent the moving of household items.
Yet people still pay other people to help them move house.
If there had been no digital video compression, there would have been no DVD and the reduction in cost by the use of this format instead of laserdisc or tape would not have been realised. Therefore, MPEG compression would have been paid for by the movie industry to reduce their costs and that renumeration would have been enough to get the compression they were willing to pay for done.
All that would have been needed was a contract to perform a job "create a movie compression so a 720p digital movie would fit in 2GB/hour or less". No patent needed.
infinite sequences like 0.99999[repeating] don't have a last digit by virtue of being infinitely long (if an infinite list had a last element, it would be a contradiction in terms, because part of the definition of infinite is that for every element x, there is a successor of x).
Not quite. Every successor ordinal has a last element. For instance omega+1, the second infinite ordinal, has a last element with infinitely many predecessors.
The definition of infinite is "can be put into a one-to-one correspondence with a proper subset of itself".
One might as well claim that pi is exactly 3.
Pi is 3. To the nearest integer. Hey, if your computer doesn't have infinite memory, then you have to cut the decimal representation of pi off somewhere.
* Software IS a series of algorithms strung together (as an aside, a series of algorithms interacting is itself an algorithm)
Actually, that depends on what you mean by "algorithm" and "interacting". In computer science, it is common to employ a definition of "algorithm" that makes it equivalent to what a Turing machine can compute (see the very first sentence of that article). In this sense, an algorithm is provided its input at the start of its execution, processes it deterministically, and produces its output when it terminates (if it terminates, of course).
While this is a very useful definition in many situations, it does not describe the computer and the program I'm using to write this comment right now. The reason is that this is an interactive system, engaged in ongoing communication with a human (me). This is not a batch operation that transforms input into output (the equivalent of a mathematical function, or of a Turing machine): instead, the program waits for me to provide input, and provides output itself, at several steps during its execution. (Turing would have called this an oracle machine, with me as the oracle.)
Each keypress is processed algorithmically and an output is produced, but the combination of those algorithms in an event loop is clearly not an algorithm itself: it takes input and produces output at several points during its execution, and it does not even need to terminate to be useful (in fact, if the program did terminate while I'm writing this comment, it would be considered a failure!).
Therefore, there is at least one very common and useful definition of algorithm such that
That said, I do believe that software is math and that software patents should not be considered valid.
Patents are gifts from your government rewarding progress in the Natural realm. ,, etc is suitable only for copyright.
Copyrights are gifts from your government rewarding progress in the Human realm.
all sofware is exclusively a semantic construct, and therefore limited to the Human realm.
A very good test for a patent is to have an actual example, demonstrating the achieved progress, delivered with the patent application.
Wheather it is a specific bend of wire that grips, or a specific chemical reaction that produces a novel compound (or generic compound in a novel way) a patentable achievement is always understandable by example alone. Anything that requires a shared language, society, civilization
> But is a program that stores and displays recipes, math?
Yes. The recipes all correspond to binary numbers (as does any other data). The search function in it is a mathematical function that maps queries to results. The UI maps the binary numbers from sensor devices to the numbers that represent the on-screen output.
Like I said, you don't know what math is, you only think you do. Numbers are no different than any other precise form of information. You're trying to ignore a mathematical proof by relying on your incorrect understanding of what math is.
If you really want to debate something, you'd have to say that perhaps mathematics shouldn't automatically be unpatentable by statute. Frankly, mathematics being unpatentable is one of the few parts of patent law I completely agree with. I just wish they'd realize that math IS software and software is math.
There's no clear distinction between the two. For any stupid "non-mathematical" program you come up with, we can translate it back into pure math.
FAIL for not using some variant of LISP to define the != symbol.
So it's Scheme you want. Did you mean =, equal?, eqv?, or eq??
I am not for software patents, but I hate to see specious arguments being made. An argument being made in many posts here is that software is math, and thus not patentable.
I'd just like to look at that argument. Is there no difference between software and math? Math is purely thought. Software is executed on a machine, and communicates with the world through input and output peripherals. It seems to me that this makes a huge difference.
Maybe this argument is equating "software" with "algorithm". The latter is math. The former is a machine. That is to say, for any software, there is an equivalent hardware machine that can execute the same algorithm.
Since hardware can be patented, isn't it specious to claim that software cannot be, since software can be implemented in hardware?
Software ceases to be "just math" as soon as an interface between the algorithm and its environment is constructed. (Peripherals.)
For example, I spend a lot of my time writing algorithms for robotic equipment. So, I do math. I write algorithms. But these algorithms, while interesting in themselves, are only useful when connected to sensors and actuators. It becomes part of the machine. The machine does something completely different if I change the software. The machine and the software depend on each other, you can't change one or the other without changing things drastically.
The machine by itself does nothing. When programmed, it becomes a useful machine. I am tempted to claim that the machine is not really a machine until it has software. Thus, the software is an inherent part of the machine. In fact the expression of the algorithm as software, instead of building it into the machine as hardware, is merely for convenience. Its existance as software (math) as opposed to hardware (real material thing), is not fundamentally necessary.
Looking at this from the perspective of mechanics. Mechanical engineers don't only work in the shop. They spend a great deal of time figuring out the logic of how a machine will work before building it. This depends a great deal on physics. They must take into account hydrodynamics, friction, rigid body mechanics, etc. They figure this all out on paper, conceptualize a good design, and then build it to test their idea in the real world. They might even simulated it in software beforehand.
This is math. But they are building a physical, real machine! They are not programmers! What is the difference between software programming, and mechanical design? They share so many concepts.
So.
I think there are other perfectly good reasons for claiming that software should not be patented. But to claim is because software = math is not reasonable or convincing. Everything is math. Most things are not only math, if they also do something and interact with the world. This includes software programs running on a computer.
http://www.uspto.gov/web/offices/com/sol/2007-1130uspto_opposition_to_certiorari.pdf
The above link is a document submitted to the Supreme Court by the U.S. Patent and Trademark office in regard to Bilski. It begs the court not to look behind the curtain at the nonesense in Bilski.
Page 14 includes the following, I highlight the portions to which I would draw your attention thusly : --portion--.
In any event, --the court of appeals emphasized that its decision in this case --does not-- address the application of the machine-or-transformation test to --computer software--, data-manipulation techniques, or other such technologies not involved in petitionersâ(TM) risk-hedging claim.
See, e.g., Pet. App. 25a n.23 (âoe[T]he process claim at issue in this appeal is not, in any event, a software claim. Thus, the facts here would be largely unhelpful in illuminating
the distinctions between those software claims
that are patent-eligible and those that are not.â); id. at 28a (âoeWe leave to future cases the elaboration of the precise contours of machine implementation, as well as the answers to particular questions, such as whether or
when recitation of a computer suffices to tie a process claim to a particular machine.â); id. at 29a (indicating that the court will take âoea measured approachâ in applying the machine-or-transformation test to electronically
manipulated data).
Thus, even if petitionersâ(TM) policy arguments had merit, they are essentially irrelevant to the proper disposition of this case because petitionersâ(TM) patent application involves none of the frontier technologies on which the petition dwells. Indeed, the abstract market-hedging
scheme that petitioners seek to patent is ineligible under any conventional understanding of Section 101. This case accordingly provides no opportunity for the Court to address the problems that may arise in applying Sec
Accordingly, even the pro Bilski decision PTO says Bilski doesn't apply to software and it would follow that the discussed court decision is wrong. Therefore, you should all expect this decision to be overturned.
It's simply untrue that in Python 1 != True:
I get the point. But I can't edit my old post. What do you expect me to do.