Freedom of Speech in Software
akpoff writes " I've been struggling with the question 'what's wrong with software patents' but haven't been able to find the right words. I was over at John Gilmore's website and found a link to John Salin's 'Freedom of Speech in Software' letter to the USPTO back in 1991! This is one of the best explanations I've seen. He reminds us that computer programs are essentially like literature or music -- they are expressions of ideas. Just because they run on a computer doesn't make them uniquely different from other creative mediums. We should think player piano (patentable) vs the music (copyrightable but not patentable) it plays. Europeans -- put this letter into the hands of your MEPs!"
Just because a system is abused, that doesn't make it a bad idea. The original concept of patents was a good idea, and it just needs a major overhaul.
And just for the record, I think software patents are one of those abuses of the system.
"Ask not what your country can do for you." --John F. Kennedy
Nothing wrong with making money of an invention. If it is an invention, that is. I believe it to be quite rare to come up with something entirely New and of Inventive Nature.
I know a programmer. He's good. I believe that he can program anything you throw at him. I believe that there are many more programmers who can do that. So, where is the invention if all is required is the skill of a good programmer? They all could easily run the risk of infringing just by applying their usual trade.
Another thing to consider: Patents last 20 years. That is a long time for software. Special arrangments have been made to allow drugs a somewhat longer protection. If there are software patents, they should be shorter, 10 years max. at best.
I'm a (Dutch) patent attorney. I will never write a software patent (and never have). I believe that software patents should be possible, for example if you come up with an algorithm that allows video to be broadcasted requiring only half the bandwidth. However, I have sincere fear that the system will not be able to come up with rules that do justice to real inventors and to society, which should not be hampered by patents that are granted too easily and subsequently overstretched in court. Even on more straightforward matters (such as mechanics) the USPTO is certainly not what it should be, and unfortunately the EPO is slowly deteriorating towards the USPTO level. In addition, it is extremely hard to determine what the state of the art is (how are you going to search?), so patents will be granted while they shouldn't have been. In patent law, the onus is on the person accused of infringment. Not a good thing if it is nearly impossible for you too to determine what was already there.
The author states, "Computer Programs are Writings." He compares computer programs to written essays. I believe that both his statement and comparision are generally incorrect.
Yes, there may some cases where this is so, such as might be entries in the "obfuscated C code contest". But this is very seldom what we are speaking of when we talk about "computer programs".
More so than it is similar to an essay, the computer program is similar to the collection of specific gears, sprockets, pins, and their particular arrangements which cause a machine to work in a useful and well-defined way. These parts, similarly, like components of computer programs, have yet more primitive components and specifications which provide for those at the higher level.
Perhaps a more useful example due to its comparative complexity is a clock.
That the analogy of gears, pins, sprokets and their arrangement, to software and the computer on which it runs, is successful, is illustrated by the case of the swapped watch internals.
Suppose that we have an existing mechanical clock. Now, suppose we take a duplicate watch casing, but inside we insert a "general purpose gear, ping, and sproket emulator". Like the computer, this device, in order to function in a useful manner, requires a set of instructions. Specifically, these instructions must instruct the emulator how to perform operations with equivalent results to those that were in our existing clock performed by real, rather than emulated gears, pins, and sprokets.
The success of the clockmaker is determined not by creativity in ordering or commentary on the natural world. Rather, success is measured by efficiency, and correctness. Optimality is measured (when it is computationally possible) by precise mathematical metrics. Correctness is determined not by asthetic appeal, creativity, or insight, but by nothing more than the solution being provably correct through the employment of established mathematical techniques. In fact, we might wonder what "correctness" should mean, if anything at all, in the context of an essay.
In the case of the computer program, creatvity or imagination are desirable not in the structure, choice, or ordering of the instructions, but rather in coming upon a correct solution or in visualizing the problem.
A source listing's utility is perhaps directly proportional to its lack of creativity.
.sig Realistic fines for copyright in