Showing posts with label heads up. Show all posts
Showing posts with label heads up. Show all posts

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 (UpCounsel, Richards Patent Law, IPWatchdog) 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.

Policy: We Must Abolish (or Reform) the Software Patent System

(Our Broken Software Patent System, Part 3 of 3)

We must abolish the software patent system.

Yeah, you heard me.  Scrap it.  Get rid of the whole thing.

I've already explained in utter detail why the system is very, 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 bad to get rid of software patents.  Europe does not allow software patents*, 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.  Companies that abuse the legal system to prey on small software businesses would cease to exist.  Secondly, 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 from patent trolls or even large legit software companies, and given new FOSS tools, starting a small software company would be a less risky concept.  As for larger software companies, abolishing software patents would make these companies more agile, since they wouldn't have to waste resources on expensive legal fights.  Society would get more cool tech stuff released more often.  All of 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.  No one can steal a software engineer's or software company's actual code.  There are also trade secrets.   Just like the Coca-Cola Company keeps their Coke recipe a trade secret, a software company can keep its compression algorithm secret if it so chooses.  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.

I join Richard Stallman and the Free Software Foundation in calling to 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.

Reforming the System
The list of people that want to just reform the software patent system is longer than the end-patents-list (Jeff Bezos of Amazon and Tim O'Reilly of O'Reilly Media, the Electronic Frontier Foundation (EFF), Nilay Patel of The Verge, David Drummond of Google, most of the US House of Representatives, etc.) so reform might be an easier goal.

I've co-opted some people's ideas on reform and come up with a few ideas of my own.  My list of reforms that would fix the software patent system are as follows:
  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.  These things are "the computer", "websites", and maybe "areas in memory" (?) respectively.  (Though, really, hardware usually has no place in a software patent.  Usually, hardware is only mentioned as part of a patent to lend credence to the notion that it is an "invention.")  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.  The EFF also said a max of 5 years.
  4. The US Patent and Trademark Office must remove bad patents from their database.
    The Office must go through their existing patent database and get rid of duplicate patents and other invalid.  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?
With reforms such as these, the purpose of software patents would be restored.  Software inventions would be protected from stealing, but it would be easy for inventors to tell what patents existed and whether an idea was new or not.  The title of most innovative tech company would no longer depend on who has the biggest legal team.  Patent trolls would have a hard time existing.  And when the occasional invalid patent was granted, the owner would only have an illegal advantage for a short period of time.

In summation, we Americans must reform 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.

* The European Patent Office has allowed some patents involving software, but "programs for computers" have not been regarded as patentable inventions since 1973.

Saturday, November 22, 2014

Policy: The Software Patent System Will Always Be Broken

(Our Broken Software Patent System, Part 2 of 3)

The software patent system is broken.  You know it, I know it, most software engineers know it, and even the government is vaguely aware that something is wrong.  But someone will fix it, right?

Not likely.  While I sincerely hope that with enough reform, the patent office can fix this mess of a system, I believe that the software patent system will always be broken.  Let me explain.

Reforming the System Is Hard
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.

There's a lot of stakeholders in the current system that need to be considered.  For example, can software patents be reformed while leaving hardware patents alone?  How do you convince hundreds or thousands of lawyers, judges and programmers to change what they've been doing for decades?  Is it possible to banish patent trolls without screwing over regular inventors, especially those that don't know how to sell their invention?

Changing the system will require a lot of precise, sweeping changes.  It's possible, but incredibly difficult.  So who's going to do it?

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.  In 2011, Chief Judge Paul R. Michel (retired) noted that, "Inventors must now wait three years, on average, and often longer. Thomas Edison had to wait less than three months. In my view, eighteen months should by the longest time anyone must wait."  He blamed the problem on lack of funding, which is needed for "thousands" of more patent examiners and better IT systems.

Whatever the root cause, 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.  Patents that would not have been approved in less-busy times are now being approved.  A recent study also suggests that the patent office has lowered standards to cope with the huge backlog of pending patent applications.  The USPTO cannot fix the problem with duplicate and obvious patents being approved because they are too busy to examine applications carefully.

