For that matter, I don’t have to worry about how I’m going to insert the if
-statement inside the while
-statement every time I produce a copy of the program. I don’t have to design a factory to make copies of my program, because there are various general commands that will make copies of anything.
If I want to make copies on CD, I just have to write a master; and there’s one program I can [use to] make a master out of anything, write any data I want. I can make a master CD and write it and send it off to a factory, and they’ll duplicate whatever I send them. I don’t have to design a different factory for each thing I want to duplicate.
Very often with physical engineering you have to do that; you have to design products for manufacturability. Designing the factory may even be a bigger job than designing the product, and then you may have to spend millions of dollars to build the factory. So with all of this trouble, you’re not going to be able to put together so many different ideas in one product and have it work.
A physical design with a million nonrepeating different design elements is a gigantic project. A program with a million different design elements, that’s nothing. It’s a few hundred thousand lines of code, and a few people will write that in a few years, so it’s not a big deal. So the result is that the patent system weighs proportionately heavier on us than it does on people in any other field who are being held back by the perversity of matter.
A lawyer did a study of one particular large program, namely the kernel Linux, which is used together with the GNU operating system that I launched.This was five years ago now; he found 283 different US patents, each of which appeared to prohibit some computation done somewhere in the code of Linux. At the time I saw an article saying that Linux was 0.25 percent of the whole system. So by multiplying 300 by 400 we can estimate the number of patents that would prohibit something in the whole system as being around 100,000. This is a very rough estimate only, and no more accurate information is available, since trying to figure it out would be a gigantic task.
Now this lawyer did not publish the list of patents, because that would have endangered the developers of Linux the kernel, putting them in a position where the penalties if they were sued would be greater. He didn’t want to hurt them; he wanted to demonstrate how bad this problem is, of patent gridlock.
Programmers can understand this immediately, but politicians usually don’t know much about programming; they usually imagine that patents are basically much like copyrights, only somehow stronger. They imagine that since software developers are not endangered by the copyrights on their work, that they won’t be endangered by the patents on their work either. They imagine that, since when you write a program you have the copyright, [therefore likewise] if you write a program you have the patents also. This is false—so how do we give them a clue what patents would really do? What they really do in countries like the US?
I find it’s useful to make an analogy between software and symphonies. Here’s why it’s a good analogy.
A program or symphony combines many ideas. A symphony combines many musical ideas. But you can’t just pick a bunch of ideas and say “Here’s my combination of ideas, do you like it?” Because in order to make them work you have to implement them all. You can’t just pick musical ideas and list them and say, “Hey, how do you like this combination?” You can’t hear that [list]. You have to write notes which implement all these ideas together.
The hard task, the thing most of us wouldn’t be any good at, is writing all these notes to make the whole thing sound good. Sure, lots of us could pick musical ideas out of a list, but we wouldn’t know how to write a good-sounding symphony to implement those ideas. Only some of us have that talent. That’s the thing that limits you. I could probably invent a few musical ideas, but I wouldn’t know how to use them to any effect.
So imagine that it’s the 1700s, and the governments of Europe decide that they want to promote the progress of symphonic music by establishing a system of musical idea patents, so that any musical idea described in words could be patented.
For instance, using a particular sequence of notes as a motif could be patented, or a chord progression could be patented, or a rhythmic pattern could be patented, or using certain instruments by themselves could be patented, or a format of repetitions in a movement could be patented. Any sort of musical idea that could be described in words would have been patentable.