Sunday, November 23, 2014

Policy: Our Broken Software Patent System (The Short Version)

I get it. Ain't nobody got time to read a 4,500-word article on software patents.  But I think this is an important topic, so I wrote a shorter version of my three-part article for impatient readers.

But first I have to plug two excellent sources of information about our broken software patent system: the This American Life episodes " When Patents Attack!" and " When Patents Attack ...Part Two". I cannot recommend these episodes of This American Life highly enough.

The Software Patent System Is Broken

The American patent system is completely broken, at least when it comes to software patents. Billion-dollar software companies are suing each other over minor pieces of code, patent trolls run rampant, and consumers are losing out as the original purpose of software patents have been lost.

The Point of Software Patents
Patents are a form of intellectual property, like copyright. Unlike copyright, patents cover inventions instead of creative works and last for a shorter time.  The idea behind patents is great: If you spend years inventing something, perhaps building a better mousetrap, then someone shouldn't be able to see your mousetrap in a store, steal your idea and sell the same mousetrap while bypassing all the hard work you did refining the improved mousetrap.  With patents, you must reveal your invention publicly, but then you have the exclusive rights to that invention for 20 years.

However, there are limits. You can't patent just anything, someone would patent the wheel and sue all the car manufacturers.  Patents must be a patentable thing (a process, machine, "[article] of manufacture," and composition of matter), and they must be  new, useful and nonobvious.

Applying these principles to software is pretty new. Software patents only became legal in the US in the 70's and 80's. The courts are still trying to figure it out.

Existing Patents Are Invalid - Non-New Patents
One problem with the current situation is that people are patenting things they shouldn't be able to patent. People are patenting existing software inventions.

During the "When Patents Attack!" episode of This American Life (TAL), the journalists from talked to David Martin, the founder of M-CAM. M-CAM uses special software to search through all existing software patents to find patents that are essentially the same. Ideally, each patent should be unique. However, sometimes the US Patent and Trademark Office (USPTO) grants patents for things that have already been patented. During the TAL episode, Martin looked up how many matching patents there were for one specific software patent. There were 5,303 matching patents.  Martin said that happens 30% of the time.

The specific software patent that Martin was looking up with TAL was Patent 5771354. According to the owners, Intellectual Ventures, it covers upgrading software on your home computer over the Internet.  When TAL looked at the text of the patent it seemed like it did a lot more than that. My own opinion is that it appears to cover doing any sort of data backup over the Internet, using an ID and password.

Drawing from Patent 5771354 showing
how all computer networks work
There are duplicate patents abound.  Furthermore, I'd argue that even if an inventor receives the patent on something, it doesn't mean he or she invented it.  That person may have just been the first to file a patent.  Filing a patent is an expensive, time-consuming process.  According to the USPTO, it takes about 2 years for a patent to be processed.  The cost of filing a software patent is around $10,000 (UpCounselRichards Patent LawIPWatchdog) when including legal fees, which might be a drop in the bucket for a major corporation but is expensive for a small startup.


Existing Patents Are Invalid - Obvious Patents
Software patents might be obvious extensions of existing patents.  As a software engineer and a person who is skilled in the field, I would describe Amazon's 1-Click patent as fairly obvious.  As one blog pointed out, it's a "fairly broad concept" that the European Patent Office denied a patent to because it was "obvious to a skilled person".

Another example: Richard Stallman, a software engineer who is famous for his work on GNU, Emacs, and other free software, decries the obviousness of Patent 5963916, applied for in October 1996 in his text, "The Anatomy of a Trivial Patent".  Patent 5963916 covers listening to a preview clip of music on the Internet.  After posting a snippet of the patent, Stallman writes, "That sure looks like a complex system, right? Surely it took a real clever guy to think of this? No, but it took cleverness to make it seem so complex."  Stallman analyzes each line in the first portion of the patent to point out how each aspect of the idea was already existing or, at least, very obvious at the time.  The overly complex language commonly used in patents obscures the obviousness of the ideas.

Patents Aren't Serving Their Purpose - Patent Trolls
According to the most popular definition, a patent troll (also called a patent assertion entity) is a company that obtains patents--usually through buying them--and, instead of making products based on those patents, waits for another company to violate their patents, and then forces that company to pay licensing fees to use that patent.

