Infringement is unavoidable and clearance is impossible
Avoiding software patents is difficult or impossible, as are patent clearance or freedom-to-operate searches, because:
- There are so many software patents
- Computer programs easily contain tens or hundreds of thousands of ideas
- The language for describing computer functionality is abstract and arbitrary
Even a company with a legal team as large as Microsoft's (and with as many software patents) cannot avoid patent infringement. See Microsoft's patent infringements.
Searching for patents in order to avoid infringement is impossible in practice, partly because of the sheer number of them, and partly because there is no standardisation of the (necessarily abstract) vocabulary that is used. A system in which "components" send "messages" to each other can be technically identical to one in which "agents" transmit "documents".
See for example A tale of two patents:
In an environment like today's technology industry, "There's a high likelihood that people are applying for patents, these patents are being granted, and there's a high potential for overlap," said David Bohrer, a partner in the IP litigation group of Dechert LLP. "It's very difficult both for the U.S. government examiner and for a potential infringer to discover [relevant patents]."
In the same vein, World Wide Web Inventor Warns Of Patent Licensing Royalty Threat:
All companies developing emerging technology are threatened by the prospect of patent licensing royalties, Berners-Lee said. "You could never find out what patent could possibly apply to what technology," he said. "You could never guess what things people might have the gall to say they have patented already. It really is a universal fear."
(quoting Tim Berners)
It doesn't help that the language in which software patents is written is incomprehensible even to a skilled professional software engineer. Where else does one ever come across a "plurality"? And what exactly does it mean, in programmers' language: zero or more, one or more, or two or more?
Not only is infringement unavoidable, it is also theoretically undecidable. In computer science there is no objective way of deciding whether two programs are equivalent, and therefore whether one program violates a claim made on behalf of the other. As Richard Stallman puts it:
GIF is actually covered by two patents: both covering the LZW data compression algorithm that was patented twice. Now, that's not supposed to happen but it does, and the reason it happens is that the two patents are not written in the same way. You have to look at them and think about them carefully to see that they are both covering the same computation. Now if they were patents on some kind of chemical process you could say, you could have a quick way to see if you need to think about them, because you could ask yourself "are the same chemicals going in, are the same chemicals coming out? Hmm, if they are the same I guess I'd better compare these". But there's nothing like that to help you comparing these two patents on different ways of describing the same mathematics. Fact is, you could describe the same mathematics in ways that don't look exactly the same at first sight. Only when you think about them do you see it's the same mathematics. And the patent office doesn't have time. I'm not going to say that some patent examiner did this because he was stupid - the fact is they have only 17 hours per patent application, and they don't have time to take this application and every other application and spend a lot of time comparing them.
Programs can use thousands of ideas
David Martin, patent risk expert:
"If you're selling online, at the most recent count there are 4,319 patents you could be violating," said David E. Martin, chief executive of M-Cam Inc., an Arlington, Va.-based risk-management firm specializing in patents. "If you also planned to advertise, receive payments for or plan shipments of your goods, you would need to be concerned about approximately 11,000."
Related pages on ESP Wiki
- How to avoid a specific software patent
- Criminalising patent infringement is draconian
- Insurance against patent litigation doesn't work - also uninsurable
- Cost of patent searches to avoid infringement
- Software patents produce legal uncertainty
- Software is too abstract, software patent quality is terrible
- The disclosure is useless
- The difficulties of avoiding patents, 24 May 2004, Richard Stallman
- E-Commerce Battles 'Me'-Commerce - "If you're selling online, at the most recent count there are 4,319 patents you could be violating"
- Ignoring Patents, 3 July 2007, Mark A. Lemley - "both researchers and companies in component industries simply ignore patents."
- How Many Patents Must Be Read to Clear All Patents Rights on Software? ~PolR, 15 July 2013, Groklaw
- "E-Commerce Battles 'Me'-Commerce". Archived from the original on March 9th 2008. http://web.archive.org/web/20080309060603/http://www.davidstreitfeld.com/archive/technology/extortion.shtml.