Too Busy For Words - the PaulWay Blog

Tue 11th Apr, 2006

Patent #666 - System And Method Of The Beast

I read Paul Graham's article on Software Patents. It's got a lot of good points and it discusses its ideas well. I definitely agree with him when he says that there's nothing special about a computer executing an algorithm and a Babbage Differential Engine executing the same algorithm in cogs and cams and rods and steam. But I do think that he's not actually correct on a few points.

Firstly, I disagree with him when he says that there's nothing special about an algorithm that makes it different from a device which implements that algorithm. Pretending that the 1800s was a backward time when people thought that algorithsm were special because they could be executed in people's heads is just Victorian fancy. There are two key differences: the most obvious is that the mechanism that's implementing an algorithm like the Sieve of Eratosthenes is often your brain, which is a general-purpose computing device. To say that your brain is a device which implements the Sieve of Eratosthenes is to get the cart before the horse. The other difference is that some algorithms, like the Sieve of Eratosthenes, are actually impossible to implement completely. You can make a program that carries out the Sieve of Eratosthenes on an array of numbers, but only the human mind (so far) can carry the concept that this applies to the infinity of whole numbers, something that's impossible to actually make out of paper and wheels and cogs. So an algorithm is (sometimes) a different thing from the thing that implements it.

Patents were devised in a time of increasing invention - the Industrial Revolution. They protected an invention - a type of razor or a better mousetrap or a combine harvester - from another company merely disassembling it, casting moulds from the parts, making up new parts and fitting it all back together again; it was (and still is) far cheaper to copy than to invent. Patents gave the inventor a limited time to make money to pay back their time spent perfecting the original device. And it would protect against a few easy tricks: making a few minor changes which didn't affect the workings.

In that, Paul Graham is right: what the patent actually does is to try encompass all the minor variations so that the original idea is protected. These ideas were, and still are, often areas where many years of research can go into their conception, development, testing and packaging. It shouldn't matter if you implement the algorithm in steel or wood or brass, six foot tall or three inches, in C or Java: the work you put in was in developing the algorithm, and the mechanism is relatively irrelevant.

But there's two big differences between software and hardware. The obvious is that to try and build a mechanism that could implement CSS in rods and levers and mechanical switches would require most of a room, would require a large steam engine to power, would make a lot of noise and would be almost impossible to maintain. Software is faster, cheaper, smaller, uses less power, easier to maintain and upgrade and is far more reliable. The other difference, which the RIAA and MPAA and BSAA would rather people forget, is that you can copy software with almost no effort, without harming the original, and the new copy does exactly what the old one did. It's the epitome of 'give a man a fish and you feed him for a day, teach him to fish and you feed him for life.' - you can teach him without losing your own fish, too (relatively speaking).

Paul does point out that we're now at the stage where it takes a startup as long to receive a patent for the technology that they want to protect as to either succeed or fail as a company. But while it may be that some startups are made out of an experienced professional (software) engineer, a good idea, and an open field, and a patent flows forth naturally, this is not where all the patents come from. Most patents come from big organisations like Microsoft and IBM, who can afford to amortise the cost of expensive patent preparation across their organisation and against their existing money. Ironically, these patents are better defended - it's the small start-ups with patents in a new field which get bought up and scrapped for their patents by the patent trolls.

And this is what makes patents, especially software patents, such a bad idea. Not because the original intention of patents is bad, but because the whole system no longer protects the small garage inventor against the depredations of large companies, patent-troll or otherwise. It's now designed for big business, and all the patent reform proposed in the USA (under the banner of being good for small patents) is actually designed to make it easier for big companies to get more patents and protect the ones it has, and harder for a small company to protect itself against patent infringement by big business. Instead of having to actually front up in court, Microsoft will simply get its lawyers to label the patent infringement suit as a 'harrassment' suit and thus cost the small company even more. Fair? I think not.

