There have been many overlapping arguments against software patents — they stymie innovation, they facilitate unproductive rent-seeking activity, etc. — but Tim Lee and Christina Mulligan offer a novel interpretation of the fundamental problem:

If a real estate developer wants to build on a particular piece of land, she first must figure out who owns the land before she can negotiate a contract and start construction. Most of the time, this is easy. The landowner can be readily identified in a public records office.
In principle, a software developer starting a new project faces a similar problem. He needs to know if the software he is planning to create will accidentally infringe on anyone’s patents. But whereas looking up who holds claims to a particular piece of land is easy, finding out who, if anyone, holds patents related to a particular piece of software is difficult and expensive. It’s so difficult, in fact, that the vast majority of software developers don’t even try.
Why is software different from real estate? In a new paper, we argue the fundamental difference is a matter of scalability: how much effort it takes to discover who owns an invention—or a piece of land—as the number of patents or land parcels increases. Property rights in land scale well because parcels exist in relatively well-defined locations on a two-dimensional plane. County officials take advantage of this fact to store records in a predictable order (or, more recently, to build databases searchable by geographical location). Geographical locations serve as an “index” for real property claims, so record-keepers can find any specific file quickly no matter how many files there are.
Some patents are similarly “indexable.” Chemical patents, for example, can be organized by chemical formula. Indeed, a German organization called FIZ Karlsruhe offers an electronic database called STN which allows researchers to look up patents based on their chemical formula. The existence of products like STN is one reason patent litigation is much less common for chemical patents than for software patents.
Unfortunately, software patents don’t scale well. It doesn’t seem possible to create an STN-like database for software patents. There’s nothing analogous to geographical coordinates or a chemical formula to uniquely identify software inventions. It’s hard to predict which aspects of a software product someone might try to patent. It’s even harder to predict which terms a patent lawyer might use to describe these concepts. So searching by keywords is likely to uncover only a fraction of relevant patents.
This means the only foolproof way to find all the patents that cover a particular computer program is by “brute force”—to pay a patent lawyer to sift through every software patent, one at a time, looking for ones that might be relevant. There are hundreds of thousands of software patents, with 40,000 new ones released every year. A single firm could easily spend hundreds of thousands of dollars on patent research for a single software product.

Brad Plumer of the Washington Post has more on Lee and Mulligan.