Let's take the example used in the intro of "When Patents Attack!".  Since 1999, Jeff Kelling has been working for FotoTime, a small company that hosts a photo sharing website. In May 2008, they received a letter from FotoMedia (not to be confused with FotoTime) that said FotoTime was in violation of 3 patents.  FotoTime was told to pay licensing fees or risk going to court.  It turned out that FotoMedia had sent the letter to 130 other companies including Yahoo (Flickr), Shutterfly, Photobucket, and other companies, big and small.

Whatever patents were being violated, FotoTime had evidently come up with the same idea themselves, without reading FotoMedia's patent or copying some FotoMedia product.  Another weird thing was that FotoMedia had no photo-sharing website, so it wasn't a competitor to FotoTime.  When Kelling called FotoMedia to ask them which patents FotoTime was violating, FotoMedia wouldn't tell them until they went to court.

Kelling learned that fighting the patent in court would cost an estimated $2 to $5 million, which was "more than [FotoTime] could handle".  FotoTime settled with FotoMedia.

This is what patent trolls do.  They purchase a patent that is somewhat vague or perhaps even invalid, and instead of making some technology that uses the patent, they threaten to sue companies they think are using the patent.  Some companies will pay them a fee rather than spend millions of dollars fighting the patent.  The patent trolls will then use that money to purchase more patents and sue more people, over and over.

This isn't a business.  This is, as venture capitalist Chris Sacca described such practices on This American Life, "a mafia-style shakedown."

And patent trolls are growing bolder.  According to a Presidential study, the number of lawsuits brought by patent trolls more than doubled from 2010 to 2012, and these lawsuits accounted for 62% of all patent lawsuits in America in 2012.  Victims of patent trolls paid $29 billion in 2011.  Now in 2014, these numbers are probably higher.

Patents Aren't Serving Their Purpose - The Damage from Patent Trolls
Patent trolls kill innovation in a few ways:
  1. Software companies must spend money on legal fees instead of growing their technology.  It's impossible to know whether your company will be violating a patent or whether a patent troll will target your company, so you must be prepared.
  2. Some startups may not be able to pay the legal fees from a patent lawsuit and may go under.
  3. Patent trolling can even create a chilling effect, causing programmers good ideas to never pursue their startup for fear of being sued by a patent troll.
Software patents no longer promote progress, if they ever did.  It's impossible to know whether a company is actually violating a patent because the patent office is a confusing mess, containing vague and duplicate patents.  And so any software company with a good idea can be sued at any time, by a patent troll claiming that software company is violating its patents.

The system needs fixing.

The Software Patent System Will Always Be Broken

Changing such a huge system to be efficient and coherent would be hard.  The software patent system is at the intersection of law and software engineering, an area few people understand well.  As such, it can be difficult to solve its problems or even describe what the problems are.

The Government Won't Fix the System
Firstly, the United States Patent and Trademark Office is unlikely to fix the software patent system.  For one, they are overburdened with work already. The USPTO has too many patents to process and too little time to process them.  I suspect that this extra amount of work has lead patent examiners to approve lower-quality patents.  A recent study also suggests that the patent office has lowered standards to cope with the huge backlog of pending patent applications.

Congress or the President could fix the system, but patent reform is not a sexy issue and is unlikely to get the attention it deserves.  Furthermore, I doubt the President or Congress understand this thoroughly complex problem.

The Industry Won't Fix the System
I doubt that software companies will fix the system.  Large software companies already have purchased hundreds or thousands of patents and are immune to patent trolls.  Small software companies are feel the most pain from this broken system, but they don't have the lobbyists to effect change in Washington.

Patent lawyers, whether they work for the government as examiners and judges or for companies as patent attorneys, have even less incentive to change the patent system.  The broken patent system is their livelihood, and a lucrative one at that.

The System is Intrinsically Unfixable
Another reason I believe the software patent system will always be broken is because the idea of software patents is absurd.  Software is inherently unpatentable.

