It's Broken.

On the This is my next podcast, Nilay Patel asked "exactly why the patent system is fundamentally broken". In a somewhat incongruously titled essay, he has answered the question himself:

It’s also generally agreed that no matter what rules the courts and the USPTO issue, clever patent attorneys will be able to find a way to draft claims around them — that’s how we ended up pretending software was hardware in the first place.

Our court system is designed to resolve conflicts, not make laws, and trying to arrive at cohesive and consistent software patent guidelines through five decades of litigation is more or less like trying to build a skyscraper by throwing dirt at a tree.

Later:

What you would fault someone for is buying up tons of prime real estate in the center of town and setting up a strip mine — it’s an offensive and exploitative use of property that maximizes individual profit at a huge expense to society. That’s more or less what IV and other patent trolls are doing; they’re taxing companies that make real products by purchasing broad foundational patents and litigating instead of making real products themselves.

I'm not sure I agree with his assertion that software patents can be fixed, or that they can have a net positive effect. As evidence, he merely mentions two software patents he thinks are useful. Compare this to this Boston University School of Law report, which offers a more in-depth examination:

This report examines changes in the patenting behavior of the software industry since the 1990s. It finds that most software firms still do not patent, most software patents are obtained by a few large firms in the software industry or in other industries, and the risk of litigation from software patents continues to increase dramatically. Given these findings, it is hard to conclude that software patents have provided a net social benefit in the software industry.

What I wrote earlier is still true.

Patents make sense when there's a huge initial investment, the resulting product is easy to copy perfectly, and companies can profit from reading a competitor's patents (for example, in the pharmaceutical industry). They make little to no sense when the initial investment is small, the resulting product is hard to copy perfectly, and the patents rarely offer any useful information (which is typically the case in the software industry).

What's more, the software industry is an industry where tiny companies can create substantial products. The patent system creates additional expenses (through the cost of getting a useful patent portfolio, and the cost of litigation) that are easy to handle for large companies, but are a huge burden for smaller ones. Rather than helping smaller companies protect their ideas against larger ones, patents make it harder for smaller companies to compete with larger ones.

In other words, it's great that we can read Google's PageRank algorithm,1 but it's a very small benefit that has to be compared with the huge costs (both monetary and otherwise) created by the patent system. Nilay mentions two patents he thinks are neat, but completely ignores the costs created by the patent system.

If you want to spend US$42 billion per year on the patent system, you need to provide some good evidence that it offers real, quanitifiable benefits to our society. Nilay doesn't do that.

But regardless of whether we think software patents can be fixed, at least we all agree that they're broken. And I do think that Nilay's suggestions make sense, and would improve upon the current situation:

We could also directly address the relationship between software and “just math,” and try to find a balance between protecting the research and investment it takes to push the industry forward, while taking proper notice of the fact that there are some foundational principles of software development that are as fundamental as any other kind of math. We might also sharply limit the term of software patents to better reflect the pace of the industry and the lower fixed costs of software development – software costs less to create and distribute than physical goods, so it’s probably fair to give companies a shorter period of time to profit from their inventions.

And later:

One strategy would be to sharply limit the amount of damages a non-practicing entity can win in a patent lawsuit — that would encourage more effective and open licensing, since that would ultimately be more profitable than litigation. We could also implement a compulsory licensing scheme for patents, which countries like the UK, Germany, Australia, and Japan already have in place: patent holders are required to license patents at commercially viable rates if they don’t make products within a certain amount of time.

Let's finish with this quote from Nilay's article:

It’s time we channel our own skepticism about patents into a meaningful set of legislative reforms that reflects the reality of modern American technology innovation; a set of reforms that respects and protects the explosion of interest and investment in software development while respecting the unique qualities of software itself.

(I promise I'm done talking about patents now. Back to our regularly scheduled programming of complaining about bad user interfaces.)

Update

I think Marco nails it:

Spoken like a true lawyer: yes, the courts have given lawyers a lot of tools with which to defend patent lawsuits, but only those that actually reach the point of being heard in courts.

(...)

Patel’s argument is more of an academic exercise in this regard: yes, in theory, the patent system is healthier than many of us in this discussion suggest. But in practice, I don’t think we’re far off.

In theory, developers could fight against all of the badly written, useless patents they violate. In practice, most developers don't have the money to go to court over even one patent suit, much less all of the patents they they might be sued for.


  1. Of course, we don't need the patent for that, because the patent is for an algorithm that was published in an academic paper. ↩︎

If you require a short url to link to this article, please use http://ignco.de/406

designed for use cover

But wait, there's more!

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.