by Richard M. Stallman
Software patents are the software project equivalent of land mines: Each design decision carries a risk of stepping on a patent, which can destroy your project.
Developing a large and complex program means combining many ideas, often hundreds or thousands of them. In a country that allows software patents, chances are that some substantial fraction of the ideas in your program will be patented already by various companies. Perhaps hundreds of patents will cover parts of your program. A study in 2004 found almost 300 U.S. patents that covered various parts of a single important program. It is so much work to do such a study that only one has been done.
Read the full thing here