A vexed question to be sure. Perhaps, though, this posting will shed some light on the matter.
The patent system was developed back in the 1600's as a mechanism that inventors could use to protect their inventions. It follows that the rationale behind patents was defensive rather than offensive. If this is the primary reason for filing a software patent application, then a granted patent may not be as effective as one would hope.
My reasoning for this lies in the fact that all patent applications are published 18 months after the date of filing. Furthermore, a specification of a patent application must disclose sufficient information to a person of ordinary skill in the art to allow that person to carry out the invention. Accordingly, within 18 months, crucial algorithms and their implementation would be made available to the public. If an infringer were to copy the invention and then encrypt the copy, it could be very difficult to show that infringement actually took place.
So you may ask then: What's the use of software patents? Well, fortunately, we have moved beyond the era of protection and into the era of aggressive commercialisation. It is no longer sufficient to rely on copyright to protect your software. This is reflected in trends in the United States. Microsoft has increasingly found itself at the sticky end of legal disputes. See for example, http://www.itweek.co.uk/news/1162487 where it is reported that Microsoft has had a preliminary injunction brought against the pending release of part of its Longhorn operating system. At http://news.zdnet.co.uk/software/linuxunix/0,39020390,39194883,00.htm, it is reported that IBM's patent number 295507 has caused PostgreSQL developers to rewrite substantial portions of their source code. For further information in connection with software patents have a look at this interesting website: http://wiki.ffii.org/SwpikxraniEn.
Anyway, the crux of this is that software patents are already having an effect on the software industry. It is also clearly better to have a software patent than not to have one. To rely on copyright is short sighted, in my view. Copyright cannot protect variations in implementation of particular algorithms, while patents certainly can. In fact there is growing group of software engineers and IP professionals who believe that patents are becoming more and more suited to software products.
A granted software patent exploited in connection with a successful software product can add significantly to the value of the software proprietor. Of course, as with all products, the software must make a new and valuable contribution to the field. Whether or not the software product is new can be determined, to some extent, by carrying out searches. Whether or not the software product is valuable would depend on your knowledge of the industry and whether or not you are able to leverage the product into the market place.
More posts on software patents will follow...