The best argument against the wisdom of software patents may be history itself. Lotus, Microsoft, WordPerfect, and Novell all became world leaders in the software publishing industry on the strength of their products. None of these companies needed patents to secure funding or maintain their market position. Indeed, all made their fortunes before the current explosion of software patents began. Clearly patents are not necessary to ensure the development of computer programs. And for those who want more control over what they see as their property, the computer industry has already adopted two other systems: copyright and trade secrecy.
Today, nearly all programs are copyrighted. Copyright prohibits the users of a software program from making copies of it (for example, to give to their friends) without the permission of the individual or company that licenses the program. It prevents one company from appropriating another company's work and selling it as its own. But the existence of a copyright doesn't prevent other programmers from using algorithms or techniques contained in the program in their own work. A single software technique can be implemented in different ways to do totally different jobs; copyright only prohibits appropriating the actual code that a particular programmer wrote.
In general, copyrighting and patenting are thought to apply to very different kinds of material: the former to the expression of ideas, and the latter to a process that achieves a certain result. Until just a few years ago, computer algorithms and techniques were widely seen as unpatentable. And as Harvard University policy analyst Brian Kahin notes, this is the first time in history that an industry in which copyright was widely established was suddenly subjected to patenting.
Indeed, without conscious action by Congress or the Supreme Court, the most fundamental rule of software publishing--if you write a program, you own it--will change. The new rule will be that you might own what you write--if it is so revolutionary that it owes nothing to any previous work. No author in areas other than software is held to such an unrealistically high standard.
The U.S. patent system was created because the framers of the Constitution hoped that patents would discourage trade secrecy. When techniques are kept secret for commercial advantage, they may never become available for others to use and may even be lost. But although trade secrecy is a problem for software, as it is for other fields, it is not a problem that patents help to correct.
Many of the useful developments in the field of software consist of new features such as the automatic correction and abbreviation expansion feature in XyWrite III Plus. Since it is impossible to keep a program's features secret from the users of the program, there is no possibility of trade secrecy and thus no need for measures to discourage it. Techniques used internally in a software system can be kept secret; but in the past, the important ones rarely were. It was normal for computer scientists in the commercial as well as the academic world to publish their discoveries. Once again, since secrecy about techniques was not a significant problem, there is little to be gained by adopting the patent system to discourage it.
The place where trade secrecy is used extensively in software is in the ``source code'' for programs. In computer programming, trade secrets are kept by distributing programs in ``machine code,'' the virtually indecipherable translation of programming languages that computers read. It is extremely difficult for another programmer to glean from a machine-code program the original steps written by the program's author. But software patents haven't done anything to limit this form of trade secrecy. By withholding the source code, companies keep secret not a particular technique, but the way that they have combined dozens of techniques to produce a design for a complete system. Patenting the whole design is impractical and ineffective. Even companies that have software patents still distribute programs in machine code only. Thus, in no area do software patents significantly reduce trade secrecy.