This leads me back to where Paul doesn't seem to be looking at the same world that I see. He says, "I doubt Microsoft would ever be that stupid," (to attacking Linux on patent grounds). He thinks that good hackers care a lot about matters of principle, and "if a company starts misbehaving, smart people won't work there." This explains why Microsoft is probably the largest single hirer of programmers throughout the globe? Or are they not the smart ones? Or are they the unprincipled ones, writing viruses by night to infect the very operating system they work on by day. (You know, that'd explain a lot... :-)

No, sorry, Microsoft has been a corporate and industry bully for most of its corporate existence. It's systematically abused so many parts of the legal system, the ethics and morals of doing business, and the financial system, that you have to start listing them by category, or by decade. And all that time it's had programmers working for it; these programmers have been smart, well educated and at the very least on some fringe of the hacker culture. They'll be copying MP3 files and downloading movies and distributing copies of Windows, despite Microsoft's corporate statements against these practices. They're just trying to make a buck from doing what they love: cutting code; and they probably either buy the corporate line that Microsoft really does do what's best for everyone, or they just rationalise it: they're not responsible for what Microsoft Corporation does.

Paul leaves off another reason that I can think of that patents don't seem to matter much in software: that software patents haven't been allowed to exist up until very recently. I see it as somewhat ironic: when computers were big things and only big companies could afford them, the one thing that made a computer valuable (software) couldn't be patented. Now that patenting an algorithm can net you billions because millions are using computers everywhere, we no longer need to have big organisations with corporate dress policies in order to create top-quality, award-winning, faster-than-everyone- else-by-a-country-mile software. The Open Source Software movement is giving away not only software like OpenOffice, Gaim, Gimp and Inkscape; it's giving away algorithms like Ogg Vorbis and Theora. It's coming up with new ideas like Van Jacobsen's Modest Proposal at LCA 2006, or his solution to TCP/IP congestion in the 1990s, or new technologies like BitTorrent. Patents? Open Source don't need no steenkin' patents to survive. And, from Paul's description, it would seem that startup ventures don't need a patent before they can actually start doing something.

As Paul points out, the idea of protecting the inventor is only half the issue with patents. Thereafter, on the public record, you have information about how to do something better. Even before the patent 'expires' and allows people to use the idea directly, people can look at ideas and see what other people have done. They may come up with a better way to solve that problem, leapfrogging the old idea entirely. Paul talks about corporate knowledge, and secrecy within the corporation - as well as the "need to know" problem, the old idea of "Job Security Code" is relevant here.

I suppose I agree with his conclusion: that we can't just discard the patent system. Maybe we can ignore them, if as Paul says the only actual use of a software patent seems to be as a bargaining chip when being acquired. But the idea of having an entire, expensive system that is ignored for its actual original intended use seems absurd. By the time most of these patents expire and the world is free to use them, they'll be either ubiquitous or useless. And if they're primarily there to get big businesses to share that which they would otherwise keep secret, maybe we need a bit of a better mechanism than one which allows patent trolls to exist at all.

As an aside, I'd say that there's two other methods that big companies can employ to get rid of patent trolls, besides the one that Paul suggests. They both centre on removing the only mechanism by which patent trolling companies can exist: money. One is to fight them outright in the courts: get patents thrown out, sue them for deliberate harrassment, tie them up in legal battles like the one Microsoft threw at the DoJ (and at every other competitor that opposed them). The other is the whack-a-mole principle: create a lot of sock-puppet startups that look like they're abusing the patent troll's patents but then conveniently fold up or disappear as soon as the lawyers get near the final round. By the time the patent troll company has paid all its expensive staff for achieving nothing, they won't have anything left to fight the remaining battles. What happens to their precious assets then is left as an exercise for the reader.

Last updated: | path: society / tech | permanent link to this entry


All posts licensed under the CC-BY-NC license. Author Paul Wayper.


Main index / tbfw/ - © 2004-2023 Paul Wayper
Valid HTML5 Valid CSS!