The purpose of patents had nothing to do with compensation. It was already presumed that an inventor could sell an invention. The real purpose was to promote disclosure of how to make things. In other words to reveal what would otherwise be kept a trade secret. This fits well with the notion of "non-obvious to a person practiced in the art", which would preclude Amazons one-click. The idea was: Tell us how it's made in exchange for a monopoly for some number of years. Spreading knowledge is how you promote innovation.
http://en.wikipedia.org/wiki/History_of_patent_law
By the 16th century, the English Crown would habitually grant letters patent for monopolies to favoured persons (or people who were prepared to pay for them).[13] This power was used to raise money for the Crown, and was widely abused, as the Crown granted patents in respect of all sorts of common goods (salt, for example). Consequently, the Court began to limit the circumstances in which they could be granted. After public outcry, James I of England was forced to revoke all existing monopolies and declare that they were only to be used for "projects of new invention". This was incorporated into the Statute of Monopolies in which Parliament restricted the Crown's power explicitly so that the King could only issue letters patent to the inventors or introducers of original inventions for a fixed number of years. It also voided all existing monopolies and dispensations with [some] exception[s]....
There has also been some historical research that suggests that the "Statute of Monopolies" was a political compromise[1]. There wasn't really a lot of thought about maximizing innovation or incentives, or whatever. However, I fully agree that the popular understanding of the patent system has more to do with incentives for innovation and disclosure. But any engineer will tell you there's far more optimal ways to explain technical devices and inventions than legalese and claims.
On a related note, the USSR had a patent system. With patents. Who would have thought? This stuff is super ingrained.
[1] http://diyhpl.us/~bryan/papers2/Generally%20inconvenient:%20...
To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.
It's clear from the historical record that this was about ensuring monetary compensation for invention, as knock-off devices were just as common then as they are now.
In fact, public access to patents was basically non-existent until the Patent Act of 1836. The "non-obvious" test came even later.
The purpose is "To promote the Progress of Science and useful Arts". This is achieved by "securing for limited Times..the exclusive Right".
Monopoly and financial compensation are not the aim of constitutional patent law, merely the means to an end.
Knock-off devices were common then as they are now, and in the absence of patent law, the best protection for so-called intellectual property is to just keep it secret. This, of course, has a negative impact on society, as research effort gets duplicated, and the state of the art advances more slowly than it otherwise could.
So, the balance is - share with the world the details of making your invention (i.e., progress the science or useful art), and in exchange, we'll guarantee that your openness doesn't bite you by aiding your competitors (we'll give you a time-limited exclusive right).
The US constitution does not contain the idea behind patents, it contains a view of how people wanted to encapsulate existing ideas into a legal document for a new nation.
> In Thursday's ruling, the court rejected a patent that claimed the concept of using a computer to hedge against "counterparty risk" — the risk of making a bargain and then having the other guy not pay up. The Supreme Court complained that in the process described in the patent, "each step does no more than require a generic computer to perform generic computer functions." Such a generic patent, the court said, isn't eligible for patent protection. The problem is that this criticism can be leveled at literally any software patent. At root, software is nothing more than a sequence of mathematical operations.
The Supreme Court in Alice came to two conclusions:
1) The concept of intermediated settlement is a "fundamental economic practice" and is so ineligible for patent protection under the judicially-created exception Section 101 for "abstract ideas."
2) The "method" and "system" claims in Alice Corp.'s patent amounted to nothing more than describing how to implement intermediated settlement on a generic computer in a generic way, and did not render the otherwise unpatentable abstract idea patentable.
The purpose of (2) is to foreclose on clever drafting that tries to get around the "abstract idea" limitation by framing it in terms of a specific implementation on a computer. What Alice says is that implementing the idea in a generic computer doesn't turn an abstract idea into a concrete implementation. It does not say that an otherwise patentable idea is rendered unpatentable because the patent describes how to implement the idea in a generic computer.
* checks *
Yep, Timothy B Lee. He's the Rush Limbaugh of Hacker News, telling us exactly what we want to hear, and the incredibly bad things that are possible, where "possible" means "doesn't defy the laws of physics."
If you look at CLS Bank v. Alice, the Court concludes that intermediated settlement is an abstract idea because it is "a fundamental economic principle." So to use your example, data compression (replacing frequently-repeated sequences with a shorter representation) might be a "fundamental computer science principle." But Lempel-Ziv-Welch, a specific compression algorithm, wouldn't be.
No they're not, at all. Software, as the name implies, is a commodity, which typically includes textual and graphical elements for human interaction and which interacts with multiple different mechanical and electronic subsystems. You might as well argue that mechanisms involving gears are not patentable because their behavior is expressible as a set of mathematical ratios. I'm certainly not in favor of all software patents or even software patents in general, but this notion that program = mathematical algorithm needs to die off.
Some hackers are always going on about how the judiciary fails to understand software, while assuming erroneously that they themselves have a perfect understanding of law.
The obvious answer is that our definition of what is an algorithm and what is abstract differs from the court's.
Every single bit of physics is math at it's core. If you come up with a new physical theory you will be ignored unless you also include the math for it.
Eg, has anyone filed a patent on something like "swing hammer to drive nail." Or "Spin wheel to turn car?"
I personally have not heard of such ridiculous claims however it wouldn't surprise me to learn some have slipped through the "filters" that are supposed to catch this stuff.
(http://www.google.com/patents/US6004596)
I don't think the swing patent was granted, but this one certainly was. And was only challenged in court when the multimillion dollar company thought it could stop other companies making crustless peanut butter and jelly sandwiches. In 2005.
paywalled WSJ article which I can't read (http://online.wsj.com/news/articles/SB111298192348602162)
I agree with the general idea of this piece, and I don't believe that software be patentable (or at least, software should be protected in a very narrow range of cases), but this argument doesn't hold up for me. For a person implementing a complex payroll system or a complicated user interface, the universal underlying mathematics are meaningless. Of all the time spent developing software, algorithm development is a tiny portion, much of which occurs in non-commercial environments anyway. It's comparable to the difference between the laws of physics and mechanical devices that operate as a consequence of those laws.
The Knuth quotation in the article, used in support of this position, actually seems to invalidate it in my view. "Algorithms are exactly as basic to programmers as words are to writers." The key being words. The value in a piece of literature has little to do with the individual words it's made from, just as a piece of software is clearly vastly more than the sum of its algorithmic parts.
Footnote: I mean this for multiple dimensions of 'value', not simply some measure of economic worth. Information processing and transformation ability, for one.
Literature would be hobbled if one couldn't use certain words without fear of litigation or rent seekers suing them.
> software is clearly vastly more than the sum of its algorithmic parts.
But it's all algorithmic parts, and the whole is no less an algorithm because its parts are.
Algorithm + Algorithm = Algorithm
If you want to rely on literature as your software analogy--that the composition of words/algorithms, the expression should be protected--then you're arguing not for patent protection but copyright protection, which we already have, and ridiculously is far better than what writers get. Because we don't have to share the human readable part the source code, just the compiled products. At least with patents one was supposed to disclose something of value.
You could say that anything at its root is simply a mathematical algorithm. These days it is possible to do a great many specialized tasks with either dedicated hardware, or software running on general purpose hardware. Should you be able to patent an asic design, but not a piece of software that does exactly the same job? Should incredibly complex and novel pieces of software not be eligible for patents simply because they're made out of 1s and 0s instead of nuts and bolts? Doesn't make sense to me.
What does make sense to me is to reform the entire patent system, in many cases drastically increasing the threshold for what is considered novel and non-obvious, and decreasing - again sometimes drastically - the time periods of monopolies offered. I don't, however, believe that this is solely an issue of software vs. not-software.
Nonsense. A brick is not a mathematical algorithm. You can use mathematical algorithms to calculate things about bricks but that's not the same thing at all.
Or yesterday there was a frontpage story about a guy who spent 13 years of his life building a (pretty cool) freeware game. I'm not arguing that he should be able to patent the mechanisms of the game, but not because it's just one big "mathematical algorithm". That's ridiculous; it's a work of art.
To use the example from the article, any design must be described with a sequence of words. You can't patent a sequence of words, so all patents should be invalid. To me, that's not much more of a stretch than saying that all software is simply a collection of mathematical algorithms. Perhaps literally true in a sense, but essentially meaningless.
Edit: By the way, since the perfect patent system is probably a pipe dream, I expect the world would be better off if software patents were abolished. I just don't believe this particular argument holds much water.
It's unreasonable to ask them to understand software as well as a software engineer.
This ain't necessarily true. Unless you extend math to encompass reasoning about hardware, operating systems, browsers, other apps, networks etc. Math deals with more basic things.
The real reason software patents are harmful is because the industry moves so quickly, fueled by openness, that the patent examiners don't always know the current state of the art, let alone obviousness. This basically kicks the can down the road and creates waste.
> The courts have repeatedly said that mathematical algorithms can't be patented. But many judges also seem to believe that some software is worthy of patent protection. The problem is that "software" and "mathematical algorithm" are two terms for the same thing.
This is false on multiple levels:
1) Laws of physics and laws of nature and cannot be patented. Elements of the periodic table are naturally occurring materials and cannot be patented. Yet machines applying these very same laws of physics and made out of these very same materials can be patented. As can compounds that are new arrangements of atoms of various elements.
This is because machines and compounds are specific applications of patent-ineligible physical laws using configurations of patent-ineligible individual materials. Similarly, software is an application of patent-ineligible mathematical algorithms (along with a healthy dose of I/O that translates wholly non-mathematical things into mathematical representations). Just as machines are patent-eligible, software is too.
Laws of Physics : Machines :: Elements : Compounds :: Algorithms : Software
2) As evidence of the above, note that most claims for software don't even claim specific algorithms, but rather just high-level descriptions that could be implemented in a thousand ways using a thousand different algorithms. A claim will almost never say, as one of its steps, "looking up a value using a key in a hashtable" -- it will almost always say something like "determining a value corresponding to a key", which covers all O(1), O(logN) or O(N) algorithms. (If they even get to that level of detail at all... most claims are at an even higher level, e.g. "receiving a compressed image and detecting faces in it", where each element would involve a multitude of disparate algorithms) Such language could cover any number of ways of doing something.
Some take this as a sign of abstractness. But when you look at patents on physical machines, their claims also rarely ever mention the precise measurements of the various components and the actual materials used. The number of materials and relative sizes that could be used in making a mechanical invention is as numerous as the number of languages, data representations and storage technologies that could be used in making a software invention. As such, machine patents also cover all ways in which to implement it. This is not abstractness, but rather the eliding of details that are irrelevant to the essence of the invention.
3) When the court says algorithms are un-patentable, they mean abstract formulae like E = MC^2. By itself, that formula does nothing, and hence is not useful. On the other hand, software for a web browser can cause your computer to fetch data from another machine a thousand miles away and display it on your screen. Regardless of level of technical competence, everyone can agree that this is non-abstract and useful. That's the primary reason that software is worthy of patent protection: it meets the statutory requirements, i.e. "any thing under the sun that is made by man".
Software is fundamentally no different from a physical mechanism. (Math is everything.) Software is just more tunable.
The focus should be on eliminating bad patents or patents fully. Please don't muddy the issue.