Good thing all source code is just very convenient mathematical notation describing an algorithm... This to me is the most fundamental reason software patents are insane.
The Federal Circuit en banc decision on CLS Bank v. Alice is coming out soon. This case will likely give guidance on a 101 patent subject matter test for software patents (which the Supreme Court would then overrule). The certified questions are:
a. What test should the court adopt to determine whether a computer-implemented invention is a patent ineligible "abstract idea"; and when, if ever, does the presence of a computer in a claim lend patent eligibility to an otherwise patent-ineligible idea?
b. In assessing patent eligibility under 35 U.S.C. § 101 of a computer-implemented invention, should it matter whether the invention is claimed as a method, system, or storage medium; and should such claims at times be considered equivalent for § 101 purposes?
Upvotes for being the most relevant of any comment on this thread, but it just reflects what the problem is. If history is any guidance, the Federal Circuit will create something rather patent-friendly (brought to you by the team who brought you State Street Bank) and, if it's a big enough deal, SCOTUS will step in to overrule.
Of course, followers of the court will note that if recent other cases are any indication, the justices will punt on the actual question. The problem is, as Justice Kennedy notes
"the patent law faces a great challenge in striking the balance between protecting inventors and not granting monopolies over procedures that others would discover by independent, creative application of general principles. Nothing in this opinion should be read to take a position on where that balance ought to be struck.
" Bilski, 130 S. Ct. 3228
Yet of course, the court is way too busy dealing with Obamacare, gay marriage and pharma inventions to care about software patents. Heck, it's their constitutional role not to actually help the software industry out of this patent war going on. Right Justice Breyer?
"In consequence, we must hesitate before departing from established general legal rules lest a new protective [patent] rule that seems to suit the needs of one field produce unforeseen results in another. And we must recognize the role of Congress in crafting more finely tailored rules where necessary" Mayo, 132 S. Ct. 1305 (2012)
Of course, as AIA showed, Congress is more worried about posturing on patents than taking any of the decisive action that those who disfavor the status quo in software patents would like to see. So instead, the industry continues doing what it's always done, finding ways to monopolize technology for profit. And the reddits, Hacker News and open sources folks of the world will complain, but it won't matter. Again and again and again, and it's just really tiring at this point.
> And the reddits, Hacker News and open sources folks of the world will complain
So here is the problem. People on Hacker News and Reddit will complain. But people at Google, Microsoft, Oracle, etc, keep filing tons of patents. From the perspective of judges and Congressmen, it seems from the outside that everything is fine (every industry, of course, has its discontents).
That's the basic problem--until you can get the big players on board, nothing will change. The Federal Circuit has its biases, but it's not necessarily a "pro patent" bias. Instead, its a pro-Big Science bias. There's nobody on the Federal Circuit from a startup background, but there are judges who used to be engineers and scientists at DuPont, Monsanto, etc. Engineers in Big Science have a different view on patents than startup folks. Their big worries are stuff like: if the Chinese blatantly rip off our technology, can we fight them in the ITC? They don't care about frivolous patent law suits, because a few million dollars here and there isn't even a drop in their legal budgets. This is not a value judgment, it's a description of the state of affairs: the balancing that seems reasonable between defending real innovation from copying and protecting small companies from frivolous lawsuits seems very different when engineering as you know it is Dow, DuPont, etc, than when it's Rackespace, Redhat, etc.
I think the most interesting thing right now at the Federal Circuit is the complete change in make up of the judges. I think President Obama has or will have appointed half of the court. In 2009, Justice Roberts stated at the Supreme Court during oral arguments for a non-Federal Circuit case, "Well, they don't have a choice, right? They can't say, I don't like the Supreme Court rule so I'm not going to apply it, other than the Federal Circuit." The Federal Circuit is not regularly being overturned any more and that may be a reflection of the new court (just a guess here).
I think some of the recent cases on reasonable royalty show a Federal Circuit trying to reform the system a little bit.
>I think President Obama has or will have appointed half of the court.
"Will have appointed" has taken on a new meaning during this presidency. The Circuit Court currently has 16 vacancies, and 6 "Judicial Emergencies",[1] meaning that there are too many cases for current judges to handle. Although Obama has made fewer nominations at this point than his predecessors, this shortage is largely because Senate Republicans hate Obama and refuse to confirm his nominations — ability of litigants to have their cases heard be damned.
Well, technically, they hate science, they hate careful discourse, and they hate themselves for being very stupid, but psychologically won't admit that and they need an object to project these feelings onto, so Obama becomes the instantiation of their bogeyman. But all points agreed with!
Good thing algorithms aren't patented and instead it's the application of the algorithm that gets the grant. Most are written as "a method for performing X by doing Y."
IMO, the issue with software patents isn't that businesses patent algorithms or code(which they don't do). Instead, it's that technology moves too fast for the monopoly time that's granted. When it comes to software, what's innovative 5 years ago is common place and often a commodity today.
What's the difference between "a method for sorting an array of integers by doing <steps of Quicksort>" and simply patenting Quicksort? Or do you mean something more specific to a particular product, like "a method for sorting a list of restaurant recommendations by doing <steps of some machine learning algorithm>"? Either way, all I'm seeing is algorithms.
Because you can't directly patent an algorithm, software patents use all sorts of fascinating workarounds to pretend like they've patented something else instead. A typical software patent will include the same patent claims written several different ways, based on legal precedents used with software patents in the past. A patent on an algorithm for fooing bars via steps A, B, and C, with the additional claim of doing D while fooing, might have one set of claims:
1. A method for fooing bars, comprising A, B, and C.
2. A method in accordance with claim 1, wherein said fooing further comprises doing D.
3. A system for fooing bars, comprising A, B, and C.
4. A system in accordance with claim 3, wherein said fooing further comprises doing D.
5. A computer program product for fooing bars, comprising A, B, and C.
6. A computer program product in accordance with claim 5, wherein said fooing further comprises doing D.
This covers several different legal precedents; even if "method" gets invalidated as an approach, the patent may still work under the "system" or "computer program product" theories.
This gets taken to a ridiculous extreme; many such patents describe the computer program product as a physical object consisting of bits on a medium such as a CD or disk, and include as a figure an illustration of such a medium.
In the second case, you're not patenting the algorithm, because people remain free to use the algorithm to do things other than sorting lists of restaurant recommendations.
Which is ultimately why "its all just algorithms" is a uselessly reductionist view of things, in the same way "all creative works are just strings of bits" is uselessly reductionist, or even "all physical objects are just globs of atoms" is uselessly reductionist. It's not a useful level of abstraction at which to view the issue.
Ultimately you have to tie it back to the purpose of the property right. Why does someone have a legal right to a particular glob of atoms, or a particular string of bits, or a particular series of steps of some algorithm in some specific context?
"In the second case, you're not patenting the algorithm, because people remain free to use the algorithm to do things other than sorting lists of restaurant recommendations."
That doesn't make the situation any better, in my mind. In fact, in many ways that makes it worse.
Step 1) File patent for using algorithm (everyone knows) to do (some obvious application of that algorithm).
Step 2) Wait around for some other poor sucker to do the hard work of actually implementing "your" idea.
I agree with your #1 though in that I think you should absolutely be required to have a working prototype to file a successful patent. A lot (though not all) of my objections to software patents would go away if that were enforced.
I disagree. If you look at something like the software in your cell phone that handles the power control loop or hand-offs, etc, I guarantee you it's not very many lines of code. But the underlying algorithms (the specification), is the result of months if not years of experimentation and empirical validation.
That's the sweat of the brow argument: If somebody worked really hard then they should get a cookie. But that doesn't work. If Bob is a savant and he designs a brilliant hand-off algorithm in five minutes, should that not be patentable because he didn't have to work very hard, but an algorithm that isn't even as good should be because a much worse engineer spent a lot longer to design it? The result would be to reward mediocrity and waste.
Which is why we look at the invention instead of the effort. So even though I'm sure Einstein worked really hard on E=mc^2, laws of nature are still unpatentable, because it's a description rather than an invention.
The problem is that no matter how hard it is to discover it, we can't give you E=mc^2, because it only describes things. You can actually have implementations that predate the discovery, because it's possible to build something without being able to describe how it works. We had X-ray machines before we had E=mc^2 even though it describes their operation. Allowing a patent on anything following the description would allow too wide a scope. You would be claiming too many things you didn't invent.
But algorithms are the same way. They're not inventions, they're abstractions. There is a really cool ad hoc routing algorithm where you send packets along random routes but tag the routes, and then the more/faster packets get to a destination using a particular route, the more you prefer that route for future packets. Sounds like something that should be patentable if algorithms are patentable, right?
But it's called the ant algorithm. Guess why.
Algorithms are pure abstractions. Those little buggers crawling around leaving scent tracks everywhere have certainly never heard of your algorithm and have no capacity to produce any sort of a binary, but there they are infringing your would-be algorithm patent.
So you say, a-ha! We'll just make it an invention by applying a context. Then the wildlife will be able to escape liability (and hopefully stop serving as pesky prior art).
The issue is that the context is totally facile. The interesting thing is the algorithm, not the context. It's just taking the unpatentable thing and adding "on a computer" and claiming it as an invention. Sometimes they try to be subtle and instead of saying "computer" they say "ad hoc wireless network" or "anonymizing P2P network" or some other thing the meaning of which is always "computer that could benefit from using this unpatentable algorithm" as if to pretend that the limitation is meant as an actual restriction rather than merely a vague description of the circumstances under which the algorithm is expected to be beneficial.
I'm actually surprised anybody would say that. To use an example, you're saying it's more difficult to implement quicksort than it was to come up with it in the first place?
IME, compared to thinking up an algorithm, implementing them is very easy.
>In the second case, you're not patenting the algorithm, because people remain free to use the algorithm to do things other than sorting lists of restaurant recommendations.
I know this wasn't your example originally, but it does exemplify a common problem: There is nothing special about sorting restaurant recommendations vs. sorting some other such thing. If you have an unpatentable algorithm which is good at sorting lists of anything it shouldn't become patentable just because you claim it as "sorting restaurant recommendations." Mixing an unpatentable algorithm with a totally obvious application of it shouldn't get you a patent.
>Ultimately you have to tie it back to the purpose of the property right. Why does someone have a legal right to a particular glob of atoms, or a particular string of bits, or a particular series of steps of some algorithm in some specific context?
So why should someone have a legal right to a particular series of steps of some algorithm in a specific context? Why should adding an arbitrary context make it patentable if it wouldn't have been otherwise?
> I know this wasn't your example originally, but it does exemplify a common problem: There is nothing special about sorting restaurant recommendations vs. sorting some other such thing. If you have an unpatentable algorithm which is good at sorting lists of anything it shouldn't become patentable just because you claim it as "sorting restaurant recommendations." Mixing an unpatentable algorithm with a totally obvious application of it shouldn't get you a patent.
Totally correct. The first requirement to patent something it that it should not be a trivial invention (something that is so easily derived from something else). But most patents are, however, trivial in the software world. That is a big issue.
(I'm no expert at software patents so take what follows with a healthy dose of NaCl)
It seems to me the difference is a question of "real world implications". For sorting integers using quicksort, yes that's just a mathematical algorithm: an algorithm that performs operations on mathematical entities. The moment you apply that algorithm to something that affects the real world, that's when it becomes patentable. E.g. sorting restaurant recommendations by applying quicksort to the individual rating. This is no longer simply a mathematical algorithm; the entities being manipulated have a 1:1 correspondence with entities in the real world. It is recognizing the usefulness of this particular correspondence between mathematical entities and real world results that is patentable.
I'm no expert either, but I will take offense at your statement. It's everything I think is wrong with the patent system.
Sorting is a mostly solved problem. You take a group of numerical things and end up with a group of numerical things that are now sequential. You can either do it slow, fast, or stupidly.
If you have the example of ratings of restaurants, you're going to have some kind of group of numbers. If you want them sorted, you use a predefined and should-be unpatentable algorithm and sort the damned list. But your business model shouldn't be sorting a predefined list, because that's a really stupid business model and any fucking person can do it. Your business model should be to find a unique and novel way to rate restaurants (social graph, Zagat, number of cockroaches found in soup, etc.). The outwards facing UI of that rating system should be entirely disconnected from what your patent does. The order of that list is, yes, directly connected to how you rate restaurants, but the end result itself is not exactly how you rate them, it's just representative of the end result of your rating.
Think of Page Rank. Anyone can crawl the web and get a list of pages on the internet. Anyone can then sort that list by whatever means they want. It's not the sorting that is patentable, it's the association of some qualifier into a numerical representation of which gets sorted by another un-patentable system that is the "secret sauce".
I think you misunderstood my comment. My point wasn't to justify patenting sorting (that would be stupid). It was just an example to clearly show the difference between an algorithm and an application of an algorithm. In the case of sorting (replace with arbitrary algorithm X if you prefer), its discovering a unique and non obvious mapping from the mathematical entities that are manipulated to the real world that is patentable, rather than the algorithm itself. The point I'm making is simply that patenting an application of an algorithm is fundamentally different than patenting the algorithm itself, so claiming software patents are invalid "because math" is missing the point.
you patent "a method for sorting an array of integers by doing <steps of Quicksort> on a computer". want to use the algorithm? go ahead, doing it with a pencil and some paper is ok (i believe).
Maybe there should be some burden of proof that many people have tried to solve the problem at hand but not come up with the solution in the patent application. For instance, if you invent a new sorting algorithm today, it would be reasonable to patent it; whereas if you invent a new voice activation scheme for a smartphone, it would be unreasonable to patent it because the whole field is relatively new.
This touches upon the biggest problem I have with the patent system: The bar is very low on the "novel and non-obvious" criteria. If that were used properly, there would be fewer patents, and they would be higher quality.
Yes, yes, yes!! I think this is the smallest change that could be made to the current system to make it sane.
The burden of proof needs to be on the patent holder to show, by a preponderance of the evidence, that they invented something nonobvious. That's a pretty low bar, but would require them to present some evidence, which they currently don't have to do.
In my limited experience with both successful and unsuccessful patent applications, the first response from the patent office is often a "nonfinal rejection" due to obviousness (section 103 rejection). In response, you should present evidence that the invention is not obvious. Here are examples of types of evidence that the USPTO finds compelling:
- commercial success (not due to better marketing).
- failed attempts by other people to solve a longstanding problem.
- awards or publications in the scientific literature.
- the invention involves a combination of components that produce an unexpected result.
Considering some of the patents I have seen, I would like to know what evidence of nonobviousness could have been presented for them. Perhaps one useful change would be to require that evidence to be part of the public record.
In any case, as I understand, once the patent has been issued, the courts generally defer to the PTO on the obviousness question. I think plaintiffs in infringement cases should have to demonstrate nonobviousness again in order to proceed. While it would be better for the PTO to be more of a stickler on this point, the fact is that we don't give them the kind of resources they would need to do as thorough a job as they should do on every patent.
For example, the PTO could maintain a team of engineers specifically for obviousness testing. When an application comes in, they would pose the problem the patent claims to solve to a selected panel of maybe 4 or 5 of them, who would have a couple of days to sketch some possible solutions. If they come up with the same idea as in the patent, that should pretty much kill it.
But as I say, we don't spend enough money on the PTO for them to do that. Since we don't, having the courts re-evaluate each patent on this point seems the only solution.
no, the application would be the actual app. i would comply with copyright law if i simply wrote another app, whereas i will still violate the patent.
the problem i have with algorithmic parents is that computer algorithms trend tend to be quite composable. other patents in other field aren't, e.g. pharma parents. when one algorithm could be such fundamental to a large amount of different apps, a patent on it gives the patent holder way to much than they deserve.
I know the law, but I'm saying that we already have protection for expression on an algorithm -- i don't think we need to patent an app that is simply an implementation of an algorithm.
In Europe this is solved by not allowing patenting of mathematics or raw algorithms but allowing patents that cover the technical application of such things.
In certain fields the "technical effect" required [it's not called that any more, the test is more nuanced now] is, shall we say, less obvious than others. [Digital] Image processing/codecs/compression for example always seemed very close to just maths.
It's the same way in the US, one doesn't patent the mathematics or algorithm, but the application of an algorithm in a particular field. Discussions on patents are usually so low-information that important details like this are elided. However, I can get behind the point that if your worldview is limited to just software, this can be distinction without a difference.
In Europe, they tried to solve it by saying inventions which are computer implemented and only solve a business problem instead of a technical problem are considered unpatentable[1].
However, what you are saying is the same in the US its why patent applications say "A method for performing SOMETHING by REASON"
I'm a fan of privacy, so I wouldn't like people secretly taking skin samples and distributing facts about my DNA, but I wouldn't like the ability to license parts of my own DNA and expect the government to enforce IP laws to cover my DNA.
Not really, the incentive to copyright incentivizes the invasion of privacy. I can walk behind you with a trash bag and voila. Sure, they are different but related.
I imagine there would be trouble with the logistics of copyrighting molecular structures whose primary distinction is their propensity to copy themselves.
I'm not sure we want to go down this road. For one, it's not "your own" DNA. Barring the occasional mutation, every bit of it came from your parents, grandparents...
I'm not comfortable with the idea that my cells contain someone else's intellectual property.
I agree that your DNA is a big integer , but I don't agree that you're just a number. A number alone is meaningless. The data contained in an MP3 or JPEG alone is meaningless without an interpreter that converts that data to a song or an image. Similarly, the data of your DNA is meaningless without an interpreter that converts that data into a human being.
So we're not just the data in our DNA. We are both our DNA data and the biological processes required to read that data, parse the information, and construct every part of ourselves (hat tip to mom for the initial power supply).
I think it's a valuable introspection to consider that the data set used to build each of us is representable by an integer, but we should not fall into the trap of believe that that is all we are.
DNA is data and code, code is math. Your cells are computers, robots-. Your brain is a Neural network, so it is also a (different kind of) computer (built out of your cells, smaller computers/robots). All this is well very cool and well known.
:)
Though they do share a whole lot. It would be like making a phone rectangular with a touch screen and a home button. Obviously everything inside your phone is completely original, but because they look vaguely similar, you've violated your twin's copyright.
It seems to me that the extent to which monozygotic twins do not have the same DNA would be comparable to the extent that clones would not.
Wikipedia indicates that the number of differences averages in the low hundreds, surely with such a low number there would remain plenty of parts that remain truly identical. For the purposes of a twin suing a twin for patent infringement, couldn't we just assume one of the many unchanged portions was patented, not the entirety?
>Good thing all source code is just very convenient mathematical notation describing an algorithm
Only really true for pure functions (i.e. same input -> same output + side effects), I think. A lot of the code in actual practice is stuff like "update this bit of object state", "set this server variable so that it does this"; and it really doesn't generalize beyond a very specific platform.
Those may still technically count as algorithms, but not in the sense people normally think of them.
Although the ones they try to patent generally are of the "pure function" type, so it may be a distinction without a difference.
I'm not sure how good that would be for helping you understand the formulas. I think they would probably make them more obscure, especially with optimizations. What if you tried to teach yourself Linear Algebra just by reading the source code of Intel's MKL (if you had access to it); I don't think you'd get as far as if you just studied a traditional math based approach.
Absolutely. Although as a programmer and someone who reads mathematical papers I'm not sure how much of a benefit this would be. The hard part in understanding isn't any particular step, its comprehending how each step fits together as a whole. I don't immediately see how the translation would help this.
I feel the same way. In fact, reading math feels like reading code where all the operators have been overloaded and there are only 26 available variable names.
Yeah, there's no doubt a benefit in reading a concept in a language you're more comfortable with. It would have to be an interesting algorithm that could extract meaningful variable names from the surrounding prose when translating an equation to code :)
All algorithms are theorems. All theorems can be represented by unique numbers (Gödel numbers). In the abstract sense they exist at all, all numbers exist prior to their use. Therefore all algorithms are discoveries, not inventions.
Ok, this argument sounds clever at first but is actually trite, being excessively reductionist and ignoring that some intellectual creativity occurs in most discovery. Most obviously it motivates a better proper definition of the term "invention". Patentable inventions should always be applications of technology, not the technology itself.
The whole purpose of patents is to encourage more innovation that benefits economies as a whole, by granting a temporary monopoly to entities to benefit from the process and expense of invention. Standing to sue should be on that basis; transference of rights to another entity should not whitewash that socio-economic responsibility. Everyone with distate for the NPEs understands this.
Some very basic background from a famous patent case (Diamond v. Chakrabarty):
"Anything under the sun that is made by man [is patentable] . . . . [T]he laws of nature, physical phenomena, and abstract ideas have been held not patentable . . . a new mineral discovered in the earth or a new plant found in the wild is not patentable subject matter. Likewise, Einstein could not patent his celebrated law that E=mc2; nor could Newton have patented the law of gravity. Such discoveries are manifestations of nature, free to all men and reserved exclusively to none."
Math can't be patented and yet you can get a patent for code snippets? This sounds absurd since all code boils down to mathematical manipulation of binary numbers. I guess if you abstract something enough you can get away with patenting it? Can we patent methods of preparing food now? How about ways to put something together (think ikea)?
Why hasn't anyone patented something like the smartphone yet people can patent something as arbitrary as memory management techniques?
I would say I hate our patent system but I'm just too damn confused by it to form an opinion or explain why I hate it.
You can't patent atoms, but you can patent compounds made of those atoms, like a new plastic. Or, if those compounds are already open, you can patent products that combine those compounds into a new shape, like a new blender. You can't patent the human voice or melodies, but you can patent a song. You can't declare that because someone's. product uses raw materials that are patent-free, that their final product isn't really an invention. Every thing is built on some other platform, so that would remove patents entirely.
Why haven't people patented methods for cooking food and sued other restaurants for suspected patent infringement? Patenting solutions to common problems (programming or otherwise) seems crazy to me.
I personally think copyright law provides enough protection for software. I think patents would actually harm innovation in the software world.
Algorithms are inherently protected, anyway - they're not like clever mechanical solutions that can be reverse-engineered by anyone with eyes and a brain; they're usually close-sourced when the author wants them to be. Patents may be necessary to protect products with transparent functionality, but software usually doesn't fit that bill unless it's deliberately open-sourced.
Even if you developed a strong AI algorithm that will change the world, there should be competition. It's not like Microsoft will hire a few engineers to rapidly develop something that transcends yours; it would be a reverse engineering challenge to any competition.
What if algorithms behind network protocols were patented? Computers would still be novelties and corporate tools, I think.
So patents solve the incentive problem, just like copyright. Copyright solves the incentive problem when "writing masses of software" is the hard part. Patents solve the incentive problem when "figuring out what software to write" is the hard part. Take things like garbage collectors. Even the most complex are only 15,000-20,000 lines of code. Writing those lines of code was the easy part--it was figuring out what that code should do, and doing all the testing to figure out what worked and what didn't that was the hard part.
>Copyright solves the incentive problem when "writing masses of software" is the hard part.
That seems backward to me--when you've already figured out what to make, and the hard part is producing mass quantities of it--isn't that what patents are designed to protect?
>Writing those lines of code was the easy part--it was figuring out what that code should do, and doing all the testing to figure out what worked and what didn't that was the hard part.
Similarly, typing the words of a novel is easy; figuring out what to write is hard, which is a good reason for copyright protections, but I'm not sure if it has any bearing on the issue of patents.
> That seems backward to me--when you've already figured out what to make, and the hard part is producing mass quantities of it--isn't that what patents are designed to protect?
The archetype of what a patent is designed to protect is something like a drug formula. Manufacturing lots of drugs is easy--figuring out what chemical to manufacture is the hard part. That is both hard, expensive, and easy to reverse-engineer.
OK. It's probably more common in folklore than in real life, but I was thinking of the situation where mass production was the hard part, for example, where a lone inventor comes up with a process or design, but does not publicly disclose it because of fears that someone else (with better ability to mass produce) would capitalize on it.
So I agree that patents (and the extent of their protection) makes sense for things that are "hard and expensive", in software as in other fields. But it seems like many software patents that get discussed are for things that did not require a lot of work; the 20-year monopoly seems to be a disproportionate reward just for being first, regardless of the work involved.
Well, this is how our system works. There is nothing stopping me from filing suit against you for posting this comment because it hurt my feelings. Then the judge throws it out because there's no basis in the law for my claim.
Motion to dismiss for failure to state a claim? Including reading the complaint, researching and drafting an answer, and associated communications, figure 30 hours of attorney time.
Wilmer Hale? Figure $400/hr.
$12K to respond to a claim so frivolous that it was dismissed instantly in the friggin' Eastern District of Texas.
Hope RedHat can get some fees back from these fools.
In a society chalk full of rent-takers, you would expect that when one of these rent-takers "imagines a promising new field", their first impulse is to see if they can move their figurative fences little further out to extract a "reward" for their "discovery".
Seems like uniloc is willing to file lawsuits without any considerations. see below for an interesting Q&A on uniloc's site:
Q. How many additional lawsuits does Uniloc plan to file?
A. Uniloc plans to defend our patents aggressively whenever they are infringed. This protects our business and our shareholder value. In our view, it’s the right thing to do.
Wait, so are Software patents acceptable but patents on mathematical algorithms not okay? Where is the rational in this? Granted, the patent in question is absurd to a new extreme (trying to patent floating point numbers).
Mathematics are reasoned to be "a law of nature," and "abstract ideas," and so they are explicitly excluded as unpatentable subject matter under 35 USC 101.
Algorithms are established to be mathematics under Case Law, particularly Chakrabarty, 447 U.S. at 309, 206 USPQ at 197; and Flook, 437 U.S. at 585, 198 USPQ at 195.
Diehr, 450 U.S. at 188-178; establishes that if the patent is for a particular application of an abstract idea, but not for the abstract idea itself, it may be patentable.
>Diehr, 450 U.S. at 188-178; establishes that if the patent is for a particular application of an abstract idea, but not for the abstract idea itself, it may be patentable.
Worth pointing out is that the patent in Diehr claimed a method for curing rubber and contemplated a collection of specialized hardware. Not exactly pure software.
Do you know of any case other than Diehr where the Supreme Court has actually sanctioned a software patent?
Not personally, no. Other than Diehr and Flook, SCOTUS hasn't really dealt with software patents much at all. One of the dissenting justices in Bilski lamented the fact that they didn't deal with the wider issue of system and process patents, particularly as they applied to software.
> Diehr, 450 U.S. at 188-178; establishes that if the patent is for a particular application of an abstract idea, but not for the abstract idea itself, it may be patentable.
So what does that mean, "a^2 + b^2 = c^2" cannot be patented, but "using 'a^2 + b^2 = c^2' to find the length^2 of the hypotenuse of a right triangle" in theory could be (were it "invented" today of course)?
Actually, I should clarify a little: The more recent In re Bilski establishes that a rote process (like finding the length of the hypotenuse in your example) is not patentable. It requires a machine or a tangible transformation. That is, a machine that does this calculation.
I don’t quite get it either – though I am generally not opposed to software patents on complex software, nor for ‘maths patents’ on complex algorithms. It is just the trivial ones that get annoying over time…
On the other hand, most ‘engineering patents’ were probably also quite trivial during the first few years of the modern patent system – but you don’t necessarily have to repeat mistakes :)
From what I learned of math, all mathematical algorithms are eventually refactored until they are "trivial". Trivial is a mathematician's favorite word.
> Wait, so are Software patents acceptable but patents on mathematical algorithms not okay? Where is the rational in this?
Compare to other fields. Patents on drugs are allowed, for example, but patents on the laws of chemistry are not. Patents on mechanical devices are allowed, but patents on physical laws are not.
The difference is that an algorithms patent is a patent on a mathematics; a patent on a drug is not a patent on a law of nature. That is why software patents try to make clever end-runs around the restrictions on patents by saying things like, "...on a computer."
Could you patent the application of a law of physics/chemistry, where a new one discovered? Or could Feynman have patented using Feynman diagrams to visualize interactions between particles?
>the patent in question is absurd to a new extreme //
Not really new nor an extreme. In the past someone claimed they had a patent on arabic numerals that covered use of them in representation of numbers ... the application was refused ...
It's not that bad. "All" we have to do is implement everything in Lisp, since Lisp can be reduced trivially to the lambda calculus.
Once again, Lisp saves the day! ;)
EDIT: I'm totally looking forward to experienced Lisp and Haskell programmers like me being in high demand for their legendary skills... at invalidating patents!
Indeed. By the Church-Turing Thesis, any program written for any Turing Machine (including any Turing-complete language) can be translated into the lambda calculus through a rote transformation.
This would overturn every video/audio/data compression patent. Every Encryption Patent. It would over turn every Google Search Ranking Patent. It would limit patents to physical things.
Under that system even many physical devices would not be patent-able. The math that goes in to Battery charging optimization. Silicon Chips would not be able to patent XOR, NOR, OR, Gate logic.
This judge doesn't have the authority to make such changes to patent law.
The true problem is obviousness. Any machine is reducible to an algorithm is reducible to an integer. They are all the same. It's ridiculous to say that algorithms are "discovered" and not "made by man".
There needs to be a better procedure for throwing out all the stupid obvious or trivial patents - but allow ones that have required the blood, sweat and tears of their inventor to create.
Does anyone know which patent is being asserted here? I thought Uniloc only had one patent, and it was related to try-and-buy DRM. But the description in the article says "processing of floating point numbers by the Linux operating system was a patent violation" which doesn't seem to fit. Is there another Uniloc patent?
> In an effort to unify methods employed in computer systems for performing binary floating-point arithmetic, the IEEE in the early 1980's standardized computer floating-point numbers.
> [...]
> In reshaping the IEEE format, the present invention retains most of its benefits while offering the microprocessor designer and the real-time programmer a much cleaner and more efficient implementation.
For what I understand, is an extension of the IEEE standard.
Now, actually follow the wikipedia link and read it, to see Simons is a professor of maths with important contributions to the math behind string theory.