Patents are meant as legal protection of ideas and works so that you don’t invest a bunch of time in doing something only to have it stolen. Morally, this is important because it protects fair payment for labor. Practically, it gives an incentive to come up with new ideas and innovate which wouldn’t be present otherwise. Microsoft general counsel Brad Smith writes that patents “maintain the incentives that encourage and underwrite technological breakthroughs” and that “patents provide the legal foundation for innovation”. I think for these two reasons patents are a necessary and beneficial idea. You don’t want someone to work really hard on something for a long time and not make any money on it. That could cause unfair financial hardship that affects their life in a negative manner.
That being said, I think that the patent system needs some rethinking for our modern tech economy. In an economy that is more based on knowledge and ideas than it is on physical attributes any more, patents take on a different meaning. Is it o.k to patent an abstract idea like software or an algorithm? What about taking that algorithm and applying it to a different problem that doesn’t compete with the business of the original algorithm inventor, does that count as a patent violation? Software is also something that by design is a conglomeration of a bunch of different algorithms to achieve a goal, so we should ask about whether we even want software to be patent-able. I agree with Bill Gates that “if people had understood how patents would be granted when most of today’s ideas were invented, and had taken out patents, the industry would be at a complete standstill today”. I think that software shouldn’t be patent-able for this reason among others. It is more beneficial for everyone, for software in particular, that basic algorithms and design ideas be non-patent-able. Software firms make their money from implementing this for particular ideas in a user friendly format. Another reason to ban software patents is that “software development is an individual, creative process more akin to writing a novel than designing a new car”. It takes a large amount of upfront capital investment to develop a new car, drug, etc. It makes sense that these are patent-able ideas. It’s practical to consult a lawyer for these few cases, there is an idea that results in a singular physical object, and you don’t want people being robbed of the large upfront investment costs. In contrast, “a single programmer working over a weekend can write software that employs numerous sophisticated mathematical algorithms. It’s unreasonable to expect that programmer to consult a patent lawyer before releasing his software to the public”. Successful software isn’t the result of large scale science efforts coming up with a new idea. It is the ability to successfully combine these algorithms and deliver a available, usable product.
Looking at patent trolls shows what happens by allowing software to be patent-able. They argue for their social need by saying that “if it didn’t buy patents, inventors would never get paid”. This is a weak argument to try justifying an extortion racket. If that was really the problem you wanted to solve, buy the patents and build something with them. Instead patent trolls sue anyone they can find although they haven’t caused any harm to the trolls or patent sellers that need to be rectified. It is an inexcusable behavior that is legal under our current patent system. Algorithms and math is such an interdependent web of ideas that the patent trolls have an easy time finding people to sue. Good software development requires picking through this web of ideas to find the tools for your problem. This web is a cultural inheritance of our country. It shouldn’t be patent-able.