Why software patents are slowing us down

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.



3 thoughts on “Why software patents are slowing us down

  1. innovation will not happen without investment (e.g. time, money), investment won’t happen without *some* security of return on investment. Software patents provide the small, independent inventor a chance against the big companies. Without software patents, large software companies will move to a different business model where they reduce (even eliminate?) in-house innovation and instead monitor their smaller competitors and copy-paste at will (possibly outsource the coding to the cheapest bidder) and push out the “innovations” in the next service pack/release.

    For example, Microsoft’s biggest advantages are 1) their monopoly, 2) name brand. Their smartest business model would not be to innovate more than their smaller competitors but rather to maintain status quo – scope out the best innovations from smaller guys and build those in too – why would a consumer switch away from Windows if they’ve got what the little guy spent his time innovating?

    • innovation will not happen without investment (e.g. time, money), investment won’t happen without *some* security of return on investment

      Why? Exclusive control over a new creation is a perk, but especially in the world of software where innovation proceeds so quickly I believe that it’s not necessary to provide patents in order to spur innovation.

      Even if someone were to think that software patents might encourage some development, I believe that the stranglehold they place on development is still not worth the possible benefit. Every single software developer who has written a non-trivial program runs the risk of bring sued for patent infringement. There’s a crazy minefield out there and no one has stepped up to clean it up except those advocating for the abolition of software patents. I honestly haven’t heard of any reasonable suggestion for reducing the number of software patents to “only the best” or “only reasonable patents”. Isn’t it possible that this is because there is no way to cull the software patent list in such a fashion?

      Software patents provide the small, independent inventor a chance against the big companies.

      Some of the big companies have quite a big portfolio of patents. If a small developer goes after them, the big company is likely to look through their portfolio and pick out a few patents that the small developer infringes.

      Without software patents, large software companies will…monitor their smaller competitors and copy-paste at will (possibly outsource the coding to the cheapest bidder) and push out the “innovations” in the next service pack/release.

      This is one of the biggest problems with software patents. If I’m an inventive sort I can design a new machine to pick strawberries, and then I have an exclusive right to it. But you can also design a different machine to pick strawberries and, if sufficiently different, you can use your machine and perhaps even patent it. There’s pretty much always another way to effect the same end.

      Software doesn’t work the same way. If I design a system to decode a video codec or to display a list of your buddies on the screen when you log in to chat, and get a software patent on that, then you can’t decode that video. Period. My patent can completely block you. Same thing with the buddies — if my patent claims are sufficiently broad then I’ve just cornered not just a process, but a whole abstract concept.

      why would a consumer switch away from Windows if they’ve got what the little guy spent his time innovating?

      Given a level playing field, I think that small companies can often outperform the big players. I think that getting rid of software patents will help to achieve a level playing field. Customers can then decide based on who has the better software, less bugs, better customer support, better community, more agreeable licensing, etc.

  2. ok now I think I see where you are coming from. I sense one underlying theme in your perception of patents – patents can be very broad. That is not the case. For example:

    >> Same thing with the buddies — if my patent claims are sufficiently broad then I’ve just cornered not just a process, but a whole abstract concept.

    The patent claims section is all a patent can enforce. The rest of the document is just the support. The claims are very specific and every single word means something (ironically it’s actually very much like code in the preciseness required – only english words – one wrong word and infringer/competitor can “workaround” your patent). So patenting an abstract concept is impossible. In a Method claim you need to specify the exact steps, decisions, etc…

    Patents to the outsider are much like writing software to the outsider in that it takes quite a bit to understand the whole patenting process and what they’re about. For someone outside the field, what is involved in say writing a web browser application (even a very primitive stripped down version) would require not just hours, but days if not weeks of hardcore teaching before the outsider would have a general idea (sockets, nuances with TCP, HTML, CSS, Javascript interpreter, etc…). Patents are the same, you can’t expect someone to come in and read some articles about what happened in a half-dozen court cases to understand them.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s