The Coming Software Patent Apocalypse
Every practicing programmer should read the Wikipedia article on software patents, if you haven't already.
Many software companies are of the opinion that copyrights and trade secrets provide adequate protection against unauthorized copying of their innovations. Companies such as Oracle Corporation and Red Hat are therefore generally opposed to the patenting of software.
Nonetheless, these companies do file and receive patents. Since their competitors get patents, they must get patents as well for defensive purposes. In the event that they get sued for patent infringement by a competitor they can counter-sue using their own patent portfolio. The net result is that both companies often cross license each others' patents at little or no out-of-pocket expense for either party. However, the cost of developing a suitable portfolio of patents may be out of reach of many small software companies.
If this sounds like a classic Mutually Assured Destruction arms race, that's because it is.
There was a hullabaloo recently about Microsoft rattling their software patent sabers. Sadly, there's nothing notable about it; this is simply business as usual for everyone in the software industry. Software companies are forced to build huge stockpiles of software patents solely to be used as deterrents.
Many notable computer scientists, including Donald Knuth, believe that software is fundamentally unpatentable: