Programming - - By Adam Bolte

The Problem with Patents … is Patently Obvious

“Patents: If people had understood how patents would be granted when most of today’s ideas were invented, and had taken out patents, the industry would be at a complete standstill today.”
—Bill Gates, May 16th, 1991 in an internal memo to Microsoft upper-management.

Gates proceeds to state his concerns over other companies patenting the obvious and thereby cutting into Microsoft’s profits. “The solution to this is patent exchanges with large companies and patenting as much as we can,” writes Gates.

In February 2009, as Microsoft celebrated its 10,000th patent, its position on software patents had clearly changed. Microsoft no longer appeared concerned about the potential threats software patents have on the industry, and why should it? Microsoft is in a relatively safe position, as anyone prepared to wage war against them could easily be counterattacked. It would likely be difficult to create new software without stepping on one of Microsoft’s patent mines somewhere along the line.

Microsoft isn’t the first company to about-face on software patents. Oracle used to be a software patent opponent, but has recently sued Google over its newly acquired patents on Java. Without a doubt, Oracle would have been investigating this possibility before its Sun Microsystems acquisition. Funny how money changes the landscape.

As long as software patents exist, companies like Microsoft can try to protect themselves by cross-licensing patents with other large companies, and forcing smaller companies into paying licensing fees. Microsoft could even choose to try to deny the use of its patents by others—no matter how obvious those patents might be. Microsoft argues that “even in this case, denying use is very different from denying to others the knowledge of the new technology, which patents by law are required to disclose.”

The idea of patents is to encourage innovation. Effectively, what Microsoft seems to be arguing nowadays is that since you can see the new idea, you should be able to come up with another solution to accomplish the same thing. This fails for a number of reasons:

Patents Are Unreadable

Microsoft employee Eric Brechner wrote on the MSDN blog about the difficulties in researching patents. He claims that even if software patents were readable by interested developers, “many inventors purposely ignore learning about new patents, which contravenes one of the central purposes of the patent system.” This is due to the threat of treble damages if an act of patent infringement was “willful.” Learning about existing patents appears to only open you up to more liability.

Patents Last Too Long

Generally, patents last for about 20 years. In the software industry, that’s an eternity. Since you’re reading this on SitePoint, chances are high that you play a role in web development. Your job likely didn’t exist 20 years ago! The majority web-related patents are either unavailable for public use or require licensing. Imagine if Netscape had patented the <blink> tag way back when. Remember that? It could have dictated that only the Netscape browser would be allowed to use the blink tag, which would remain true to this day. Fortunately, this phase is over (being one that many of us would sooner forget), but I’m using it to demonstrate how quickly web trends and technologies evolve. A 20-year software patent effectively renders the idea useless for all.

Patents Block Innovation

It seems possible to patent ideas for which there’s no viable alternative solution. Think Amazon’s 1-Click patent—it’s likely there’s no more efficient method of online purchase. The only workaround is to create a deliberately inefficient approach. Now that’s innovation.

Patents Often Require Minimal Initial Investment

Proponents of software patents sometimes claim that patents help to compensate a company’s initial investment in new technology. How hard—and how expensive—was it for Amazon developers to come up with the patent for 1-Click shopping, do you think?

Software is Already Protected by Copyright

Software patents cover ideas—not programs. If I want to protect my program from being distributed in terms other than I’ve dictated, I can add copyright that covers it. Patents just help to kill off the competition.

Patents are Frequently Illogical

Unlike conventional patents, which are often made pertinent by the ability of competitors to reverse-engineer an invention, software patents are often unnecessary. Keeping ideas secret in software is simply a matter of not revealing the source code. In other words, those companies concerned with protecting their software technologies only apply for related patents if it’s expected that the idea will be figured out anyway. For example, say I write a very complicated PHP algorithm for my website that makes my web server ten times more efficient than competing websites. I’d only bother patenting my idea if I thought it was obvious enough for anyone else to arrive at the same solution. If that solution is ever deliberately made public, I can sue. It’s easy to keep ideas secret in software, if that’s the goal.

Another side-effect is that it potentially scares people away from releasing source code to their software, further crippling chances for innovation and competition.

Conclusion

Software patents are the cancer of the industry. It’s a big claim to make, I know, but how much longer will it take for governments to wake up and fix the problem? I encourage everyone to join in the fight by contributing to the End Software Patents wiki, and by helping organizations like the Free Software Foundation encourage governments to abolish patents.

Sponsors