I’ve finally had the chance to read Math You Can’t Use, Ben Klemens’s excellent book on software patents. It’s the clearest brief for the repeal of software patents that I’ve read, and Ben does a great job of pulling together law, economics, and computer science to make his argument. I agreed with almost everything he says, and much of it covers ground I’ve talked about here on TLF. But let me highlight a few of the things I thought were unique.
Probably the most ambitious part of the book is Chapter 3, which is a brief overview of computer science. In less than 20 pages, Ben covers circuits, boolean logic, source code and assembly language, algorithms and data structures, functions, libraries, and the Church-Turing thesis. The goal was to provide a crash course on concepts he uses later in the book. Since these concepts were already familiar to me I’m probably not a good judge of whether he succeeded in making them understandable to the layman, but it seemed pretty clear to me. On the other hand, I suspect that some of the implications of these concepts aren’t obvious until you’ve rolled them around in your mind for a while. It’s not hard to explain what the Church-Turing thesis says, for example, but until you’ve written some actual programs I’m not sure you can really appreciate its importance or its relevance to the patent debate.
One of the most interesting points Ben makes is how quickly and totally the Federal Circuit abandoned the legal framework the Supreme Court established in its software patent cases. In its landmark 1981 decision of Diamond v. Diehr, the Supreme Court held:
Insignificant post-solution activity will not transform an unpatentable principle [i.e. a mathematical algorithm, law of nature, or abstract ideas] into a patentable process. To hold otherwise would allow a competent draftsman to evade the recognized limitations on the type of subject matter eligible for patent protection.
Thirteen years later, in In Re Alappat, the US Court of Appeals for the Federal Circuit not only allowed applicants to evade the recognized limitations on the type of subject matter eligible through clever draftsmanship, it actually held that if an applicant failed to do so, the Patent Office had an obligation to re-draft it for them, by re-writing the claims in a form that would meet the letter of the “no software patents” rule while flouting its spirit. It was an amazing bit of chutzpah.
In addition to talking about software patents, Ben also devotes a chapter to the DMCA. Ben has a funny section where, on the same page, he has a figure showing the source code for DeCSS and a figure showing the recipe for a fertilizer bomb. He notes that the latter is protected speech under the First Amendment, while printing the former is a felony. This state of affairs is awfully hard to square with either the constitution or common sense.
It’s a great book, and I encourage you to check it out.