After having a long and interesting discussion with someone knowledgable on the patent system in the USA, I have been thinking a lot about why the whole concept of software patents feels so wrong to me as a person who deals a lot with software development.
The first issue seems to be that to the law, a general purpose computer running some specific program makes for 'an aperatus' and as such may be subject to patents.
For a software developer, a general purpose computer is a mere tool that is needed to make the program execute. The running of a specific program does not change the general purpose nature of that computer, at least not in the eyes of a software developer.
One could argue that in many cases, the view of the software developer is factually correct, only a small percentage of the general purpose computers nowadays is used to execute one specific program only, and a large majority runs a multitude of programs at the same time.
The consequence of this from a developers point of view is that any patent that seems to implement an in itself obvious* idea in software on a general purpose computer, looks like claiming non obviousness just because of using a tool in the exact way it is intended to be used (a computer to run software that implements a pre-existing idea)
An other issue is that for as far as software goes, the first person to succesfully implement something is seldom the person who first thought of it. It is usually either the first one actually faced with the problem and needing a solution, or the first one having access to a computer capable of performing it.
The consequence for the patent system should be that 'obvious to someone skilled in the art' should be assumed for software (at least on the level of software algorithms).
One problem is that the legal definition of obvious is not quite what you'd expect as becomes clear in the slashdot discussion mentioned above. Hence, while most things would be obvious to someone skilled in the art for as far as the English language goes, not so in legal language.
Still, the mere application of a tool in the way that tool is intended to be used should not make enough of a difference to claim a new, non obvious invention.
Many companies that are currently pushing for allowing software patents in Europe argue that most software runs on embedded devices that do make for an aperatus, and I can quite see the validity of that argument.
The question becomes if now that many a piece of electronics can be replaced by a general purpose device (being it a personal computer, a fpga or any other programmable device) running a 'program', if patentebility of such things shouldn't be reviewed instead of allowing programs running on a device to be patented including specific software algorithms.
I can see how a temporary exclusive right can be an encouragement to strive for new things, but this is quite some right to give to anyone in what is supposed to be a free market and I think the idea should be to allow fewer instead of more of them.