I saw a report today that Google acquired a tranche of patents from IBM. Presumably stocking its patent armoury to defend itself in it's various deathmatches with Oracle, Microsoft and Apple. With these increasingly insane patent wars taking place, apparently all in the name of safeguarding 'innovation', I was vaguely reminded of John Carmack commenting on the issue back in the day. I managed to find the quote, and it's well worth reading.

Are software patents really protecting innovation? Or are they really just protecting large businesses, increasing barriers to entry and reducing the ability for a small, innovative competitor to survive?

It's something [software patents] that's really depressing because it's so horribly wrong for someone who's a creative engineering type to think about patenting a way of thinking. Even if you had something really, really clever, the idea that you're not going to allow someone else to follow that line of thought... All of science and technology is built standing on the shoulders of the people that come before you. Did Newton patent calculus and screw the hell out of the other guy working on it? It's just so wrong, but it's what the business world does to things, and certainly the world is controlled by business interests. And technical idealists are a minority.

Electric Playground interviews John Carmack, 1997

Carmack got bitten by patents himself when he discovered a shadow drawing technique that somewhat ironically came to be known as Carmack's Reverse. While Carmack arrived at the technique independently, Creative had sought a patent for something very similar a few months earlier. The issue raised its head again this year with the Doom 3 source code release. In order to get legal approval to release the code, Carmack had to change the implementation to avoid infringing Creative's patent.

Patenting software really doesn't make sense. In programming there is usually an optimal and natural way of solving any given problem. By making optimal solutions exclusive, it reduces the efficiency with which people can create robust software. It's something that doesn't seem likely to encourage innovation to me. It seems much more likely to stifle it. And that's before we even consider the chilling effect that legal threats from gargantuan corporations can have on a would-be technologists.