Firstly, software is a fast-paced industry.  The next big thing is often deprecated in a short amount of time.  Let's look at smartphones for an example.  3G data was a huge selling point for the iPhone 3G in July 2008.  Two years later, HTC released the EVO 4G, the first 4G smartphone in the US.  However, that phone used WiMAX networking for its 4G capability, and WiMAX was declared dead as of 2013 or 2014.  All major US networks now use LTE for 4G data.  In less than 6 years, the way smartphones sent data over mobile networks changed multiple times.  Yet software patents last 20 years.  Twenty years is several lifetimes in software years, way too long to give exclusive rights to a software invention.

A second issue is that patents aren't as necessary for software as they are for hardware.  I understand the need for protecting hardware.  Inventing new mouse traps requires not just time, but materials.  You need to create lots of physical prototypes until you get it right, using real materials, like wood and metal.

"Inventing" software requires none of that.  All you need is one basic computer to program on and you can create endless prototypes without worrying about materials or trial runs in harsh conditions, unless you're trying to program for some specific device.  Even then, there are emulators that allow you to program apps for smartphones and vending machines, etc. without actually purchasing the device the software will end up on.

Lastly, the complexity of software causes difficulty in deciding their patent eligibility.  In Patent Failure: How Judges, Bureaucrats, and Lawyers Put Innovators at Risk by Bessen and Meurer, they describe how software's complexity hinders its patentability: "It is possible, however, that features of software technology make it particularly susceptible to the patenting of obvious ideas, especially given the legal doctrines of non-obviousness developed by the Federal Circuit."

Software is different.  Software might even be unpatentable.  But even if it isn't, the software patent system will always be broken because no one can fix it. That's why we must abolish software patents.

We Must Abolish (or Reform) Software Patents

The system is very broken, and why there's no hope that it will ever be fixed.  There are only two options: a sweeping change in software patent legislation written by multiple parties working in concert with software industry leaders to fix an abomination that shouldn't exist; ...or just save time and money by killing the whole software patent system.

Ending the System
It wouldn't be that bad to get rid of software patents.  Europe does not allow software patents (the European Patent Office has allowed some patents involving software, but "programs for computers" have not been regarded as patentable inventions since 1973), and they have a bustling software industry.

There would be many benefits to dismantling the software patent system.  First, there would no longer be any software patent trolls.  Second, software engineers would probably produce more free and open source software (FOSS) since they would no longer have to worry about securing software patents that could be used in defense.  This would create the conditions for a new software startup boom.  Without the fear of patent lawsuits and given new FOSS tools, starting a small software company would be less risky.  Even larger software companies would benefit, since they wouldn't have to waste resources on expensive legal fights.  Society would get more cool tech stuff released more often.  This increased innovation would probably have a positive effect on the American economy.

Let's not forget that there are already intellectual property protections for software.  Copyright will be the primary protection for software.  There are also trade secrets.  And lastly, there's the profit motive and the notoriety of releasing first.  In this fast-paced industry, whoever comes out with a cool new concept first will profit from having a working product in stores while other companies try to work out the kinks in their labs.

Reforming the System
I'm calling for the end software patents in the US and elsewhere.  However, if we cannot end the software patent system, we should reform it at the very least.   My list of reforms:
  1. Software patents must be specific.
    No more language about "the machine", "network web sites", "memory bank portions" and other archaic language unused since the days of vacuum tubes for the sole purpose of obfuscation.  Requiring clear and current language without extraneous implementation details will make patent application, processing, and litigation go a lot faster and easier.
  2. Software patents must be used.
    If you are the owner of the software patent, you must be using the invention to actually create a product, or you must license the patent at a reasonable price.  Waiting for someone to violate your unused patent so you can extort them is unethical and it should be illegal.
  3. Software patents should have a short lifespan.
    Twenty years is too long to hold a monopoly on a technology in the software industry.  Bezos and O'Reilly suggested 3-5 years, which is much more reasonable.
  4. The US Patent and Trademark Office must remove their bad patents.
    The Office must go through their existing patent database and get rid of duplicate patents and other invalid patents.  The USPTO is mostly to blame for this fiasco and they should fix this.  Otherwise, how can inventors tell what inventions to avoid using and applying for?
By reforming software patents--or better yet, getting rid of them altogether--, we can fix the problems in the industry before any more damage is caused.  When we do, society will reap the benefits.

No comments:

Post a Comment