It has always been a strong goal of the JPEG committee that its standards should be implementable in their baseline form without payment of royalty and license fees. The up and coming JPEG 2000 standard has been prepared along these lines, and agreement reached with over 20 large organizations holding many patents in this area to allow use of their intellectual property in connection with the standard without payment of license fees or royalties.
—Statement by JPEG committee
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. The solution is patenting as much as we can. A future startup with no patents of its own will be forced to pay whatever price the giants choose to impose. That price might be high. Established companies have an interest in excluding future competitors.
—Bill Gates, internal memo, 1991
In February 2007, Microsoft lost a $1.5 billion judgment for infringing on MP3 patents, even though Microsoft had licensed MP3! The problem with MP3 is that multiple companies have patent claims, which makes the situation a particular mess. We can argue as to whether patents add value, but they indisputably add costs.
The Software Freedom Law Center calculates that Microsoft has paid $4 billion in lawsuits in the last three years to companies who have won patent claims against the company, which works out to a tax of $20 per copy of Windows. (The costs are actually higher because some of the settlements are secret.)
As a Microsoft employee, if they filed a patent on technology you devised, you received a three-inch marble keepsake cube and a few hundred dollars. I remember interviewing for a new position within Microsoft and feeling my hands sweat when I saw a stack of cubes behind my interrogator. I received only two patents, late in my career, so I always felt a tinge of jealousy when I saw someone else’s patents. On the other hand, I considered myself merely unlucky that the features I was assigned happened to be undeserving of a patent.
My friend Alex Mogilevsky added background spell checking to Microsoft Word ’95 which draws red squiggly underlines below misspelled words. This is a feature we are all very familiar with now but which was the biggest enhancement of that release and some say this was the most useful feature ever added to Word. In the end, Alex received U. S. patent #5,787,451, but was this feature truly worthy of a patent? These are the major elements of this patent:
- Red underlines of misspelled words
- Spell checking happens as you type, removing the need to launch a dialog box as a separate step.
While adding this feature was a huge time-saving device, it isn’t something so unique that other word processors wouldn’t have eventually implemented it. Teachers have been circling misspelled words with red pens since time immemorial, this is just the digital version. Fortunately for the world, Microsoft has not enforced this patent and squiggly underlines can now show up almost everywhere you can type text.
For several years, British Telecom attempted to assert ownership on the concept of the hyperlink in patent #4,873,662. Thankfully, that patent was eventually invalidated on a technicality, but a lot of money was spent on lawyers in the meanwhile.
One of Amazon’s first patents was for “1-Click ordering.” Once Amazon has your payment and shipping information on file, you are able to purchase a book with literally one click. However, isn’t this an obvious innovation for anyone building an e-commerce website? Zero-click ordering would be an innovation worth patenting!
Amazon’s patent didn’t encourage innovation, it simply became a stick their lawyers could use to beat up Barnes & Noble. We are told that patents protect the little guy, but they actually create a complicated minefield that helps incumbents.
One of the biggest areas of patent headaches for the computer industry today deals with codecs (compression – decompression), little pieces of software that compress and decompress sound and images. Patenting codecs is a bad idea because the fundamentals of all codecs are the same:
There are an infinite number of ways of converting sound to and from bits, but they are mathematically very similar. (The difference between codecs has to do with merely their efficiency, and their cleverness in removing data you cannot perceive.)
There might be a new type of compression algorithm that is innovative, but the point of codecs is to enable the easy exchange of video and audio bits. Patents, therefore, only serve as a hindrance to this. The reason why digital audio and video is such a hassle today is because of the mess of proprietary formats, patents and licensing fees. These obstacles encourage the creation of even more formats, which just makes the problem worse.
In the mid-90s, Apple, Microsoft, Real, and others were out there hawking their proprietary audio and video formats, touting their advantages over the others. We have not recovered from this. Microsoft employee Ben Waggoner wrote:
Microsoft (well before my time) went down the codec standard route before with MPEG-4 part 2, which turns out to be a profound disappointment across the industry — it didn’t offer that much of a compression advantage over MPEG-2, and the protracted license agreement discussions scared off a lot of adoption. I was involved in many digital media projects that wouldn’t even touch MPEG-4 in the late ’90s to early ’00s because there was going to be a ‘content fee’ that hadn’t been fully defined yet.
And even when they created standards like MPEG, certain companies would assert patent control over certain aspects. MPEG isn’t a codec so much as a system of codecs, a land mine of proprietary and non-proprietary specifications that makes “supporting” MPEG very difficult. The reason many websites do their video using the proprietary Flash control is because the various interests didn’t come together to produce a standard.
Many times in this industry, someone has invented a compression mechanism, patented it, implemented the code for their own use, but did not document it or give away code to encode and decode the format. Then they asked everyone to use their new format. This strategy is totally the wrong approach to making formats universally usable by computers and devices.
What is important is that we pick a simple and efficient algorithm, standardize it and then make the software to read and write it freely available. That way, every device and every application will work with every piece of sound or video. Today, there is nothing but chaos and incompatibility.
The most popular audio format today is MP3. Here there is not just one, but a number of different companies that have patent claims that do not expire until 2015! The core logic of a codec is only a few thousand lines of software; this entire mess is over details too small to disagree over, yet somehow we do.1
Patents and standards serve diametrically opposite purposes.
Software is math. In the 1930s, Alonzo Church created a mathematical system known as lambda (λ) calculus, an early programming language that used math as its foundation, and which could express any program written today.
A patent on software is therefore a patent on math, something that historically has not been patentable. Donald Knuth, one of America’s most preeminent computer scientists, wrote in a letter to the U. S. Patent Office in 2003:
I am told that the courts are trying to make a distinction between mathematical algorithms and non mathematical algorithms. To a computer scientist, this makes no sense, because every algorithm is as mathematical as anything could be. An algorithm is an abstract concept unrelated to the physical laws of the universe.
Nor is it possible to distinguish between “numerical” and “nonnumerical” algorithms, as if numbers were somehow different from other kinds of precise information. All data are numbers, and all numbers are data.
Congress wisely decided long ago that mathematical things cannot be patented. Surely nobody could apply mathematics if it were necessary to pay a license fee whenever the theorem of Pythagoras is employed. The basic algorithmic ideas that people are now rushing to patent are so fundamental, the result threatens to be like what would happen if we allowed authors to have patents on individual words and concepts. I strongly believe that the recent trend to patenting algorithms is of benefit only to a very small number of attorneys and inventors, while it is seriously harmful to the vast majority of people who want to do useful things with computers.
Software doesn’t look like math, but it is built up from just a few primitive operations that have a mathematical foundation. Allowing people to patent particular algorithms just means that a section of our math is now owned by someone. If all of these patents become owned by many different entities, then math could become unusable by anyone. Then where would we be?
Ironically, when defending itself in a patent infringement case with AT&T, Microsoft argued that software cannot be patented:
Justice Scalia: “You can’t patent, you know, on-off, on-off code in the abstract, can you?” Microsoft attorney, Ted Olson: “That’s correct, Justice Scalia. […] An idea or a principle, two plus two equals four, can’t be patented.”
The Supreme Court ruled that “unincorporated software, because it is intangible information, cannot be typed a ‘component’ of an invention.” One might read this and conclude that the Supreme Court, unknowingly, and at Microsoft’s behest, outlawed software patents!2
Beyond software being math, software also differs from things that were patented previously. In the biotechnology world, and even the world of Edison, a patent typically covers one product:
Light bulb patent No. 223,898
Viagra Patent No. 6,469,012
Usually, a patent is one product.
Software, however, is different because it is enormous and incorporates thousands of differing ideas. Software products today are not patented in their entirety, only tiny portions of them. Richard Stallman compares software to music: imagine if people could patent chords, how would that affect our ability to create new music?
Jerry Baker, Senior VP of Oracle wrote:
Our engineers and patent counsel have advised me that it may be virtually impossible to develop a complicated software product today without infringing numerous broad existing patents.
Microsoft has recently claimed that Linux violates 235 of its patents spread throughout the software stack. This is an enormous number; Verizon has threatened to put Vonage out of business for violating just three obvious patents:
- Internet to phone-system connection technology
- Internet phone features such as voice mail and call-waiting
- Wireless to Internet phone calls
In the drug industry, it takes years of clinical trials to prove a medicine. The Tufts Center For the Study of Drug Development reported recently that the average time to get approvals for drugs was 6 years. The current patent length of 17 years is an eternity for the fast-moving field of computing. In his letter to the Patent Office, software scientist Knuth also wrote:
Software patents will have the effect of freezing progress at essentially its current level. If present trends continue, the only recourse available to the majority of America’s brilliant software developers will be to give up software or to emigrate.
Therefore, even if you believe in software patents, shrinking their length of exclusive ownership to just a few years would be a compromise. Decreasing the duration of protection would also decrease the number of spurious patents, which would make it easier to be in compliance with all of those that are out there.
Patents are a powerful right because they give their owners exclusive access to an idea. Proving that you invented an idea independently is not a defense. A much less exclusive right is what is allowed in copyright law. Copyright law protects someone from stealing words or code, but if you can prove you came up with it via independent means, you have a sufficient defense.
In the old days of software, Word and WordPerfect kept adding each other’s features in order to convert users. They didn’t need exclusive access to an idea to be motivated to write software, and patents would have decreased the level of competition.
Giving exclusive access to an idea can encourage people to rest on their laurels, or even be a squatter on an idea, taking money from anyone who happens to run across it, but not using it for their own purposes. Many times, patents are created merely as a defensive measure against other companies. A company will patent things with the hope it can trip up anyone who might come calling with claims against them.
In a world filled with free software, it is the copyleft mechanism, not the patent mechanism, that will provide protection for software. Even proprietary software would not stop improving if software patents disappeared, though their lawyers would scream like stuck pigs.
In the early days of cars, there were patent lawsuits sent between the lawyers, on horseback of course:
George Selden, the man who patented the car in 1895, didn’t sell one until 14 years later. Was he just a squatter on this idea? The magic of the early car was the internal combustion engine, which Selden did not invent, and which required only the science of fire, something man exploited long before he understood it.
I believe research will show that 99% of software patents today are natural extensions of an existing idea. Even for the few truly unique ideas, it is probably better that the concept be widely available and used by many rather than guarded and stifled by a few.
If someone invents the software equivalent of an idea like E=mc2, do we really want just one entity to “own” that idea? Would Einstein want that? Anyone who supports software patents should hold up a good one and explain how it is actually unique and yet an idea that only one company should own.
If we outlawed software patents, the pace of progress in software would increase, the squatters and their lawyers would disappear, legal uncertainties surrounding software technology would decrease, and there would still be many other motivations to write software. In fact, many of the hassles in computing, like playing MP3s and DVDs, exist because of patent issues. As of 2005, the U.S. Patent and Trademark Office has granted
265,000 software patents, a very large minefield.
There is a lawsuit known as In re Bilski that is now before the Supreme Court (oral arguments on November 9, 2009) and which has the possibility to outlaw software patents. The details of the lawsuit are tedious — but the case has epic implications.
The free Vorbis decoder for embedded devices is less than 7,000 lines of code, and much of that code is infrastructure logic to do, for example, all math using integers because low-end processors often do not have floating point capabilities.
Justice Alito, in a concurring opinion states: “To be sure, if these computers could not run Windows without inserting and keeping a CD-ROM in the appropriate drive, then the CD-ROMs might be components of the computer. But that is not the case here.” Actually, Linux Live CDs allow you to run the OS directly off the CD-ROM. I don’t see a distinction between using a CD-ROM every time, or using it once and copying it to a faster medium and then discarding it. Reading the decision made my head hurt.