The Purpose of Patents
Originally, patents were an important way to protect patent holders from competitors that would steal their product ideas and put product clones on the market without needing to go through potentially expensive R&D efforts. Copying product ideas was a way to try to get a free lunch—easy for the thief, hard on the inventor, and quite damaging to the economy.
If the government didn't try to prevent this copying of ideas, then there would be no incentive for businesses to invest in R&D. Any business that did so would be spending an awful lot of money to develop a product that anyone could turn around and produce without the initial R&D costs, once the product was on the market and was reverse engineered.
With a patent system in place, the original inventor has some time to sell a product before others are allowed to copy it. The patent holder isn't given exclusive rights to produce the invention, but he or she can attempt to enforce the patent when someone has potentially violated it within the term of the patent (usually 20 years in the US). This system would seem to resolve the problem of unscrupulous competitors, but it creates its own set of problems.
The Problem with Patents
The most obvious problem with the patent system is that it created the devious monster known as the patent troll. Some people try to set up companies with a business model of licensing and litigation based on patents that they have no intention of designing into products themselves. They come up with ideas and file patents for them with the most general, wide-reaching claims they can get. Then they try to find small companies (and sometimes large companies) that maybe violate those patents, and send the victims letters that threaten lawsuits if they don't pay licensing fees for the patents they are allegedly infringing on. The aggressor in this situation is the patent troll.
One example of a high-profile company engaging in these tactics is Rambus, Inc. They develop and license high-speed memory interfaces for microprocessors and DRAM, and they've spent plenty of time over the last 15 years in lawsuits with all kinds of semiconductor companies from Samsung to Micron to Nvidia. Instead of making memory products, they design and document memory interfaces and file lots of patents so they can then go after the companies that actually make real products.
The only reason this kind of business model can work is because it's not required to produce the invention to be issued a patent for it. If the original intent of patents was to protect the inventor from theft of her ideas until she had sufficient time to bring a product to market, then this use of patents to license technology instead of building it is a gross distortion of how patents should be used. It wastes resources in court and discourages companies from developing new technologies.
Another related problem with patents happens when companies build up huge war chests of patents and then threaten other companies with lawsuits for patent infringement whenever and wherever they can. The classic example of this problem is when IBM got Sun Microsystems to license some of their patents by threatening to sue over some weak patent infringement claims. It was thinly veiled extortion on the part of IBM's lawyers. Sun paid up because IBM had thousands of patents at their disposal, and IBM could easily outlast Sun in court.
Timothy B. Lee has a great article in the Washington Post on this problem of large patent holders, and he summarizes a reform proposal that may have made some progress on solving this problem. The article's a year old, but still quite relevant. If anything, patent war chests have gotten bigger, and are acting more towards stifling innovation.
Companies are in an arms race to build up a large enough patent portfolio to protect themselves from other companies, even if they have no intention of suing for patent infringement themselves. The danger is that once a company has this large collection of broad patents and a small competitor comes along, the temptation to sue to protect their business is too great.
Patent war chests end up making it very difficult for small companies to innovate because they don't have the resources to make sure they aren't violating any patents or to pay licensing fees and litigation costs if they do. This doesn't mean that small companies should be allowed to blatantly violate patents, but so many patents are either too generic, frivolous, or obvious, or they are already invalid due to prior art that was not considered at filing. There should be an easy, inexpensive way to cleanse the system of these worthless patents that only serve to entrench the old guard and restrict the progress of new ideas.
The Irrelevance of Patents
While arguably patents are still useful for companies that make physical products because of the development and manufacturing time it takes to bring them to market, software companies—especially SaaS companies—are under very different constraints. A modern software startup can go from square one to launching an internet service to an exponentially growing user base in a matter of months. The speed at which these companies need to advance to stay ahead of the competition makes the normal 20-year term of a patent look like an eternity.
In fact, many companies that make physical products can move nearly as fast as SaaS companies because of the rapid prototyping capabilities that are now available for circuit boards, plastics, and other types of hardware. If companies are depending on 15-year old patents to protect their business instead of developing new technologies to compete in the here and now, they're probably not going to last much longer, and their patents are a frictional force on their competitors without actually improving competition. Maybe having a shorter term for patents that can be implemented rapidly, 5 years let's say, would go quite a way towards fixing this problem.
Another reason patents can be so restrictive is that many of them are obvious solutions to the problems you would encounter when developing a product. Especially with software, solutions that are novel and unique are quite rare. Most of the time you're building on top of a massive stack of other technologies, extending it a little more in obvious ways to solve your specific problem. Very few people are inventing new data structures and algorithms that would actually warrant a patent.
Finally, patents are ideas, and ideas are worthless. It doesn't matter how many patents a company holds. The real value of those patents is in the products that company builds and how well they execute in the market. Google, Amazon, Facebook, Twitter, and all the other big internet service companies probably have thousands upon thousands of patents, but at the end of the day, they didn't get where they are because of their patents. They got where they are because of how well they executed as businesses. So why do they have so many patents? They probably feel like they have to, to protect their investments of time and money in their ideas. In reality their patents may be irrelevant at best, and extra baggage that's holding them back at worst. Tesla decided to get rid of all this baggage, and hopefully help the entire auto industry develop EVs faster in the process, by open-sourcing all of their patents.
Exactly how much are these patent war chests holding back the advancement of technology, I wonder. Patents definitely had their uses in the past of protecting a company's ideas while they brought their products to market. Now that products are being developed so quickly, and standing still can be the death knell of a company, patents should change to reflect this new environment. If patents are still useful for software companies, they probably won't be for much longer.