Perhaps the USPTO doesn't care about reforming the software patent system.  Surely, it would lessen their workload if the system was more efficient because there would be less patents to approve and less patent lawsuits to handle.  However, it could make their jobs harder by requiring patent officers to go through lots of existing invalid patents in the system.  But even if the USPTO doesn't look back at already approved patents, patent officers will have a harder job if patent applications require higher scrutiny instead of the rubber stamping the patent office does now.  "Rubber stamp" may seem like a bit of hyperbole, but the acceptance rate of patent applications is around 90%, when you don't count refiled applications as separate applications (see graph below).  If you try and try again, your application will be accepted, it seems.

The patent allowance rate has skyrocketed in recent years. Source: Ars Technica 

Like many inefficient government agencies, the problem may be with bureaucrats.  A political reason is needed to enact any major reform.  Until software patent reform becomes an election issue, we shouldn't expect much change from the USPTO.

Congress or the President could fix the system but, as I said above, 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.  (Note that the House surprisingly passed the Innovation Act, which was a start, but the Senate shut it down earlier this year for some reason.)

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.  They can even troll smaller companies with their large portfolios of patents.  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.  They have become a hot commodity in recent times.  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 (pardon the pun) patently absurd.  Software is unique and is inherently unpatentable.  That's just one more reason software patents will never be "fixed."

I know this is a bold claim, but I'm serious.  Let's break it down.

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.  Although 3G wasn't new, 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.

Think about how long 20 years is in terms of software.  It's 2014 (as of press time here at Omari's Tech Blog).  In 1994, Windows 3.1 was the most popular desktop operating system.  Nobody you knew had a cell phone, though I knew a few lucky families with a car phone.  You got on the Internet by dialing into one of AOL's servers.  My, how things have changed.

Twenty years is several lifetimes in software years.  This means that software companies must license any important patented technology if they are to survive, and that license may not priced reasonably or even available to license at all.  Twenty years is just way too long to give exclusive rights to a software invention when you consider how fast the industry moves.

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 or lawnmowers or killer robots requires not just time, but materials.  That first mouse trap may not work correctly, so you need to create lots of physical prototypes until you get it right.  That requires real materials, like wood and metal.  And probably more than a few mice.

"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.  Technically, you don't even need the computer.

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."  Because software patents are quite susceptible to obvious patents, patent officers and patent judges have a much harder job.

Software is different.  Software is special.  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.

Continued in We Must Abolish (or Reform) the Software Patent System.

Friday, November 21, 2014

Policy: The Software Patent System Is Broken

(Our Broken Software Patent System, Part 1 of 3. Or you can read the short version)

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. In this three-part article, I'll first convince you that the software patent system is broken in the US, then that the system shows no signs of changing, and finally I'll discuss what we can do about it.

Note that this article is about software patents in particular. The US patent system may work better for other industries; I don't know. My research has been confined mostly to software patents.

The Point of Software Patents

Let's first talk about 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 (20 years compared to copyright's roughly 100 years). The purpose of a patent is laid down in the constitutional clause that gives Congress the power "[t]o promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries" (Article I, Section 8, Clause 8).

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.  Or worse, they could see your mousetrap in your secret lab while you are still refining it, steal your idea and beat you to market.  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. "New" means you can't patent the wheel; it's already been invented. "Useful" means the invention has to actually do something. "Nonobvious" means you can't just slightly tweak someone else's invention; if there's already a patent on a standard pencil, the patent office won't grant you a patent on a slightly smaller pencil.  That's just an obvious extension of an existing invention.

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. In eBay Inc. v. MercExchange, L.L.C. (2006), Justice Kennedy and other justices questioned the wisdom of permitting injunctions in support of "the burgeoning number of patents over business methods," because of their "potential vagueness and suspect validity" in some cases.

Lots of Existing Patents Are Invalid

