Within computing the topic of Software Patents is huge and could have lasting effects however I think we have been going about this all wrong, and it all boils down to the simple question:
Are you a Computer Scientist or a Software Engineer?
How you answer that question I believe will most likely have already predetermined how you feel about Software Patents.
If you are a Computer Scientist you usually feel that progress should be rewarded and not hidden away behind legal dilly dallying and it should be used for everyones benefit – ergo the GNU foundations cause with their rather bearded leader Richard Stallman, whom recently enjoyed shouting “You’re wrong! You’re wrong!” to students at Aberystwyth University when questioned about whether using Software Engineering practices used by companies would possibly have made the GNU OS materialise sooner; its only been 27 years in the waiting so far.
If you are a Software Engineer (like me) whom strangely enough likes being paid, you may feel slightly differently. As an engineer you are being paid to build something, how you go about doing that may require research and in the end costs money. If after this research you find a completive edge, just like the underlying business capitalism, it should be only fair that you get to keep hold of that advantage – ergo Software Patents.
What I feel has happened to the whole debate is that the science behind the technological progress in computing has been mixed up with the engineering aspects, and the publics underlying feeling that something physical is inherently harder to create; a whole magnitude of mechanical processes are patented. Luckily other fields, such as electronics have separated themselves from the underlying science; physics.
Chemistry and Biology although pure sciences have been lucky enough to realise you can’t patent an underlying principle, just the mechanism to put it into place. Computer Science on the other hand hasn’t yet realised what are the fundamental building blocks are – a loop is a loop and can’t be patented for example. To this effect, my belief is that if software is to be Patentable, there should be an underlying set of what can and can’t be Patentable and by whom.
My big issue with Software Patents is that designing and building software is a vast challenge, a Patent should cover what you create, not how you create it (which is different to other, hardware based patents). In software you can implement something 1000’s of ways in 100’s of languages; this is different to Chemistry for example where a reaction only occurs one way. This is where most Software Patents are currently becoming unstuck.
Another problem with software patents and patents in general is not the patents themselves but who can own them. Lately we have seen companies buying and selling patents like a commodity. I feel Patents should only be allowed to be owned by the company that submitted the Patent and created the product in which the Patent is used.
In summary: Software Patents could be used for good but most of the time they are awful and stop innovation.