UPDATE: This article illustrates what I'm getting at very well: Google's position is weak while Apple's is strong - making patents a moral issue actually hurts Google's chances at reforming them. Change the rules, then change your strategy)Martin Fowler just wrote a great piece on why Software patents are absurd and should be abolished. As Martin is so gifted in doing, he pulls in just enough background and history to educate you on the merits of patents in general, then shows clearly and simply why software patents are harmful to innovation and a pointless tax on established businesses.
In fact, I'd go so far as to say Martin's article (as is so often the case) is almost a perfect short introduction to the rationale for abolishing software patents... until he gets to the end of his argument and ruins is it by admonishing "my fellow programmers" for being "complicit in this tragedy." Martin rounds out this unfortunate paragraph with: "Any programmer who cooperates in getting a baseless patent should be ashamed of themselves."
Now I respect that this is clearly a moral issue for Martin and I'm sure that many (including those reading this) share his belief that it is unprincipled for a programmer to be against patents and yet cooperate in the application process. I also respect that Martin is a man of principle. However, I think he is wrong to hold this one - and ruined an otherwise great argument by introducing it into his reasoning.
And while I think he did so as an attempt to influence those faced with the situation, I think it's likely to have the opposite effect - pushing some to rationalize that patents are a good thing, so they can sleep at night when they choose not to quit their jobs to avoid the shame.
Fortunately, I didn't have this moral hangup when faced with a similar situation, and so I can still sleep at night (I'll just have to hope Martin still respects me after this). Because I don't think patents are inherently immoral - any more (or less) than engaging in running a business is inherently moral.
Now I recognize (and you should too) that what follows could be nothing more than mere rationalizing on my part, that Martin's dig hit a little too close to home and I am simply jumping on my (much smaller) soap box so I can continue to sleep at night. You can judge for yourself. My goal here is to share my experiences with software patents, and why I think they are amoral (while also a mistake that should be abolished forthwith).
Yes, I've signed patent applications. Yes, I'd consider doing it again. I believe (though I don't hold them) that some of them were even awarded. Here's how it went down:
At a critical time in my former employer's growth (For those that don't know my employment history: the business involved manufacturing of software-driven custom-built hardware devices) we were faced with a thorny - yet common - business situation: Namely, we were in competition with other companies to secure the same market.
Further, the nature of this business did not require patents to secure a "moat" around one's market share, but that was certainly a strategy that could be employed - though in my then and current opinion not nearly as effectively as how my employer was going about doing so which was by providing better service, securing better partnerships and scaling up production faster.
However, one of our competitors was attempting to secure a software patent for their machine. This patent (as described by one of my fellow programmers at the time as "patenting client/server") had all the failings that Martin describes (and then some), but our attorneys - to my skepticism - felt our competitor had a good chance of getting it approved with a few tweaks and could then use it against us, so our best strategy was to get our own patents to fend them off.
Without giving away details, a combination of patent application, patent purchase and architectural change was the suggested strategy. We executed that strategy in various ways and thus positioned ourselves appropriately if the (as I believed farfetched) doomsday scenario occurred and our competitor got their patent of client-server.
As I said, I thought the whole thing absurd. No one would allow a patent for client/server, the lawyers were overreacting. Still, I'd seen enough absurd patents to agree we were at risk, and so even though I thought it a colossal distraction for our small team, and overly paranoid, I worked to identify our own "original" inventions and how we could change our architecture to tap dance our way past their absurd patent if it were granted.
Now, despite my skepticism, they did get (a slightly narrower version) of that damn patent awarded, they did rattle their saber, and the changes the suits suggested worked extremely well to make the whole thing a non-event in my employers growth.
So, now you know my "shame"; how I sold my soul to the patent demons. Right? Keep in mind, I was instructed by the highest management of our company to do this and if I held the position that patents were inherently immoral the only principled decision was to resign. However, once I understood the situation, I accepted the charge because it was clear that it was best way to counter the absurd patent. By the way, I didn't hide my opinion - I even shared it with the CEO - and while he recognized the merits of my argument (and even that the whole patent thing should be abolished) he also clearly saw the need (as did I) to defend ourselves based on the reality that we were doing business in.
And this is the key point I'm trying to make: It wasn't an unprincipled decision for me because my employer wasn't doing anything unprincipled. They were simply playing the game correctly based on the rules in front of us all. To ignore this threat to the business would've been wrong; wrong for our success, wrong for our shareholders and wrong for our customers (because we had the better product).
This is not to say one cannot act immorally while playing by the rules - the business world is replete with such things - but the mere existence of patents is just a rule of the game we call business. If there's a moral element - it's in how they are used. It is my belief, that neither of the companies in my example behaved immorally (though our competitor was playing a weaker hand), and if the rules were changed, the outcome would've been the same (just cheaper for all concerned). But since the rules are there, they were used because that's what business is: A competitive game where those who use the rules most effectively win. That the stakes are high, and that many cheat, doesn't change that (though it obscures it for many) and it doesn't change that patents are part of the rule book and should no more be avoided than forgoing castling in chess because one thinks that moving two pieces should never be allowed.
Anyway, I hope for those who are faced with signing a patent application, I've done a little bit to ground your decision on the purpose of that patent, and not its mere existence. The latter is a naive position that fails to recognize the business landscape we all (well most of us) work in as professional software developers.
What we need to do is to change the rule book. What I would love to see is a more active attempt to get patents banned by the software industry - and I see no inherent hypocrisy if they continue to use them while working toward their extinction (not that I really believe they will, unfortunately).
In sum: Making patents inherently a moral question simply distracts and retrenches participants and plays right into the designs of those who have the advantage of the status quo. Martin's shaming of his fellow programmers was respectuflly offbase in my opinion as it ignores the much more important consideration of how patents are used while they exist.