Patents allow patent holders the monopoly to the economic benefits obtained from their work. For a work to be regarded as “patent”, it should be novel, useful and non-obvious. While patent makes some sense in the sectors like biotechnology, chemistry, and medicine, I personally feel the idea of software patent is ridiculous and meaningless.
Software industry — to me— is different to both physical sciences and to the work of art; it is also quite different to “engineering” for its traditional definition. It is neither a science nor an art; it is a craft. A software product may be created to address one specific problem of the world, but it never complies with one specific kind of development process. There are often multiple ways of creating the same product. Most of the progress in the software industry are made on top of the existing works, and entirely new things are rare as most of the findings are just the enhancements of the past works.
The progress in any field of human existence is hindered when the work done by one researcher is a black box to another researcher working in the same field. Unlike other fields of human existence, the reason behind software industry making so much progress over the last two decades is mainly because of the open source movement — an activism entirely opposite to the idea of patents. Most of the good developers do not want to hide their codes, they want to share with other developers around and they also want to look at the codes written by others.
The nature of software development is mostly the combination of algorithms, mathematics, analytics and design aesthetics — items which can never be patented. A copyright though makes sense in the world of software development as this gives the developers of the work the credit they deserve.
A software product is an intellectual property, but it is not something like a patented drug or a chemical — but like a textbook or a music composition. In other words, it is not an invention, but a different expression of the existing works. Patenting such things is a horrible idea to me.