Eliminate Software Patents

David A. Wheeler

2008-12-01 (revised 2008-12-02)

Historically, the U.S. court system understood that software could not be patented. Unfortunately, lower courts have radically re-interpreted the laws (through decisions such as State Street), in ways that have greatly harmed software developers and software users.

We need to abolish software patents, because there is a vast amount of evidence that software patents harm software developers and software users (see below). Nearly everyone uses software, so software patents have been harmful to everyone. For example, since any significantly-sized software must use millions of "inventions", software patents create a "patent thicket" where no one can legally develop software. The purpose of patents is to encourage and share innovation, but there's no evidence that patents are needed to encourage software innovation, and they are useless for sharing innovation. Indeed, patents actively prevent innovation in software.

As an Ars Technica article explains, "The patent system has traditionally excluded coverage of innate scientific truths and mathematical expressions. There is no basis in law for assuming that software methods are patentable, but some dubious legal rulings issued by the Federal Circuit after its inception in the 1980s have created legal precedents for software patentability... End Software Patents (ESP)'s executive director, tech policy expert Ben Klemens, [stated that] 'Software patents endanger both software developers and businesses, ironically stifling the very innovation that the U.S. patent system was intended to foster.'"

When the U.S. Federal Trade Commission (FTC) examined software patents, they found that "Many panelists and participants expressed the view that software and Internet patents are impeding innovation. They stated that such patents are impairing follow-on incentives, increasing entry barriers, creating uncertainty that harms incentives to invest in innovation, and producing patent thickets." [Full FTC text] Software development proceeded quite well when patents weren't permitted, so there's absolutely no evidence that government-enforced monopolies are necessary. Indeed, Bessen and Maskin demonstrated that as U.S. software patentability went up, software innovation went down (in contrast with the rest of industry). Typical webstores would become illegal if already-granted software patents are upheld, so the problem is real - not theoretical. It's hard to guess what the Supreme Court will rule on Bilski, but it's interesting to note that Justice Breyer pointedly said "I take it that we are operating on an assumption that software is patentable? We have never held that in this Court, have we?" — and later a government lawyer agreed that software by itself is not (Microsoft v. AT&T, 2007).

Articles on why software patents should be abolished

You don't need to take my word for it; many people have explained some of the many problems that software patents create, demonstrating that software patents create more problems than they solve. Here are a few URLs that explain why software patents are a terrible idea:

Sites/Organizations dedicated to abolishing software patents

Most software developers are opposed to software patents, since software patents endanger their livelihood. So unsurprisingly, there are whole sites and organizations dedicated to ending software patents. Some of these sites/organizations are:

There's no need to have both copyright and patent law control software, especially since there's lots of evidence that patents are impeding instead of aiding software innovation.

Stopgap measures

The only real solution for software patents is to eliminate them. All stopgap measures are only that - they reduce some of the harms that software patents create, without actually solving the problem.

Still, if a hurricane is coming in, it's usually better to lose one major city instead of three. Reducing the huge volume of bad patents that are absurd or prior art, and countering patent trolls who extort actual innovators without producing anything of value themselves, could help. They are completely inadequate to the task, so please don't think that these tweaks will be enough to make software patents acceptable.

There are some stopgap measures that exist today, and some stopgaps that could be adopted by countries unable to completely repair the laws or court precedences.

Stopgap measures: Existing Organizations

There are several organizations that try to reduce the damage of software patents, typically via software patent pools or by overturning a patent.

Software patent pools reduce the harm caused by software patents by buying and pooling patents so that everyone can use them, as long as they meet certain conditions (such as not suing the other pool users). As long as our silly system exists, I'm glad they exist too. Of course, their very existence indicts software patents - why must organizations be set up to counter government-created monopolies? Why not just eliminate the monopolies in the first place?

The Open Innovation Network (OIN) is primarily known for its software patent pool.

Of course, patent pools do nothing about patent trolls; patent trolls make nothing of value, and solely exist to sue (or threaten to sue) actual product-makers. This is one of the reasons patent trolls are particularly dangerous to innovation.

Another approach is to try to invalidate a patent. PubPat is an organization known for this. But this is expensive and time-consuming to do for each patent. It'd be better to eliminate entire classes of patents that cause problems for society; I believe all software patents and all business method patents are part of those classes.

Stopgap measures: Existing law/rules

As noted in Prosecution Laches May Bar Enforcement of Patent (May 20, 2002), the Federal Circuit ruled in "Symbol Technologies Inc. v. Lemelson Medical, Education & Research Foundation Limited Partnership" that the equitable doctrine of laches may permanently bar enforcement of patents that issued after a long delay in prosecuting the patents even though the applicant complied with all pertinent statutes and rules. "Laches is an equitable defense that arises from a delay in taking action. Laches defenses have been successful in cases in which a patent owner knows about an infringement and then delays many years before bringing suit. Laches typically bars the recovery of any past damages but allows for the recovery of damages arising after the filing of the lawsuit. A related doctrine is equitable estoppel, which arises from misleading conduct by the patent owner that leads the defendant reasonably to infer that the patent owner does not intend to enforce its patent against the defendant. A finding of equitable estoppel may preclude any recovery."

The U.S. Patent and Trademark Office (PTO) Board of Patent Appeals and Interferences (BPAI)'s precedential decision Appeal 2008-4366 decided in 2009 creates a precedent that can remove a tiny number of the most egregious offenders. In this case, someone tried to patent something that was, by anyone's definition, a mathematical algorithm and thus not patentable. It re-emphasizes the machine-and-transformation test per Bilski. It doesn't go far enough, but it's a start.

These can limit specific forms of abuse, but doesn't really solve the problem.

Stopgap measures: Potential legislation/standards bodies rules

Here are some possible future approaches that might reduce the damage of software patents, until software patents are eliminated:

  1. Have fines proportional to the importance of the patent to the product, and do NOT normally "stop work" if a patent is infringed. At the least, "stop work" should not be an option if the suing party is not actively selling products/services using the patent. (Remember, software is typically built from millions of "inventions".)
  2. Eliminate triple damages unless the patent user was told that the specific patent specifically applied to that product. Software patents are essentially unreadable (most wouldn't be granted if they were clear) and there are too many to read, so it's absurd to hold developers to an impossible requirement. Let them innovate instead of reading nonsense patents.
  3. Eliminate the presumption in court that a granted patent is valid, at least for software and business processes. For any patent case, a court would need to determine if a granted patent is valid. The PTO's review process is absurdly poor, and the rules have changed significantly in the last few years, so this presumption is completley invalid.
  4. Courts should be required to wait for the results of any ongoing patent review before rendering a verdict. (See the Blackberry suit!)
  5. Require mandatory public review, before granting a patent.
  6. Require that IT interoperability standards be implementable patent-free. In particular, get ISO and others to move in that direction, and get standards-imposing bodies (like governments) on board. See Digistan for more.
  7. Non-practicing entities shouldn't have the right to enforce patents at all! Allowing non-practicing entities to enforce patents puts a big brake on innovation, because it can easily lead to cases where no one can build useful products.

Anti-patent?

I think that allowing patents for software and business methods was a mistake; patents were historically not allowed to cover general algorithms and business methods for a reason. I'm willing to believe that patents are quite appropriate for mechanical devices or pharmaceuticals; I'm no expert in them. But for software, patents have been a disaster. Let's end the mistake.


See my home page at http://www.dwheeler.com.