Arguments over software patents are highly topical at the moment (see this thread), so I couldn’t resist jumping in.
Software is about ideas. The act of writing code is that of expressing an idea in a way a computer can understand. Software patents appear to be an attempt to take ideas and thoughts and say, “This thought is mine. Nobody else is allowed to think it.” Its nonsense. For one there is the philosophical argument that there is no such thing as original thought (ie. every thought a person has is influenced by those they’ve come into contact with, and thus cannot be claimed as ‘original’). For another, most software patents are based on work that has gone before, which raises the whole issue of ‘prior art’, and what qualifies as prior art. The current furore over O/R mapping is a case in point. Thousands of developers all over the world have written ad-hoc O/R mapping code. It is such a universal problem domain that for one company or individual to claim ‘I invented O/R mapping’ is laughable. Its perfectly reasonable to try and come up with the best O/R mapping product, but perfectly unreasonable to claim that your way is the only way.
The only truly fair and equitable solution is to compete solely on the basis of quality of service, and for everyone to be honest and respect each other’s work, but what are the chances of that?
[ Previous post mysteriously vanished – for those expecting a post titled ‘O/R Patterns’ – it was just the following link. ]
Your entry seems almost as if it’s an attack on patents in general. All patents, in any field, are in fact to protect intellectual property (i.e. thoughts) and thus provide commercial incentives to innovate. (Well, in theory anyway.) It’s also not a problem that software patents incorporate prior ideas as long as they don’t duplicate them; most advancements are evolutionary not revolutionary.
However, patents are not supposed to be granted to “obvious” ideas such as online catalogs or O/R mapping and this is where the system seems to be failing lately. A particularly clever and original implementation of either of these may be patentable, but it would only narrowly protect that solution and not the whole problem it addresses.
The situation isn’t quite as bad as it seems though: Getting a patent and actually enforcing it are two different things entirely. Right or wrong it seems that when the patent office is in over their heads, they tend to err on the side of approval and let the courts sort it out.