Note: I am in favour of patents on inventions.
I believe the current software patents system has a number of flaws (in decreasing order of importance to me):
- They attempt to close off the use of knowledge rather than open it up. If we were not filing patents for our work, we could be writing papers or books to share that knowledge. What would have happened if the Gang of Four had filed patent applications instead of writing Design Patterns?
- They can verge on the dishonest. Describing most software development work as “novel” and “non-obvious” is simply incorrect. There is a huge community of software developers, and the idea that none of them would find what I am doing “obvious” beggars belief.
- They are a tool that big companies can use to squash small companies. Small companies can’t afford to develop a large defensive patent portfolio. Patents don’t even need to be valid or high-quality: if there are enough of them, a company that can afford a lot of lawyers can destroy one that can’t.
- They are a tool that big companies can use to squash open source projects. Many open source projects have no money at all. If a large company doesn’t like some project, they can simply sue for patent infringement (even for patents that are blatantly irrelevant) and the project will be toast.
So I don’t want to be involved in patent applications at my work, even though my employer is keen on patents.
I am now considering how I should act on this opinion. I don’t want to screw my colleagues but I think I want to refuse to be a part of any patent applications as far as I can do that without screwing them.