In the beginning there were a bunch of old guys with wigs, and they wrote The Constitution and The Patent Act of 1790. These weren’t your run-of-the-mill guys with wigs that you’d see on the street today, these guys wore powdered wigs with ribbons in them. Having just recently broken up with their domineering but sometimes loveable companion England, these men thought that it would be a good idea to
“…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;”
Not bad, founding fathers, not bad.
But if we fast forward a couple hundred years to today, we find that we, the United States, currently have some issues with these limited grants of exclusivity. Despite our parents’ best efforts, we seem to be having severe problems both in comprehending the idea of “limited” and in seriously discussing how best we can promote Science and the Arts. If the Founders were alive today I’d half expect our current congresscritters to roll their eyes, stick their fingers in their ears, and say “lalalalala, I can’t hear you” whenever the Founders stopped by for a chat. I must say that it seems like a lot of common sense was lost when men stopped wearing wigs.
One of the most egregious problems of today is the granting of software patents. There are several reasons why software patents should not be granted and should not exist, but I’m going to focus on just one aspect in this post: Interoperability in a world of digital distribution. In order for software developers and software users to be able to innovate and create and distribute and interoperate with others (and yes, those two groups include just about everyone out there), we must get rid of software patents as they are like millstones tied ’round our necks.
First, I just can’t help myself here. Let’s quote a little Knuth, shall we?
Basically I remain convinced that the patent policy most fair and most suitable for the world will regard mathematical ideas (such as algorithms) to be not subject to proprietary patent rights.
I am told that the courts are trying to make a distinction between mathematical algorithms and nonmathematical algorithms. To a computer scientist, this makes no sense, because every algorithm is as mathematical as anything could be.
Bam! I believe that Knuth’s words describe the most powerful argument against software patents. Granted, there may still be some who wish that all algorithms could be patented, but I believe that those people are quite in the minority. Please remember that in this post I’m not trying to convince you of the validity of Knuth’s words — at least not directly. I’m going to convince you that software patents make your life more difficult.
All of us use computers every day. You’re readying this blog post using a computer right now, and chances are that you have a computer in your pocket (cell phone), and a computer in your car. Several people have many more computers — personal media players, newer TV’s with embedded computers, a touchscreen GPS unit in their car, or something even more exotic. Like it or not, computers are becoming entwined with our daily lives. With all these pieces of technology, can you think of a way that software patents have negatively affected you?
Maybe not. After all, it’s sometimes difficult to figure out how you’ve been negatively affected if you’ve never seen a comparison. Let’s take a quick look at video online. The WHAT-WG is involved in drafting the HTML5 spec, and has come up with a standard to describe video playback using the <video> tag. The basic idea is that embedding a video or piece of audio in a webpage should be no more difficult than embedding an image with the <img> tag. Unfortunately, while drafting the standard for the <video> tag, the major players could not come to an agreement on a default codec to use for video.
Having a default encoding for video would be great. If there was a default, then compliant implementations would implement decoding for the codec and content producers and providers would know that they could encode once and play everywhere. The problem is that some parties wanted to use the royalty and patent-free Ogg Theora, while other parties wanted to use the patented H.264. Groups supporting Free Software, such as Mozilla, argued that Free Software would be unable to legally implement and distribute binaries that decoded H.264. Companies such as Apple and Nokia argued that (1) They already had products in the field that included chips to decode H.264 and not Ogg Theora, and (2) It’s possible that there were still submarine patents that could apply to Ogg Theora.
Quite a mess. And all on account of software patents. If H.264 were not patentable — at least not as a software patent — then Free Software organizations would be quite happy to consider it as not only one of the supported codecs for the <video> tag, but perhaps the default codec. Sure, devices that used specific hardware decoders or encoders for H.264 could still be patented, but the nifty thing is that in those cases other companies could possibly make better encoders or decoders for H.264, something that is nigh impossible to do with software covered by a software patent. Note too that if software patents were abolished, Apple and Nokia’s fears of submarine patents covering Ogg Theora would also evaporate, making it much easier for them to consider that codec instead of, or perhaps in addition to, H.264.
Okay, so HTML5 is bit cutting-edge. You probably understand that the technology will trickle-down and be in everyone’s hands very soon — perhaps within the year — you’re still looking for a clearer understanding of how software patents are different from other patents. Okay, fair enough. Let’s head to an ordinary farm in No-place-special USA and let’s say that you and your neighbors are corn farmers.
You and your neighbors have been farming corn for several years now and have all kinds of equipment. Some of the farmers have some really new equipment and some are getting by with old equipment that’s still getting the job done. Your neighbor, Tom, decides to purchase a fancy new corn harvester with a patented design. He thinks that by investing money in the new harvester he’ll be able to harvest more corn, have fewer damaged ears, and get his harvest in faster than everyone with old equipment. Now while you think that Tom’s harvester is pretty nifty looking, the great thing about the situation is that aside from Tom having an advantage in how he farms, you can still continue to use your old harvester. His choice of using a patented tool does not directly affect your farm or farming methods. In fact, your neighbor can lend or lease his harvester to you and have no problems (well, unless you don’t return it to him!).
When Tom’s harvester and your harvester are done picking corn, there end result in both cases is a bunch of boxes of corn. There are no restrictions on who can open the boxes of corn or how they can open the boxes — they’re just simple boxes of corn. People hardly have to think about interoperability, as the container is so simple. Now compare the boxes of corn with something like patented media codecs. If all of your neighbors are using GeeWhizMediaEncoder9000 and spitting out files in a format that the computer in your farmhouse cannot play, then you cannot interoperate with them. Why should it be more onerous to open a video or audio file from your neighbor than to open a box of corn from them?
Before you tell me that farmers are a bunch of old set-in-their-ways fuddy-duddies, I was surprised to realize how many farmers are getting cell phones. The Summer newsletter from the Hanover Coop notes that “very few farmers do not have a cell phone in their pocket…a grower may even take orders in the field while picking crops.” I don’t think that farmers are necessarily embracing technology because of a geeky interest, I believe that they’re using it because they realize the competitive edge it gives them over farmers that don’t have cell phones. And this is true for people in all walks of life and in all different kinds of businesses: new technology can give you an economic and competitive edge. Specific application of technology can be a critical part of social life.
Getting back to our corn farm, let’s say that you have a tractor that’s making some weird noises and want to have your neighbor listen to it. It would be great if you could just use your phone to take a recording of the weird sound, but how would you know if your neighbor’s phone or computer could play it back? If the codec used to record sound on your phone is covered by software patents (and some of the most popular codecs for sound recording are patented), then your neighbor might not be able to help you out.
Let’s say that you’re at the Holiday play at school and your neighbor Tom can’t make it to the performance to see his son play the part of Tree #2 (they’re young kids, give them a break). Being the nice guy that you are, you decide to record the performance on your new camcorder. The tools included on your computer only let you encode your video using a patented codec such as H.264. Now how do you send Tom video of his son in the Holiday play and make sure that he can play it back? If the only available options for interoperability and communication are patented, users have lost their freedom and must go without or break the law. Neither option is desirable. Why are allowing laws to exist that turn us into a nation of criminals when we try to communicate using new technology? The whole idea is patently absurd.
When you purchase a physical item the item may make use of various patented mechanical processes. The original designer may know that certain components are covered by a patent, but I believe that it is currently the fabricator/initial seller of the device that is responsible for making sure that any patent licenses are paid. Because a physical device does not change to incorporate new mechanical processes as time passes (at least I can’t think of any that do!), users and resellers of the device do not have to deal with patent issues.
General-purpose computers such as a laptop, cell phone, or even embedded controller in a TV are very different from a strictly mechanical device such as a harvester: computer devices may change over time. New software may be loaded onto the device — software that contains media codecs, sorting algorithms, file systems, and user interfaces, all of which can be patented under our current system. Given that a user has the ability to remove all of the software from a device and replace it with an entirely new set of software, there’s no way to determine at the time of creation what a given general purpose computer will be used for during its lifetime. There is no way to put an accurate price tag on computers if software patents exist.
Computers and computer technology have a huge potential to provide amazing new ways for people to interact. Online shopping and online communities are already an ingrained part of our society, and use of the Internet only continues to grow. New hardware and more powerful and extensive networks are making things like always-on Internet not only possible, but also accessible to more than an elite minority. In this technological grow spurt, software patents are slowing us down by making interoperability difficult or impossible. Software patents are sowing FUD during the creation of new standards and are needlessly taking time away from developers who would rather be writing new, exciting software. Getting rid of software patents is not a panacea, but it is one of the most important steps we can take to liberate software development so that new ideas may be implemented, used, and improved as quickly and nimbly as possible.