Non-New Patents
Now that we've discussed how software patents are supposed to work, what's the problem? Well, one problem is that people are patenting things they shouldn't be able to patent. Remember that all patents must be new, useful and nonobvious.  Well, people are patenting existing software inventions.

Two excellent sources of information about our broken software patent system are 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. You can listen to the first one below. But to get to my point, during Part One the journalists from This American Life (TAL) talked to David Martin, the founder of M-CAM. M-CAM is hired by governments, banks, and other businesses to assess patent quality. 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 invented and 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.
"We thought that would be an anomaly. And then we were told, oh no, it's not an anomaly. That happens. [....]And as I've testified in Congress, that happens about 30% of the time in US patents."
- David Martin, (emphasis added)
The specific software patent that Martin was looking up with TAL was Patent 5771354 "Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services". According to the owners, Intellectual Ventures, it covers upgrading software on your home computer over the Internet. For example, "when you turn on your computer and a little box pops up and says, 'Click here to upgrade to the newest version of iTunes'". When TAL looked at the text of the patent it seemed like it did a lot more than that. Having looked at it myself, I'd agree. 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
Didn't online backup solutions exist before 1999, when this patent was filed? Apparently. The Wikipedia article for cloud storage talks about AT&T's PersonaLink Services in 1994. This was a service for storing your PDA data. That sounds like an existing invention to me. But let's ignore that example for now. Martin's software found Patent 6003044 and Patent 5933653, which also cover backing up data remotely.  This invention has been patented many times over.  When TAL's Alex Blumberg expressed incredulity that 30% of US patents were redundant, Martin pointed out there was a patent on toast.

Patent 6080436 "Bread refreshing method" was issued in 2000.  It patents toast.  Don't believe me?  Go read it for yourself.  Granted, it isn't a software patent, but it shows the flaws of our patent system.

It should be clear now that the USPTO allows inventors to patent inventions that have already been invented, breaking the requirement that all patents be new.  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 (UpCounsel, Richards Patent Law, IPWatchdog) when including legal fees, which might be a drop in the bucket for a major corporation but is expensive for a small startup.  Because of these barriers to getting a software patent, the actual inventor may not be the first to file a patent on a particular invention.

Obvious Patents
So software patents may be patented and re-patented.  But even "original", previously unseen inventions may have problems.  For example, they might be obvious extensions of existing patents.  As I said above, you shouldn't be able to patent a slightly smaller pencil.  The pencil has already been invented, so taking an obvious idea such as making slight tweaks to the size or color is not patentable.  Sure, that idea might be "new", but inventions must also be nonobvious.  But obvious software inventions are being patented every day.

As a software engineer and a person who is skilled in the field, I would describe Amazon's 1-Click patent as fairly obvious.  In short, it describes the ability to save your credit card information in a website so that you can purchase items with only one mouseclick.  I am not the only who believes this patent to be 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".  To give another example, this patent caused the Free Software Foundation to boycott Amazon for a short time on what it called "an important and obvious idea for E-commerce".

There are other examples of patents on obvious "inventions."  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 ("Network apparatus and method for preview of music products and compilation of market data") 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. Let's analyze where the complexity comes from[...]"  Stallman then proceeds to analyze 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:
Now look at a subsequent claim: 
3. The method of claim 1 wherein the central memory device comprises a plurality of compact disc-read only memory (CD-ROMs). 
What they are saying here is, "Even if you don't think that claim 1 is really an invention, using CD-ROMs to store the data makes it an invention for sure. An average system designer would never have thought of storing data on a CD."
In case it's not clear, Stallman is being extremely sarcastic. Even back in 1996, CDs were commonly used for storing data.  This is one of the patents that Stallman calls "laughably obvious".  The problem is that the overly complex language of patents obscures the obviousness of the ideas.

This is a huge problem.  Lots of software patents in the US are actually invalid because they are obvious or already patented.  If David Martin's numbers are to be believed, there are hundreds of thousands of invalid software patents in the system.  But invalidating a patent means spending lots of time (years) and money (millions of dollars) in court.  Because of this, the original purpose of software patents--promoting progress--has been lost.

