I've been sitting on this post trying to formulate it at reasonable rather than essay length - I hope readers will forgive me if I go on some. I'm also uncomfortable calling out the EFF for wrongheadedness. I know they're smart people who are trying their best. Usually I support them, but this time I think they're substantially wrong. If you're not familiar with their latest "Want to Abolish Software Patents
" effort you can read the discussions and proposals at the project's new site
I think the campaign to abolish software patents fails on three grounds:
- Theoretical: I don't see how you can abolish software patents without also abolishing hardware patents.
- Business: I don't see how you can abolish software patents without finding an alternative for people who need legal protection for key information/IP assets.
- Message/messenger: abolishing software patents is like trying to abolish cars because some companies make unsafe cars and lots of people use cars to kill/maim other people.
I will agree that the current state of the patent system, and particularly the way large tech companies are abusing it, is a national disgrace. If getting publicly slapped down by Judge Posner
doesn't serve as a wake-up call then maybe a few more resounding smacks are needed. But bad behavior isn't the same thing as a bad technology. Let me take first my list above and then talk about Defend Innovation's proposals.
First, if you're not familiar with the Church-Turing thesis then let me summarize: anything you can compute (algorithm, software) can be embedded in a machine (hardware). If you are opposed to software patents then you must explain why I can patent a machine that executes precisely the same algorithm as the software I can't patent. I work in high-frequency trading, a business in which there is an ongoing debate about whether things like programmable arrays are better than general-purpose machines due to speed and other factors. But nobody debates that the FPGA (hardware) and the C code (software) are following the same procedure. You could theoretically oppose patenting hardware AND software, but not split the two. At least, not if you understand a core concept of computer science.
Second, stripping patent protection away without giving inventors some other means of protecting their inventions leaves software innovators at a severe disadvantage compared to hardware innovators, and compared to large companies. Once you know something is possible it's often easy to deduce how to do it, so why should you pay the clever fellow in the first place? There are alternatives to abolishing patent protections; for example, we've talked about trying to restrict patents to defensive-only uses. And we've talked about patent pools. I still believe that the monopoly grant given by a patent should be subject to more restrictions. But you can't just hand-wave them away and not talk about the consequences.
Third, it seems to me that an effort to abolish software patents is a classic baby-with-the-bathwater fallacy. Patenting in the US is in an abominable state. Prior art is a joke, patent searching is ridiculously hamstrung, the USPTO regularly has its resources stolen by Congress, and on and on. Never mind the layers of confusion added to ambiguous law by equally unclear court decisions. But nothing in the current brokenness convinces me that the system is so irretrievably flawed as to require abolishing. We didn't abolish cars after the Ford Pinto, nor should we have.
That said, let's turn to the specific proposals EFF is putting forward...
1. Patent terms of five years. Why? Computer innovations take just as long to bring to market and make mass consumable as anything else. You can look at everything from icons on a computer screen to the latest swipe gestures on mobile devices and trace their roots back 20 or even 30 years. It may seem like the pace of innovation in software is particularly rapid, but it's not.
2. Allow defendants to recoup fees & costs. That's not unreasonable. There are safeguards elsewhere in the legal system to help people recover from frivolous lawsuits. This would need to be coupled with procedures for summary dismissal with prejudice, too.
3. Require running code. This has intuitive appeal in that there used to be a requirement for embodiment of an invention. Embodiment in software isn't per se a stupid idea but it's missing the point. The language of the proposal complains about patents being "confusing." Maybe so, but how are software patent claims any more confusing/less clear than any other claims? And again, why impose an additional embodiment requirement solely on software patents? If you think embodiment is a good requirement for patent grant then it should be a requirement for all patents. And, really, trying to match up lines of code (in what language?) to patent claims is just dumb. Is my javadoc sufficient? It's woven from procedure headers, not lines of code. If I submit the output of the compiler instead is that somehow less valid because it doesn't have lines of code that match patent claims? Come on, EFF, you are better software engineers than this.
4. Allow innocent infringement. Again, not an entirely stupid idea if applied to all patents. I just see no reason to single out software. However, it compounds the willful ignorance of prior art problem. Currently on my patent application I'm required to disclose any prior art of which I'm aware, which creates an incentive for me NOT to know about other inventions. This leads to absurd versions of "I'm sorry, Congressman, I cannot recall what I was doing in that laboratory with that young lady on that date." Innocent infringement doesn't solve anything - it just moves the scope of culpability from the disclosure section of the patent to the courtroom.
5. Improve notices and timeliness. Also generally good ideas that miss the point. As the current most-upvoted comment on the page today says, it doesn't matter how up to date records are so long as there are anticircumvention laws on the books that prevent you from decompiling or doing other things that would permit you to know if a chunk of code is in fact infringing.
6. Limit damages. A favorite whipping-boy of everyone from anti-malpractice Republicans onward: juries give out too much money for trivial offenses. True. And? What this really requires is more Posners and their ilk who will knock down the foolishness of plaintiffs and their lawyers. I'm not generally in favor of arbitrarily legislated malpractice caps and I can't see any reason why patent liability judgments should be treated differently (see a theme here?).
7. Congress should study the issue. Uh, yeah. I'm not even going to touch that one. Except, seriously, if you're going to talk about abolishing patents then I think it's incumbent on you to describe what you want to replace them with. My personal opinion remains that we should encode into patent law something like the Breyer test, which would permit violations of the patent's monopoly grant if it could be shown that the patent was not serving its Constitutionally created purpose.
I have a bunch of other ideas on how one might go about fixing the current patent mess but since this post is epic long already and is supposed to be about how badly the EFF's latest scheme fails, I'll leave it here.