I apologize if I came off as arrogant; this particular issue gets my hackles up a bit, and it frustrates me when I hear engineers espouse a dogma that I feel like isn't in their best interest. I think pretty much any engineer who's been affected by patents has been affected negatively by them; there are very few engineers with direct positive experiences where "thankfully I had a patent, or else someone would have stolen my work," and many more "someone else is trying to profit from my independent work" stories. (The positive experiences around having patents usually relate to being able to use them to defend yourself). But I realize I was uncharitable there, and that you have a reasonable basis for your beliefs; my apologies.

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.