Software Patents Aren't Serving Their Purpose

The first problem with software patents is the barrier to entry.  That is, the money and time spent in getting a patent may create a burden for startups and solo software engineers.  As mentioned above, it can take around 2 years and $10,000 to get a software patent.  This fact alone may dissuade programmers from trying to create innovative new software that the public would benefit from.  However, this is a small problem compared with other software patent issues.

One of the most insidious problems with software patents is the menace of patent trolls.

Patent Trolls
Alaska Robotics - "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 introduction of the "When Patents Attack!" This American Life podcast.  Since 1999, Jeff Kelling has been working for FotoTime, a small company that hosts a photo sharing website.  This was before major photo sharing sites like Flickr, although FotoTime wasn't the first 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 contact FotoMedia to arrange payment, or FotoMedia would take them to court.  Jeff's team looked up the lawsuit and noticed that FotoMedia had sent the letter to 130 other companies including Yahoo (Flickr), Shutterfly, Photobucket, and other companies, big and small.

There were a lot of reasons this was weird.  One was that FotoTime hadn't realized that they were violating any patents.  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 wasn't a competitor to FotoTime.  FotoMedia didn't have a photo sharing website.  Then when Kelling called FotoMedia to ask them which patents FotoTime was violating, FotoMedia wouldn't tell them.  Kelling said, "They said they wouldn't answer that until we got into court."

Kelling learned that fighting the patent would cost an estimated $2 to $5 million, which was "more than [FotoTime] could handle".  FotoTime settled with FotoMedia.  As part of the settlement, FotoTime is forbidden from saying how much they had to pay 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.  They might try to sue hundreds of companies, as in the case of FotoMedia.  Some companies will pay them a fee rather than spend millions of dollars fighting the patent in court.  The patent trolls will then use that money to purchase more patents and sue more people, ad infinitum.

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.

The Damage from Patent Trolls
This patent trolling kills innovation in a few ways.  One problem is that 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 it's now important to have a good legal team to either negotiate a settlement or fight the patent lawsuit if and when a troll sues your company.

Some startups may not be able to pay the legal fees from a patent lawsuit and may go under.  Jeff Kelling of FotoTime said that "The settlement they [FotoMedia] wanted to get was just enough to put us in danger, but not to close us [...]"  It seems that lawsuit came close to shutting down FotoTime.

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.  Now, software patents stifle innovation.  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.  Sure, the current software patent system is great for patent trolls, who create nothing and provide no benefit to society.  And this is the exact opposite of the purpose of the software patent system.

The system needs fixing.

Continued in The Software Patent System Will Always Be Broken

This American Life: When Patents Attack!

Friday, November 29, 2013

Heads Up: Dark Patterns

Sometimes computer interfaces seem incredibly confusing and poorly designed. It's almost as if it's intentional.

It often is intentional.  These are called Dark Patterns.  For example, when purchasing cable television online I came across this screen:



Notice that right below the phone number input is a checkbox labelled "This is a cellphone number." It would seem that you could check that box so that the company will not call your cell and use up your precious minutes.  However, in smaller print, it says that checking the box will sign you up for activation, installation and promotional messages.  They want to know whether the number is a cell or not so that they can send you ads via text messages.  Why else would they hide the important information in small text?  If I were designing this form, the large text would say "Use this number to send me updates and promotional text messages".  That's clear and honest.  But less people would check the box if that was the case.

"A dark pattern is a user interface carefully crafted to trick users into doing things they might not otherwise do, such as buying insurance with their purchase or signing up for recurring bills." - Harry Brignull, founder of darkpatterns.org.  See all the different types of Dark Patterns at http://darkpatterns.org.

"Dark Patterns" also exist outside of software.  I'd call it a Dark Pattern when you get mail that says "Final Notice" on the front, as if some bill were due.  These types of junk mail advertisements usually hide the fact that they're selling you something.

Mortgage Data? This sounds official! There's no way this is an insurance advertisement!

