why software patents are idiotic

November 23rd, 2006

If there ever was a case that illustrated why software patents are idiotic, it is a story from today's slashdot. In a bold move, a company has filed a patent claim for linked lists.

Just to recap for a moment - patents are meant to protect new inventions, so that when you make a brilliant new discovery, like say, the light bulb, and someone wants to take that idea and get rich you can say "hang on, I was first, if you want to use the idea you'll have to license it from me".

Linked lists are as old as computer science itself, however. No, scratch that, they're a fundamental principle, in fact. They are what the Pythagorean theorem is to mathematics. The patent claim in this case is not for linked lists in general, it's for lists linked in more than one direction, which is just a common variant of linked lists. But here's the kicker, the patent was granted. That means the data structure I was taught in college (and which every comp sci student is taught) is now to be considered hands off. So if I write an application using linked lists, I am liable for patent infringement. It's a good thing patents are not backwards enforcable, or my old assignments in college would come into question.

Software patents, of course, are only applicable in the one country crazy enough to accept them, the United States. The idea was rejected by the EU some time ago, but another round of lobbying over patents in Europe is on the cards.

The point of a patent is to protect innovation. In this case, the holder of the patent is able to sue any company or individual for using linked lists, but that kind of case would be completely useless, because of the prior art principle. If a patent is granted and it is then proven that someone has used the idea before the patent was issued, then the patent is invalidated.

Other ideas already patented are Adobe's tabbed window panes (as used in Photoshop) and Amazon's one-click shopping.

Unlike DRM, patents are not such a big consumer problem, they apply more to developers. But it means that if a company is granted a patent for "lossy compressed music files" (mp3), and uses this idea in a program (Windows Media Player), then anyone else wanting to play back these mp3s can't, in any way, make this happen. Because the limitation isn't on the format itself, it's on the idea that such a format can exist. So noone can even come up with a different format for music files, the whole thing is restricted. This is not a good example, because a) there's lots of prior art for music compression and b) I took this from thin air, so it may not be that realistic or representative. Nevertheless, this is how the mechanism works and so for open source software, which often strives to provide alternatives for common commercial software, software patents is a minefield.

:: random entries in this category ::

3 Responses to "why software patents are idiotic"

  1. David Grant says:

    Yeah I don't think this means anything. If you used a linked list they might sue you but this patent wouldn't get anywhere in the courts. I wonder how it got through the Patent Office. I'd like to see what Office Actions were issued against it and how they responded to them.

  2. David Grant says:

    In case you're interested I just looked at this patent's information on PAIR: http://tinyurl.com/yn5mba

    It looks like it had 1 non-final rejection which basically stated that claim 3 is an abstract idea or the mere manipulation of an abstract idea and 35 USC 101 says that you can only obtain a patent for a "new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof." They state again clearly that "abstract ideas are not patentable"; however, they say that "to overcome this type of 101 rejection the claim needs to be amended to include only tangible embodiments (e.g. computer, memory, etc...)" as opposed to a process that does nothing more than manipulate abstract ideas or concepts or that solve mathematical problems.

    The second point in the rejection says that the patent infringes on prior art (specifically Schwartz's here: http://www.patentstorm.us/patents/5950191.html)

    The examiner also lists many other patents considered prior art but "not relied upon". About 5 more linked list patents are given.

    In the inventor's response, first of all they changed all references of "list" to "computerized list." That fixes the first part of the rejection apparently. In order to overcome the prior art rejection, they state that Schwartz's auxiliary array is an array of pointers (to elements in the linked list I think) whereas the present patent implements this auxiliary array as what is essentially another linked list, by giving each node in the linked list a "primary pointer" and an "auxiliary pointer". And since Schwartz does not teach every single aspect of the present invention, the prior art rejection is overcome.

    About 2 months later, the inventors received a Notice of Acceptance and paid $1700 to issue it and publish it. It probably cost them maybe 10 hours of a lawyer's time to write up that Office Action. At $300/hr, that's $3000. Don't forget to add in the filling fees and the lawyers' billings to write the damn thing in the first place. Why a company would sink so much money into something like is one of life's greatest mysteries.

    Yes, we live in a $%cked-up world. Patents like these don't protect innovation. They just make money for the USPTO and patent lawyers money and do little else.

  3. numerodix says:

    That is some truly fine grained semantic manipulation, then. It's frankly bizzarre that going from 'list' to 'computerized list' would contextualize the point enough to not be considered abstract anymore. It's like saying "we're not talking about tyres in general, only tyres that are used in cars". And the pointer thing is even more mind boggling.