[software patents] often seem to claim (once boiled down) not really more than a recitation of the results to be achieved.
...
I don't think a spec/claims set written as proposed fulfills our end of the bargain.
I agree with this characterization of many sw patents. But, speaking as a former sw developer now practicing as a patent attorney, I see nothing wrong with that.
That is, I think claiming sw in terms of function does fulfill the enablement bargain, precisely because you can give a sw guy a functional description and he can go off and implement it.
To give an extreme example -- one which I only spent the last 5 seconds thinking about -- here's a sw claim that comes close to being
self-enabling:
A method comprising:
receiving an email message; and
if a sender field of the email message matches a predetermined string, playing a particular sound.
A sw developer could go off and implement this on, e.g., Unix or Mac or Windows, without any (here come the magic words) "undue experimentation". I don't have to tell him anything about mail protocols like SMTP or POP3. I don't have to describe a GUI. I don't have to tell him what language to write it in, or what platform it runs on. There are many different ways to do it, and him can figure all this out by himself.
It seems like leaving out the "how to make" part of the invention would be non-enabling. I guess if we assume infinite money + infinite time + infinite chemists + trial and error then it can be duplicated (even if the chemical process uses a mystery sauce to make it).
I think most software is just fundamentally different than research-focused areas like biology and chemistry. For software, you can just throw bodies on the project and give them enough time, and they'll be able to produce the specified function. It's not even "experimentation", much less "undue experimentation".
Instead, software patents disclose what the software would look like or do, if you could make it. The mystery sauce algorithms that accomplish the patentable feature(s) are not disclosed.
In my mind, by choosing to describe the algorithm as "mystery sauce", you're stipulating that a POSITA would
not know how to implement it. In such a case, you
do need to disclose further details.
But to me, the results described by most software patents are not in fact a "mystery", but are doable. The claim to an email feature that I wrote above being a perfect example.
Comments?