On the computer or on a piece of paper, this type of communication is misleading and unethical, but still legal.  So be careful of these companies that are one step above Nigerian scammers.  However, companies that are straightforward with their customers or potential customers should be applauded.  They may sacrificing some short term gains made from naïve users, but they will make up for that loss with customer loyalty.

Wednesday, January 26, 2011

Policy: Net Neutrality 102

What is net neutrality? In short, net neutrality is the principle saying that Internet Service Providers (ISPs) should not restrict Internet traffic.  The hardware and software connecting users to content should not discriminate; that is, the "pipes" of the Internet should be neutral.  For example, if I as a customer pay for Internet access through Comcast, Comcast (the soon-to-be owner of NBC) should not block ABC.com or slow ABC.com down, whether or not I can pay a fee to get access.

If you're new to the concept, net neutrality is best explained at Save The Internet: Net Neutrality 101.  They are by no means unbiased, but it's about as accurate an explanation you can get in a short article with a short video.

This article, "Net Neutrality 102", is intended to give you a more detailed definition of what net neutrality is.

Definition
Although it is referred to as one concept, network neutrality has several different definitions.  But all definitions have this in common: No blocking of Internet content or charging extra for Internet content.  "Charging extra" applies to the consumer (you), but it also can apply to the content provider (say, Facebook would pay AT&T so that Facebook will always be accessible, even on AT&T's cheap Internet plans).  However, opinions differ on net neutrality's stance on quality of service considerations (the speed at which you get certain types of content).  There seem to be three main definitions.

No blocking content
This means an ISP cannot block or charge extra for any Internet content, but they can throttle (slow down) different types of content and charge extra for fast access to that content. This would likely be used to throttle non-website content, like bit torrents or streaming movies from Netflix.  But they can't discriminate on the content provider--that is, they can't slow down streaming movies from Netflix, but make streaming movies from XBox Live fast.  They can only make all content of that type slow or fast.

No blocking websites nor throttling content for a fee
This means an ISP cannot block or charge extra for Internet content, but they can throttle different types content as long as they don't charge extra for that type of content.  So, they can slow down your torrents and Netflix content, but it will be the same slow data for everyone.

No blocking websites nor throttling services at all
This means an ISP cannot block, charge extra or slow down any Internet content.  You can browse the Internet, stream Netflix movies, and make VoIP calls (Internet telephone calls) all at the same speeds.  This is how the Internet has always worked.

What it doesn't mean
Net neutrality still allows ISPs to block illegal content (like child pornography) and still allow ISPs to institute tiered pricing for connection speed (e.g. $50 for medium fast access, $60 for really fast access).

Violations
You might say, "Is this really an issue?  I've never heard of ISPs blocking websites."


The picture on the left is a real marketing slide from a company that sells software that can identify types of Internet data.  If they are successful, they will be able to sell their software to an ISP, who can then implement a pricing scheme like the one shown.


Okay, okay, that's just a slide by a software company, and their stuff may never get sold to an actual ISP.  Let's look at real examples of actual net neutrality violations.

Comcast admitted to throttling its users' BitTorrent downloads in 2007.  Madison River Communications, an ISP in North Carolina blocked Vonage's VoIP service in 2005, presumably so that customers would instead pay to use Madison River's phone service.  Also in 2005, Canadian telecom Telus blocked Voices for Change, a website run by the Telecommunications Workers Union during a labor dispute.

More recently, AT&T and other mobile phone companies are charging customers a monthly fee to tether their smartphones to their computers (that is, let the users connect to the Internet on their computers through their phones).  The hardware and software are already enabled on the smartphone, but it costs extra to browse the same website on different devices.  I haven't seen much written about this, but it seems clear that these mobile companies are violating the definition of net neutrality.

Cons and Pros of Net Neutrality Laws
For the last few years, the FCC has been trying to define net neutrality policies and force ISPs to adhere to these policies.  ISPs and some legislators have been fighting back.  There are two sides to every coin, so I'll do my best to provide the arguments for both sides of the issue.  I feel this is a comprehensive list.  Because I'm pro-net neutrality, I shall refute the con arguments.

Con: Tiered Access Could Make for a Better Internet
"Cable providers who invest in their networks are against net neutrality, since they believe tiered access - paying for different levels of Internet service - could pay for more sophisticated infrastructure, which would benefit all the users of that network." ("The Pros and Cons of Net Neutrality", about.com)  A more sophisticated infrastructure means faster and/or more consistent Internet access for users.

Rebuttal: This argument posits that ISPs don't have enough money to upgrade their infrastructure and that if they did have more money coming in, they would use that money on upgrading their infrastructure.  I feel both of these statements are quite unlikely.

Con: Making Content Providers Pay for ISP Costs
If ISPs charged website owners and other content providers fees, large companies pay for upgrades instead of users.  They might not even need to have tiered access for users.  For example, they could simply block Netflix for everyone if Netflix doesn't pay up (like what Comcast is currently doing).

Rebuttal: This would be unfair to startup companies that don't have the money to pay off ISPs.  It also would be used to create monopolies.  Of course Comcast wants any reason they can to block Netflix.  Then Comcast Internet users (who are often also Comcast cable customers) are forced to stream movies from  Comcast's Movies on Demand.

Con: Do We Really Need More Legislation?
"Net neutrality legislation could do more harm than good, especially since Internet technology changes so quickly. Inadequate laws could actually hinder commonplace safety practices unless specifically excluded, and provide loopholes for unethical exploits." (about.com)

Rebuttal: Yes, we need more legislation.  If written correctly, a net neutrality law could be short, concise, easy-to-understand, and future proof.  And it's not really adding new policy, it's just codifying an existing standard of electronic communication.

Con: Faster, Cheaper Surfing for Some
By implementing quality of service mechanisms, ISPs can slow down Internet traffic for power users and speed up traffic for everyone else.  For example, they could slow down bit torrent downloaders--that are often downloading illegal content--and hardcore gamers, so that people who are streaming online movies or just checking their email can access the web faster.

Rebuttal: Although some definitions of net neutrality allow for quality of service controls (the first two listed in the Definition section of this article), I personally am against this.  Partially because I am a power user and partially I don't know if slowing certain means that all other types of traffic will be sped up.  I could also see this being used to create monopolies: by slowing down streaming movies from the Internet, ISPs that also provide television access will gain more money for their TV divisions when users just buy the movie on pay-per-view instead.

Pro: The Free Market Fails When Choices Are Few
The government doesn't need to intervene with how many businesses are run because when a business has bad policies, customers flock to a competitor.  But 96% of Americans only have access to two or less Internet service providers.  There aren't enough competitors for consumers to vote with their dollars.  The government must step in and make sure that ISPs play fair.

Pro: Protect Free Speech, Unpopular Speech
Net Neutrality is partially a free speech issue.  More and more, the Internet is becoming the place where people get all their news, find all their research and discuss what's on their minds.  By arbitrarily blocking or charging fees for ordinarily accessible, free websites, ISPs would be restricting information and shutting down important lines of communication.

Pro: Keep the Internet as It's Always Been
For the more conservative among us who think there is nothing wrong with the Internet as it is, net neutrality is the way to go.  There is some confusion among people who think net neutrality will change the Internet somehow, but the truth is that net neutrality just sets in stone the policies that ISPs have always adhered to until recently.

Pro: Startups
Net neutrality is pro-business.  If a startup web company can pay for the servers and produce good content, they can become the next Google or Facebook.  Without net neutrality policies in place, ISPs are free to make deals with the richest web companies and block upcoming competitors.  Net neutrality prevents website monopolies.

Pro: Data is Data
Data is data.  It doesn't cost ISPs one cent more when that data is coming from Facebook instead of Myspace.  ISPs should charge by data use and data speed, not by data type or data source.  Heavy users are more likely to slow down local networks.  Users that require speed can cost more because ISPs have to pay to lay down extra fiber. Users of certain types of data or certain websites could be heavy or light users--there's no way to know without examining their data usage.  It doesn't make sense to charge by data type or source, except to have an arbitrary fee that ISPs can change at their whim.

Saturday, January 8, 2011

Heads Up: 4G FAQ

One of the buzzwords at CES 2011 (the huge technology show going on now) is "4G."  Sprint, Verizon and T-Mobile have it, and AT&T is getting it.  Let's answer some quick questions about what and where and when is the wireless network technology known as 4G.

What is 4G? Just like 3G, 4G is a cellular wireless standard for sending data to and from cell phones, but it's the next step after 3G.  Accordingly, it's much faster than 3G.  This means 4G-equipped cell phones connecting to a 4G network can browse the Internet faster, download video faster, and do other stuff faster than 3G and 2G phones on 3G and 2G networks.

In order to be a 4G network, the peak download speed must be at least 100 Mb/s (megabit per second) for high mobility (like from moving vehicles) and 1 Gb/s (gigabit per second) for low mobility (standing still or walking). To give you an example how fast this is, the average speed of a broadband connection in the US is 3.9 Mb/s.  This means that a 4G cell phone's internet connection is at least 25 times faster when that cell phone is being used in a car and 250 times faster when the phone isn't moving (more at Wikipedia).

Different mobile providers have different 4G networks.  Each provider is rolling out 4G as fast as possible so that each can claim they have the fastest mobile data network.

Why is 4G? In this age of Internet video, music downloads, and networked gaming everyone wants a fast connection, even (especially?) for their phones.

How is 4G? By upgrading the hardware of cell towers, mobile providers can deliver a 4G network.  In order to connect to these 4G networks, consumers must have a 4G phone (a phone with a 4G antenna).

When and where is 4G? Currently, major cities.  As with everything, LA, DC, NY, SF, ATL, etc. will get the new tech first, and then it will slowly be rolled out to more rural areas.  Check with your provider for specifics.  By the end of 2011, most mobile providers will have some 4G in major cities.  By 2013, it'll be everywhere but the boondocks.

Who is 4G? Sprint currently has 4G through WiMAX, Verizon has 4G through LTE (though Verizon has no 4G phones yet to connect to their 4G network), T-Mobile uses HSPA+ and AT&T is currently building a HSPA+ network before starting work on an LTE network in 2011.

However, technically, none of these companies have real 4G yet*.  That's right, none.  True 4G maxes out at a minimum of 1Gb/s (stationary) while Sprint's WiMAX has a current cap around 10Mb/s, Verizon's LTE is at 12Mb/s, and T-Mobile's HSPA+ is at a theoretical 21Mb/s.  (Note: these are theoretical max speeds based on infrastructure; actual max speeds users are currently getting are much lower) AT&T has nothing yet, of course, but will get HSPA+ probably in 2011, and LTE soon thereafter.  So the "4G" cell phone companies are selling you is actually 3G, (but is often called 3.5G).

There are differences.  Eventually WiMAX and LTE will reach true 4G speeds as the technology is upgraded.  HSPA+ will eventually reach multiple hundreds of Mb per second, but will never achieve true 4G speed, which is why AT&T is building an LTE network in addition to their mostly complete HSPA+ network.

Also important is that phones that have WiMAX or LTE antenna still be able to connect to those respective networks when each one is upgraded.  But an HSPA+ phone can't connect to a LTE network.  Because of this, it may be smart to get a 4G phone from Sprint or Verizon, since upcoming "4G" phones for AT&T won't ever be able to connect to AT&T's LTE network when that network is eventually built. And if T-Mobile ever gets a true 4G network, HSPA+ phones won't be able to connect to that either.

(Wikipedia pages: HSPA+, LTE, WiMAX)

*Update: This article was written a little late. On December 6, 2010, the ITU (the organization that defines "4G") officially reversed their position and said that Sprint, Verizon, and even T-Mobile's '"4G" networks actually are 4G.  The reason: the term 4G, "while undefined, may also be applied to the forerunners of these technologies, LTE and WiMax, and to other evolved 3G technologies [like HSPA+] providing a substantial level of improvement in performance and capabilities[.]"