Red Hat Files Amicus Brief In Bilski Patent Case
I Don't Believe in Imaginary Property writes "Red Hat has filed a friend of the court brief with the Supreme Court in regards to the In Re Bilski case, which has become incredibly important due to the possibility that it could redefine the scope of patentable subject matter in a way that affects software patents. In the brief, Red Hat argues that software should not be considered patentable subject matter because it causes economic harm due to patents being granted with vague subject matter, which makes it impossible to say that a given piece of software doesn't arguably infringe upon someone's patent. They also point out Knuth's famous quote that you can't differentiate between 'numeric' and 'non-numeric' algorithms, because numbers are no different from other kinds of precise information." Read below for the submitter's thoughts on an earlier amicus brief filed in the Bilski case by Professor Lee Hollaar.
It's a pity, though, that they don't seem to directly address Professor Lee Hollaar's brief that gave a hand-waving excuse about the Curry-Howard correspondence being merely 'cosmetic' (whatever that means), even though you can turn ZFC into a program (ZFC being the axiomatic framework in which almost all math is done) and you can turn programs into math in order to verify them. Of course, this is the guy who called the successor function 'essentially nonsense', presumably because he doesn't think that mathematicians can differentiate between assignment and equality the way computer scientists can.
It's a pity, though, that they don't seem to directly address Professor Lee Hollaar's brief that gave a hand-waving excuse about the Curry-Howard correspondence being merely 'cosmetic' (whatever that means), even though you can turn ZFC into a program (ZFC being the axiomatic framework in which almost all math is done) and you can turn programs into math in order to verify them. Of course, this is the guy who called the successor function 'essentially nonsense', presumably because he doesn't think that mathematicians can differentiate between assignment and equality the way computer scientists can.
I'll go buy a copy of Red Hat.
The Kruger Dunning explains most post on
I agree that software shouldn't be patentable (either directly or through the various loopholes that applicants use to get around the fact that software, when claimed directly, is not a "process, machine, manufacture, or composition of matter").
But in my opinion, this should be a matter of policy motivated by the fact that the rate of improvements in the software arts is far too fast to permit 20-year terms of patent protection, and such a policy has to come from Congress rather than the courts. Current law seems to support the idea of granting patent rights for programs in the context of a "general purpose computer programmed with software" or a "computer readable storage medium embodying software", and I seriously doubt that SCOTUS is going to change that.
What does matter is the quality of the idea and the quality of the process to determine the validity of the patent application. This is where the problem lies today. It's not that people shouldn't get patents for software, it's that the patents that are being granted are of such poor quality that it calls into question the whole system.
In part, I think that the Redhat brief is consistent with this statement--the brief does not think that abstract ideas should be patentable (neither does the SCOTUS, PTO or Fed. Cir). If you read the brief carefully, it argues that patents on software are too vague to be useful and that the proliferation of vague patents makes the current system untenable. Compare that situation to, for example, patents that cover mechanical devices where the elements are discrete things that you can touch.
In patent speak, these are all problems under 35 USC Sec. 112. The problem for all of the briefs like this is that the issue before the SCOTUS is not 112, it's 101. Section 101 defines the "subject matter" of patents. It does not address the "quality" of the patents.
That said, a lot of people have argued in a number of places that really what's happening is that the PTO and the Fed. Cir. want to use 101 as a way to exclude poorly claimed inventions that step closer into the realm of mere abstract ideas and speculation than actual implementation.
But the SCOTUS does not take case to affirm the decision. So one of two things is going to happen: they are going to overturn the Bilski decision as too rigid or they are going to take the opportunity to rewrite the laws of 101 and 112.
But real world development is much more like seatbelt manufacturing than number crunching. Systems must be developed, not algorithms. In fact, algorithms, for the most part, are already done. It's the combination of these disparate parts into a cohesive whole that is the cornerstone of CS in today's industry.
That sounds more like software engineering than CS to me.
The value of a novel idea is in the idea itself. Whether this is something that can be built into a physical object or can only be programmed into electronic memory gates, the idea is what is important. With the idea, it is possible to recreate the actual implementation many times over.
Sorry, but how is math only somewhat related to CS? Software development, sure, but CS != software engineering. Machine learning is tons of linear algebra, high level calculus, and all sorts of mathematical trickery. Same with graphics, AI, heuristics, bioinformatics, quantum computing, motion tracking, vision, etc.
It is using mathematics to derive algorithms that solve our problems.
I really don't see where math has "left" CS. As far as I'm concerned, the interesting aspects of CS are the ones that are still really just "doing math using computers".
So, basically, you're saying "welcome to the era of patented recipes"? I'm going to start patenting any unusual combination of ingredients that I haven't already seen on iron chef and just wait...
There's a reason that there are separate laws covering copyrights, patents, trade secrets and trademarks. It's because the "milieu" *does* matter.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
Patents last for 17 years; product cycles in software are about 3. In other words, software ideas (even with complete source code) are usually worth zero after 17 years. In fact, almost all software ideas have the following characteristics:
Taken together, these mean that there is no need for software patents at all: people would invent software ideas all the time, even without patent protection (they did so for decades in the past), and they would benefit from them monetarily. Moreover, disclosing your software idea "for free" doesn't lose you much (this idea is not what makes your product unique) and gains you a lot -- it gains you all the ideas that everybody else discloses. The incentive to keep software ideas secret is so low that there is simply no need for patents to force disclosure.
You confuse CS with software development. Software development is better suited to a business college, though it is taking a long time for that shift to occur.
CS, at least at a decent school, is a true science and engineering discipline. A typical programmer is not a scientist or engineer in the same way as the steel worker isn't a structural engineer.
The problem really is the marketplace has been slow to realize that most applications can be developed without a single computer scientist involved. However if your application is dependent upon the reliability of a unique algorithm it might make sense to consult with a CS to ensure that the algorithm is implemented correctly in software and doesn't spit out 100,000 when it should display 65,535.
Fields like robotics, electronics, aerospace, etc, is where CS's should be working, where there isn't a library free or commercial to call upon and where the ability to communicate with real engineers as a peer is a must. I have known real Computer Scientists, and I have known over trained programmers.
What CS's really need to do is stop going to work as business software programmers... I don't see many structural engineers actually welding steel, many chemists pumping gas, or many electrical engineers wiring houses. A CS degree needs to mean something... and writing code for a living when you have a CS degree only perpetuates the myth that a CS degree is required to write software.
Sometimes the best solution is to stop wasting time looking for an easy solution.
In some ways, CS is still tied to mathematics. It is quantifiable and therein lies its only true link to mathematics. The development and study of algorithms is what CS is all about, and to the extent that mathematics can be used to measure these things it is useful.
Please. Actual Computer Science is absolutely still math and all about math. And Software Engineering is still math in the sense that all programs are literally -- no analogy needed -- symbolic representations of math. Not "something that can be described by math", like the motion of a clock's pendulum. They are math in the same way that "a^2 = b^2 + c ^2" is math.
And just because programmers often take an ad-hoc practical engineering approach to coming up with the right mathematical equations to do the job they want, doesn't change the fact that you're not doing anything more than coming up with a suitable symbolic description of math.
Some programmers don't appreciate this even as they do it. Not appreciating the fundamental nature of what you're doing doesn't make it go away.
The enemies of Democracy are
Ah I see. So the Pythagorean Theorem shouldn't be patentable, but using the Pythagorean Theorem to figure out how long to make the hypotenuse of a triangle with given sides you're constructing or how long the hypotenuse of an extant triangle with known side lengths is, should be.
The enemies of Democracy are
Any argument loose enough to classify algorithms as mathematics
LOL. Algorithms are a subset of mathematics, no "argument" is necessary.
And the difference between software and all other patentable subject matter is that while other subject matter can be described by math, software literally describes math. That's what software is: Just another symbolic language for describing math, that happens to be conducive to being read by a machine.
Software is math in exactly the same way that "a^2 = b^2 + c^2".
A stone flying through the air can be described by the math for a parabola. Language that symbolically represents that mathematical relationship is math, whether it's machine-readable or not.
The enemies of Democracy are