Software just as much as hardware can be used to "express" something new. I.e. to invent something.
An patentable invention is a novel "solution to a problem which is NON-OBVIOUS to someone skilled in the art".
The real issue with software patents is that they are granted far too easily. The test that seems to be applied by the patent examiners is "is that new?". However, they should be asking "given the problem the inventor is trying to solve
is the solution (the invention) really non-obvious to some one skilled in the art?".
However, even though I think that software patents, with the proper examination standards are just as valid as hardware patents I think there is a case for limiting (or even banning) ALL patents - NOT just software patents.
One idea would be the requirement that a working prototype has to be produced and seen to be working. That, along with a proper non-obviousness test, would limit companies going for patent "land grabs".
So when I hear engineers say they like patents, first of all I assume that they've never worked for a company that's been sued for patent infringement (and that they optimistically assume it only happens to other people), but then I try to find out why they don't think copyright protection is enough. Someone still can't legally steal your code without patent protection, because it'll be protected by copyright and trade secret protections. Even if they didn't copy your code, but they looked at it prior to implementing their own version, that would violate trade secret protections.
In that respect, software is protected the same way that authors and musicians are protected. Authors invent characters, plots, worlds, objects, even words, but they don't get to patent them. And yet they're still protected from theft by copyright protections; you also can't just go and make a movie out of someone else's book without permission, though you can certainly make one that's similar. If it's good enough for authors and musicians, why isn't that good enough for software developers?
So to sum that up: software development involves a creative act that deserves protection, but that's different than saying that the creative act deserves patent protection, which legally enjoins anyone else from independently developing the same thing, and which gives person A the legal right to take away the work that person B has done completely independently (or at least take away any money they've made from it and prevent them from selling it in the future). To justify taking away someone's work like that, you have to either be sure that the work is a copy or derivation of the original, which is almost never the case with software patent lawsuits, or you have to argue that even though it's unfair to deprive people of their work like that, that the benefits of the overall system are positive to society. That's an easier argument to make if 1% of patent lawsuits deprive people of the product of their independent work, but it's a pretty hard argument to make when 99% of them do.
You seem to be arguing that writing software is basically a creative process which is the same as producing literature and music but software is fundamentally different in that it goes beyond aesthetics. Software is not normally used to produce an expression / statement about life / culture or someone's emotional state etc but is used to process data in such a way as to have a functional and measureable impact.
Here's a question for you. Your competitor has patented a "solution" which basically the same as yours and is now sueing you for infringement how would copyright and / or trade secrets help?"?
Here's another question. Why is a software patent special? As opposed to one based on expression of a solution to a problem in terms of, say, electronic circuitry?
Let's say that your wish is granted and software patents are made illegally but hardware patents are still legal how would we stop companies like Apple and HTC "gaming" the system by tying the software to physical devices so that they become hardware patents?
I'm not sure I have all the answers but making software patents a special case just feels wrong and is likely to have so many legal loopholes as to be worthless ?
The patent system as currently practiced is broken. That much is clear. It was supposed to be about promoting innovation and the spread of knowledge. Instead it seems to really be about granting monopolies. But until the law is changed companies have to apply for patents if only to protect themselves against attack.
We need fundamental changes to the patent system which applies to ALL patents.
As to your first question, in a world without software patents, that wouldn't happen exactly as you describe it. What copyright and trade secrets protect you against is outright theft; that's actually a large part of what patents are supposed to protect you against (i.e. you invent something and I just copy it). In physical devices, copying is easier than in software, since the number of elements involved is relatively fewer and because things are easily amenable to disassembly, and there are few "implementation details" that are hidden from an initial set of observations. In software, "copying" something these days generally means re-implementing something that has the same effect, but the implementation techniques could be radically different. As a result, in software as it is now, patents don't prevent theft by "copying" the actual implementation, they effectively prevent re-implementation of the same features, even if that implementation is radically different than the original. (Witness pretty much any software lawsuit in the news in the last six months). So again, copyright and trade secret protections protect you against outright theft of your work: someone stealing your code and re-using it without your permission, or stealing your internal documentation about how things work, or even reading your proprietary source and using it to guide a new implementation. They don't prevent someone from "copying" your software by implementing their own program that does the same thing. If someone does that, and they independently (with no help from you) go ahead and rebuild your system, why should you get to profit from that? If you have a pizza place and another pizza place opens next door and copies your menu, you don't get to sue them for patent infringement: you make sure your pizza is better, or your cost base is lower, and you compete on the merits. That's how pretty much every other business on the planet works: if someone comes out with a similar product, that's life, and it's your job to be better. Imagine how ineffective our markets would be if that weren't the case.
Secondly, software patents are "special" because patents in general are special: they're a constitutionally mandated pragmatic tradeoff that grants people temporary monopoly rights in exchange for the greater public good. (Note that in Europe patent rights accrue from a theory of "natural rights" effectively, but in the US it's 100% pragmatic in base). So if, pragmatically, software patents do more harm than good, they shouldn't be there, end of story. The benefits of patents are supposed to be two-fold: to give people an incentive to create things, and to give them an incentive to disclose their creations without fear of copying. The latter point is more or less totally moot with software: lawyers advise their clients not to research patents for fear of knowingly infringing something, and on top of that the patents themselves are incomprehensible. So that benefit is basically a 0 with software patents, with perhaps a 0.001% exception for significant algorithmic patents around compression or cryptography. The incentive to create benefit is also pretty difficult to justify; lots of small software development shops have exactly 0 patents, outright theft is prevented by copyright and trade secret protections, and these days most companies use patents entirely to avoid being sued themselves or in an anti-competitive fashion. I believe it would be tough to make the argument that less innovation would happen without patents, given the huge number of open source and independent developer projects that are threatened by patents. So software patents are "special" because they fail the pragmatic test: the ROI on them is intensely negative, patents (in the US at least) are only supposed to exist as a way to benefit society, therefor software patents shouldn't exist.
Again, there already are special cases, in that things like book plots or fashion designs aren't patentable; it's up to the legislature and the courts to draw the line on patentability, and they've chosen to say that mathemetic formulas aren't patentable, plot devices aren't patentable (but people try), but that genomes are (which is intensely controversial and the line is fuzzy), as are hardware devices, pharmaceuticals, and now (as of the last 15 years) business methods and software. The line gets drawn and re-drawn all the time. Why not draw it in a way that accrues the most benefit to the public? That's the constitutionally-mandated reason for there being a line at all.
So I don't disagree about general patent reform, but I do disagree that software isn't a special case: it is (along with business method patents) because it's an area where patents are doing the most harm, have almost no benefit to outweigh that harm, and where independent invention is the rule rather than the exception.