Patents are once again in the focus, courtesy Apple’s suit on HTC. There is a lot of talk about right and wrong, and this time even the Apple fans seem to dislike Apple’s step. I think John Gruber has it right when he says that ,this is not about patents, but about poaching the idea – the grand revolution of the mobile phone.
I personally think that the best way for patents to be implemented for software, is the open source way. If a patent is about exclusive rights in exchange for public disclosure of an invention, there is no way to claim a patent other than open sourcing the software invention.
The problem with patents in software, and maybe not in other fields, is that it harms everyone involved. When reverse engineering works with most of the software, public disclosure is not necessary nor useful. Secondly, it is extremely easy to copy, whether it is the design or the implementation (which I consider a benefit) in the software world. And most importantly there are thousands of ways of doing the same thing here. In such a system patents turn out to be weak supports. And companies that resort to such a weak system become unpopular with the masses.
A better way is to allow people to copy it, but with due credit and without violating your terms. And this is open source. This has proven well, it has helped speed up adoption and evolution of ideas and also improve implementations.
I can feel it when John Carmack says:
The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
Maybe patents have been the cause of innovations elsewhere, but in software they have mostly been the cause of problems.
Alain Ranaud presents a fresh perspective in support of software patents, but in my opinion, it still highlights the problems with the patent system than its benefits.