I think the problem here stems from the fact that people talk as if "software" were one homogenous entity. But as we all know - it isn't. Some software is trivial and some isn't. Some represents a trifling investment and some a huge investment of time and dollars. Some is very easy to copy and some much harder. It is only when we start thinking about such categories that we can make real progress thinking about where and when patents may be appropriate when they are not.

Let's stipulate that the USPTO is not perfect. They do make mistakes. Patents are issued that should not be. But the existence of such patents should not be taken to be an inditement of the entire system. Few systems are perfect, but recognizing this let's further stipulate that advocating tossing the baby out with the bath water on this basis alone is impulsive.

The difficulty is in drawing a line - defining innovations which deserve protection and those which don't.

Let's try a thought experiment. Imagine you have an idea which you believe to be novel. You research the field and it does indeed look novel. You look into the problem. It's non-trivial. It is going to take man-years of work to put together an implementation. But there's a problem. The technology you have to use to implement it is such that it is extremely easy to copy your work. You don't want to have to patent your work. You don't want the time and expense. Perhaps you have principled reasons why you don't want to patent it? But let's consider your options. If you don't get patent protection you are left with (a) trade secret (b) copyright. We already know that a trade secret won't work because your work will be in a form that is easily copied. Does copyright protect you? No. Why not? Because copyright only protects the expression of the work, not the underlying ideas, no matter how novel and valuable they may be. It is easy for a determined competitor to take your work and re-engineer it such that copyright is worthless.

So what are you going to do? That depends on who you are. If you are a huge company and you still don't want to patent it you can go ahead and develop and publish your progress so that it is in the public domain and a competitor can't patent in the area. You are relying on your market strength to carry the day. But what if you are a small company? Are you prepared to risk everything with no protection? It is risky enough anyway starting a company, as we are constantly reminded, but if you can so easily be ripped off, isn't it wise to think twice?

It's your decision. You may have philosophical objections to patents so strong that you just don't proceed. That is your right. But if someone else decides to proceed it seems to me that it is perfectly rational for him/her to seek patent protection. It would be crazy not to. There is plenty of recent precedent of large companies ripping off small innovators even when they have patent protection!

IMHO to evaluate 'software patents' as a class is dangerous. Our industry is too big and the use cases are too various for such generalizations to be helpful. It is only by considering categories of innovation that we can hope to make progress on patent reform is such reform is needed. A knee jerk 'all software patents are the work of satan and should be trashed' doesn't help any more than a strident declaration of IP rights by well financed patent trolls.