One thing I do feel pretty certain of is that if you're against software patents, you're against patents in general. Gradually our machines consist more and more of software. Things that used to be done with levers and cams and gears are now done with loops and trees and closures. There's nothing special about physical embodiments of control systems that should make them patentable, and the software equivalent not.
No, that's not true. It's a specific example of a more general fallacy which is sort of the inverse of the slippery-slope fallacy. (This version of the fallacy probably has a name too, but I can't find it.) The slippery slope fallacy argues against a small policy change on the grounds that it might lead to a larger policy change whose consequences are clearly undesirable. (This is used, for example, to argue against gay marriage because it might lead some day to people marrying their pet hamsters.) The inverse fallacy is that because we can't draw sharp lines dividing a continuum into discrete chunks that we should just give up and treat the entire continuum as if there were not distinctions to be made at all. This is Graham's version of the fallacy. Because our machines gradually consist "more and more" of software there's no point in trying to draw a line between inventions that consist of software and those that don't.
There are two reasons this is wrong. First, there is a sharp line you can draw between an invention that consists partly or wholly of software but where the complexity of the problem that the invention solves is driven by features of the physical world. For example, consider an algorithm for generating and recognizing QR codes. The reason this is hard is because to be useful a QR code has to be rendered on a physical medium, and then that image has to be captured by a camera. In that process, the original data can be obscured and corrupted in a large number of different ways. The image can be noisy or partially obscured. The camera can be rotated or held an an oblique angle. All of these things make dealing with QR codes hard. The reason the QR code algorithms are useful is that they solve these problems. That is what makes them worthy of being patented.
Contrast that with this patent on multiply-linked lists. This is a patent that clearly should never have been issued. The prior art goes back at least as far as 1970, probably as far back as 1959, and possibly even earlier than that. But independent of the prior art, it is a pure software patent. The problem it addresses (insofar as it addresses a problem at all) does not arise from the physical world. It is a problem and corresponding solution that exists entirely in the realm of software and abstract mathematics.
Now, there are some ideas in this realm that are also worthy of patents, like elliptic curve cryptography. The problem is that the patent office has shown itself to be singularly inept at distinguishing worthy software patents from worthless ones, and the worthless ones are doing serious damage to our economy. So this is the second reason that opposing software patents is not opposing patents in general. It is arguable that empirically software patents are doing more harm than good, that this is not the case (for whatever reason) in non-software patents, and so one can reasonably oppose software patents without opposing patents in general on purely practical grounds.
But I think there is a happy middle ground that would make everyone happy. I've proposed this before, I'll propose it again: simply open the patent issuing process up to public comment. Before a patent is issued, publish the patent and invite public comment. All the PTO needs to deny a patent is plausible deniability that it should not be issued, and I'm sure there are plenty of volunteers in the software world who would be more than happy to spend some time policing the system. It's a win-win. Which means it almost certainly won't happen.