To start with: IAAPL.<p>In my opinion, there are only three times when software patents are useful:<p>1. There is a hard computer science problem at the very core of your product or service -- one that you have solved, that competitors have not, and that gives you an advantage. Further, the answer to this problem, once known, is easily replicable. The canonical example of this is Google/PageRank, and the closest non-software analogue is drug research. This is what software patents are designed to protect and they usually do an ok job of it.<p>2. You are a large business and you have grown to the point that you are attracting attention from patent trolls and other large, patent-holding entities. At this level, the quality of the patents usually doesn't matter nearly as much as the quantity. It becomes a "my stack is bigger than your stack" type of negotiation, and having a very large pile of manure is useful because people are forced to assume there is a pony or two in there. If you want to see an example of a company that has recently had this realization, look at Huawei and compare their total number of issued patents with their total number of patent applications.<p>3. You are inventing a completely new type of <i>hardware</i> device and you also file for patent on the software that interacts and enables it.<p>Two special cases:<p>If you are a startup, then (IMO) it rarely pays to file for patents unless you a) expect to get really big, or b) want to sell out to a big company. This is a special case of #2. Otherwise, execution trumps IP. Startups are just not big enough to worry about (or be targets).<p>It also may pay if you are creating a completely new market - think RSA. If software patents are part of this, then this is probably a special case of #1.