Are Software Patents Evil? (2006)
paulgraham.com
paulgraham.com
On the flip side, I find it hard to put Drug Patents into the same category as a software patent that three engineers with a half-formed idea can sketch out in a period of a couple days, and then finish off with two or three round trips to the patent office.
I (and this is where I probably disagree with Stallman) think that truly, truly innovative algorithms, such as public key encryption, should be greatly rewarded for a limited time as a result of being shared with everyone.
But - "One Click Purchase" - a process that any high school student with knowledge of cookies could have invented in under 45 minutes if asked to, does not meet that bar.
So - put me in the "For non-obvious patents" column.
Node.js is pretty innovative. Is anything in there patentable? I think most people would agree it isn't.
You can't use the metric of capital investment either. It takes a lot of capital investment to mine BitCoins these days. Should I get a patent on the number that I find? If not, what's the difference between that and an algorithm I found through tuning a neural net, or through genetic algorithms?
I agree with you that RSA is the paradigmatic example of software that ought to be patentable. I still can't think of any objective way to show that, other than the judgment of other experts.
For several years they were really overwhelmed as the volume of software patent applications exploded and they couldn't hire well-qualified software patent examiners at nearly the same rate. Traditional patent examining practice of looking primarily at existing patents and secondarily at academic publications to show the state of the art also tended to miss a tremendous amount of publicly known subject matter. The examiners have been getting steadily better and more creative in searching for references though.
"An invention that applies old theory to solve an old problem in a new way."
The idea being that if the problem is long-known, and the theoretical underpinnings of the invention are long-known, yet the invention itself had not been previously described, then it must be novel and non-obvious.
In the One-Click case, the problem itself was new, so only the efflux of time could show if any solutions based on known theory were obvious or not.
If we think the FDA is overall worthwhile (I think some kind of testing is key, but it could be more done by insurers for efficacy with the FDA focusing on safety, but the current system isn't horrible), I'd be willing to allow patents in that specific case, to compensate for the regulation.
There is not anywhere near as much societal benefit to third-party audited testing of one click or business process, so trade secret remains possible for a lot longer (at least until the product is fielded), at which point first mover advantage and constant innovation should be at least partially effective in compensating the inventor.
I think the biggest risk be other drug companies just waiting to see which drug was effective, and sold well, and then just copying the drugs that were effective/sold well.
Marketing could possibly mitigate some of the risk once it's on the market (branded viagra vs. other drugs), especially in a world without the FDA (where you would have anxiety about the safety and efficacy of arbitrary drugs). Pre-launch, but after disclosure, there wouldn't be much of a way to differentiate yourself.
Also, by the time the drug comes to market (after extended trials), the patent is well on its way to expiration. In 2010 they changed this so you get 12 years of exclusivity on the market. There are also lots of lame dirty tricks to refresh patents (slight changes in packaging, marketing, etc.)
Without the FDA/testing, you could possibly keep the drug's composition secret even once it's on the market; you could reveal info under NDA, or reveal trials info without revealing the compound. You could even imagine a situation where possession of the substance is under license, so no one could try to reverse engineer it.
I don't think that is necessarily better than what we have now, but this is a lot of why patents make sense in medicine more so than in software, even if they don't make sense in either or make sense in both.
I think it would be simpler just to eliminate software patents entirely. You can cherry-pick maybe one or two examples of possibly beneficial software patents (e.g. public key encryption as you mention), but for the most part software patents have been economically destructive. And further, even stuff like RSA would most likely get created without patents anyway, because that stuff tends to come out of academia where many researchers would be happy just to have some influential papers. I doubt profit motive is really even a significant factor.
You don't need to merely suspect. The law already ostensibly limits patents only to non-obvious ones. We can observe directly that it is breaking down in practice.
What we have to solve is which side is larger for each option:
SocietalReturns : OpportunityCosts + USPTOCosts + EnforcementCosts
If you did this for each patent and averaged this ratio, we should come to the right answer of which option(s) to pick. I'd be surprised if something like drastically raising the NIH/FDA funding budgets didn't solve the incentive problem better than patents - especially for drugs that are probably the best case for patents.
The other side to this, that I've seen among clients, is they really do often make decisions whether to devote money to developing a technology based on the expectation of whether they'll be able to patent it.
I sometimes wonder how miserable Patent Attorneys who end up working for patent trolls must feel about themselves, or whether they've kidded themselves into believing they aren't part of the problem. Or whether they are just paid so much money they don't care.
This is possibly the most important statement in the piece.
Having a software patent term of 5 years is enough to have a leading product in competition even with software giants like IBM(start-ups are a good evidence of that). While the normal 20 year term for non-software patent, which certainly requires more time and money to have an upper hand vs big companies in already similar markets, should be left as it is.
Perhaps there are other industries where, for the grater good of human kind, they can apply some limit function on patent term, say Pharmaceutics.
The economics of production of hardware/things is (still) fundamentally different from the production of digital copies. And that is why it makes good sense to be squarely against software patents and be indifferent about hardware patents.
Software expressions are a form of lambda calculus, i.e., mathematics, and ought to be outside the proper domain of patents, whereas the proper domain of patents is the material. 1+1 is always 2. One drop of water + another drop of water is sometimes one drop of water and sometimes two drops of water and sometimes something else. One ball-bearing + another ball bearing is usually two ball bearings, but one needs to be careful about their environment, or you end up with something that no longer constitutes two ball bearings - and that is the crux of the matter. If your patent is intrinsically implemented by 25 or more Schrödinger modelled actual entities (e.g., just about any molecule larger than H2O) you're now operating in the material world, the old rules apply, and good luck to you. The Platonic 0 and 1 and the finite (though arbitrarily large) operations on them should not be bound by those rules.
And yes, it is a religious belief - in mathematics.
I am wrapping up a tremendously complex and awesome patent application today that my client is essentially implementing in hardware, but there is absolutely software involved, and I also drafted the claims so that a bunch of stuff my client happens to be implementing in custom ASICs is also covered if the same magic were also done by a general purpose computer running the same functionality in software. It's not a distinction almost anyone will ever be able to tell the difference with (except the custom silicon is going to function faster than a software-on-general-purpose-computer could do). Are you sure that difference would automatically make it not novel and undeserving of a patent?
I believe there is no meaningful distinction between an algorithm running on general purpose hardware and the same algorithm running on custom hardware. If you'd enforce your patent by claiming that someone else was barred from implementing an algorithm you own, I'd say that "what is novel is not physical". Algorithms are not within the purview of the patent office (or I should say, should not be).
If you'd enforce your patent by saying that someone else was barred from inventing your custom hardware to run this fast algorithm, I guess I'd want to know if the leap from the algorithm to the specific ASIC is "obvious to one skilled in the art".
That's where patents and most of us live. Seeing a patent as bad is not logical. Seeing the potential to improve on someone else's idea and acquire your very own patent is logical.
I think there is a decent case that software patents are uniquely broken, both practically and theoretically, and (net) harmful, while some others are (net) beneficial, such as pharmaceutical patents. So I think it's fine to be against software patents but not against other types.
"Only the Sith deal in absolutes"
His claim is that the distinction between algorithm and physical manifestation is false, therefore software patents are no different from hardware patents.
Software patents don't have anything like that. All it takes for someone to implement a piece of software is a cheap laptop and time. Everyone can write software (or rather, everyone has the financial capability to do so).
Produce software or produce a software product? There is a massive, massive difference.
What does this say about Apple's lawsuits?
I stopped reading at this point since PG appears to have just stated that software patents are the same as other patents but not really discussed this point very thouroughly.
I would disagree completely. Software patents are certainly nothing like any other form of patent.
I'll leave the copyright vs. patent argument for the moment (because although there are some cases where software patents are equivalent to trying to patent, say, a minor 7th chord), but I think the key difference is this:
Software patents protect IP that is more often than not, common knowledge or completely trivial but where the implementation of that idea or concept will prove the success of the venture. "One click shopping" is like the canonical bullshit software patent. There are a million different ways to skin that cat, and patenting that as a concept is absurd.
Other patents protect inventors who come up with a unique idea, process or design, the implementation of which is relatively trivial once you have that insight or knowledge.
Things like fabricating a new kind of mouse trap are just so easy that anyone with a couple of bucks can do it: buy competing product, send to china, make profit.
But I can't just go out and build, say, Farmville, unless I had all the source code and the engineering team at my disposal.
I'm not sure how to codify that distinction, but I think that's the key.
It's a bit like trying to write a computer program for common sense. I can tell the difference between good and bad patents (and I've never seen a software patent that I didn't think ridiculous) but codifying it in law is another story.
The former requires skills and experience within a given field but isn't some kind of grand invention.
The latter is something that would require great research, insight and discovery (and no, I don't think usability research counts here).
Patenting one click shopping is like patenting being really good at something.
Like if I were an amazing neurosurgeon, and I came up with this way of making sure I had a really steady hand - a way of breathing or a way of holding my wrist, and then I patented that and said that, even if someone came up with the same idea completely independently then they need to pay me for it.
Let's look at something I did recently: I came up with an idea for an ORM which doesn't require you to create any boiler plate base classes and uses the primary key structure of your database to intuit how to join tables together.[1]
Do you think that's patentable? I think not and to patent that would be total bullshit. I don't know what prior art exists (I've not seen anything that does this before but then I didn't really look all that hard) but even without prior art patenting this process would seem ludicrous to me because it's like patenting a workflow or a formula.
It's almost like the hardware analogue of that is patenting a way of using something, rather than an actual invention. Is that the distinction? Software patents that are awarded for figuring out how to improve the way we use existing inventions, as opposed to real inventions?
(1) since I'm a patent attorney, looking at your code and advising you on its chances of patentability would constitute legal advice and potentially initiate aspects of an attorney-client relationship outside of any retainer agreement, and I'm not going to do that;
(2) in the off chance that you ever do want to try to patent something that involves software, your future patent attorneys will thank you for starting to train yourself now to get out of the habit of making public posts about how ludicrously unpatentable your work is, no matter how much you might think of any current project at the present moment; and
(3) talk to a good patent attorney of your own, one who spends all her time on patent law subject matter, as soon as possible in the process, which will almost certainly be before you think it should be, about anything and everything you might ever possibly want to patent in the future.
Patent trolls, like terrorists, take advantage of asymmetric resource usage. So trying to attack their supply of lawyer resources might not work.
http://jeremy.tregunna.ca/articles/2011-07-28/fight_software...
This is a very good point and part of the problem. But there is a loop hole for big companies, that I can't help but wonder if it has even been used. A big company could, possibly under the table, use a small company to sue another big company, leaving no way for the sued to fight back.
Worst case, the shell company is dead.
This is not true any more. At least some developers withdrew from the US market because of patents fear (specifically, mobile app developers) - this is a business changing phenomenon.
How common is it in practice for useful information to be gleaned from published software patents? How many of us have ever had a problem to solve, and thought: I know, I'll search the patent database to see if there's a clever solution that's been disclosed by the inventor! I would suspect very few. Which implies that we're not getting much out of "our" side of the bargain.
That means that the odds of any hardware product of accidentally hitting or being encumbered by a patent are nearly nil. The odds of a software project of not hitting any patent are nearly nil.
This difference is circumstantial and not a fundamental property of things -- but a very important one.
I'm glad he says this because it's an important point. You can't stop software patents without stopping patents altogether, and that means Intel can't protect massive investments in new techniques for creating faster CPUs without deliberately obfuscating its hardware, etc. etc. etc.
Kill patents and we're in for a world of reverse-threaded screws, gadgets filled with glue, and on and on.
Software is protected by copyright and trade secret protections, so even without patents it will always be intellectual property that is strongly protected and which has material value.
Machines aren't patentable because they do stuff: they're historically patentable because new ones take a lot of work to create and they can easily be reverse engineered and copied, so they're patentable because of the pragmatic tradeoff that says that society will be better off if machines are patentable, because it gives people an incentive to create and share knowledge, knowing they won't be stolen. That same justification applies to why pharmaceuticals are patentable: it's a huge amount of work to create a new one, and once they're created they can be copied for a fraction of that amount of work, so without patents people won't research them. Machines are pharmaceuticals are in no way isomorphic in that they do the same sorts of things, but they do share the same sorts of qualities that make patents a net win for society.
Software doesn't share those characteristics: the difficulty of a given software "invention" tends not to be high (except for things like compression or crypto algorithms), similar "inventions" are likely to be arrived at independently, copyright and trade secrets protection work well enough to motivate people to do it, and outright duplication of a program without stealing source code requires a significant amount of work due to the size of any complex program. (i.e. you can try to copy photoshop down to the last behavior, but it's going to take about as much work as writing photoshop took).
Therefore, I don't believe it's to correct that since you can replace a machine with software, and the machine is patentable, therefore the software is patentable. The machine isn't patentable because of what it can do, but rather due to the inherent qualities of mechanical inventions, and those are things that simply don't apply to software.
If I make a machine with a vital mechanism in software why is it not entitled to the same protections as a similar machine which implemented the same function in hardware? And when does hardware transition to software? If it's an analog circuit it's hardware, but digital is software? ROM is hardware but EPROM is software?
If someone clones my "mechanical" device by implementing the patent-protected part in software is that a violation?
Assuming stuff is either like a sewing machine or like Photoshop is missing the point.
EDIT: Timothy Lee pointed to his article from a couple years ago that covers the same topic in more detail: http://arstechnica.com/tech-policy/news/2009/01/resurrecting...
"It is not uncommon to examine a return where the taxpayer claims to be in production yet keeps no inventory. Since the gold recovered must eventually be recognized as income, inventories must be maintained."
This is precisely equivalent to the situation with patents.