Software patents are good or bad ? The answer ultimately is not as simple as yes or no. Patents arose as a legal mechanism designed to protect 'intellectual capital'. In other words patents means to protect the ideas of inventors from being used by others without permission or compensation. Software patents could be defined as patent intended to prevent others from using some programming technique.
As a general nature, anybody who comes up with an innovative idea, which is commercially valuable and useful, will protect his/her idea from getting stolen.
The inventor will like to have all the reward and credit for his invention. In theory, patents provide a valuable protection system for inventors pursuing development of their invention as well as a reward system for commercially valuable ideas. Lets consider an example, in 1998, Sergey Brin and Larry Page filled a patent which was granted in 2001. At that time, search engines giants like yahoo, altavista and webcrawler were already well established - at least compared to an academic start-up. Google is today the worlds most popular search engine. But what would have happened if there idea could have been stolen. Thus if software patents can be used to protect inventors and inventors pursuing development of a clever idea, then its a good thing.
Modern-day patents, however, are not always of such a noble nature. A good example of it is the patent life, which is of 20 years. 20 years is a long time to sit on an idea. And also the way in which softwares are patented is not very consistent, considering amazon for its one click technology.
Finally, I would say that software patents are not evil, but there is a need to reform the system.