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. ]