Over at the American, I've got an article on what I regard as one of the biggest threats to the long-term vitality of the software industry: the patentability of software. Last year, we saw a company with no products of its own extort $612 million from Research in Motion, makers of the wildly popular BlackBerry mobile devices. Last month, Vonage, a company that pioneered Internet telephony, was ordered to pay $58 million to Verizon and enjoined from signing up new customers. Vonage is appearing in court today to appeal the decision. Given that Vonage has yet to turn a profit, if the injunction is upheld it's likely to be a death sentence for the company.
The really frustrating thing about both cases—and numerous other software patent cases in recent years—is that there was no allegation that the defendants' products were in any way based on the plaintiffs' technologies. It's universally agreed that RIM and Vonage developed their technologies independently. Rather, the problem is that the patents in question cover extremely broad concepts: essentially "wireless email" in NTP's case, and "translating between Internet addresses and phone numbers" in Verizon's. It's simply impossible to develop a mobile device that doesn't check email wirelessly, or an Internet telephony application that doesn't translate between IP addresses and phone numbers.
It seems to me that these sorts of problems are almost inevitable when you allow patents on software, because software is built out of a very large number of modular components. (A typical software product might have 100,000 lines of code, and just a handful of lines of code could conceivably be considered an "invention") If you allow a significant number of those components to be patented, it becomes prohibitively expensive for software companies to even find, much less license, all of the patents that might be relevant to their particular software. And indeed, most software companies don't even try. Many deliberately avoid doing patent searches, because "willful" infringement can carry heightened penalties.
Software patents are a relatively new judicial innovation, and one that has never been explicitly ratified by the Supreme Court. Traditionally, the Supreme Court has held that software is essentially the description of a mathematical algorithm, and that mathematical algorithms are not eligible for patent protection. The Supreme Court opened the door to software patents a crack in 1981 when it held that a machine for curing rubber was not rendered ineligible for patent protection merely because one component of the machine was implemented through software. However, it emphasized that software per se is not eligible for patent protection.
The Court of Appeals for the Federal Circuit, which was created by Congress in 1982 and given jurisdiction over patent appeals, turned this principle on its head. In 1998, they ruled that a software patent merely had to produce "a useful, concrete and tangible result" to avoid the prohibition on patenting mathematical algorithms. Because no one would bother to patent software that didn't produce a useful result, this effectively gave the patent office carte blanche to approve software patents.
And approve them they have. The patent office set a new record last year by issuing about 40,000 software patents. That represents hundreds of millions of dollars of patent lawyers' and software engineers' time that could otherwise have been spent producing useful software rather than filing for patents about it.
Luckily, the Supreme Court has an opportunity to bring this madness to an end in the case of Microsoft v. AT&T. Although the case is primarily about whether companies can be liable for copies of their software that is distributed overseas, the Software Freedom Law Center has filed an amicus brief urging the court to rule that software companies are not liable for overseas software distribution because software isn't patentable in the first place. I think this argument is a bit of a long shot, since most of the briefs in the case did not focus on the patentability of software, however several justices in oral argument did specifically ask about the question, and the decison could open the door to a subsequent case directly addressing the question.