I'd just like to mention my unequivocal opposition to software patents and user interface copyright. If you aren't aware of these issues, I urge you to look at http://www.lpf.org, and consider joining the League for Programming Freedom, getting your employer to join, or doing anything else you can. These issues are not limited to freely available software in the FSF sense. They affect any software business, free or otherwise. For example, TeX infringes patent 4,956,809 issued to the Mark Williams company on September 11, 1990, applied for in 1982, which covers (among other things), storing data on disk in a machine-independent order, as the DVI, TFM, GF, and PK file formats specify. Even though @TeX{} is ``prior art'' in this respect, the patent was granted (the patent examiners not being computer scientists, even less computer typographers). Since there is a strong presumption in the courts of a patent's validity once it has been granted, there is a good chance that the author, users or implementors of @TeX{} could be successfully sued on the issue. Put another way, we are dependent on the patent holder not enforcing their patent. This is not a good situation. As another example, the X window system, which was intended to be able to be used freely by everyone, is threatened by two patents: 4,197,590 on the use of exclusive-or to redraw cursors, held by Cadtrak, a litigation company (this has been upheld twice in court); and 4,555,775, held by AT&T, on the use of backing store to redraw windows quickly. Here is a letter from Donald E. Knuth on the issue. February 23, 1994 Commissioner of Patents and Trademarks Box 4 Patent and Trademark Office Washington, DC 20231 Dear Commissioner: Along with many other computer scientists, I would like to ask you to reconsider the current policy of giving patents for computational processes. I find a considerable anxiety throughout the community of practicing computer scientists that decisions by the patent courts and the Patent and Trademark Office are making life much more difficult for programmers. In the period 1945-1980, it was generally believed that patent law did not pertain to software. However, it now appears that some people have received patents for algorithms of practical importance-e.g., Lempel-Ziv compression and RSA public key encryption-and are now legally preventing other programmers from using these algorithms. This is a serious change from the previous policy under which the computer revolution became possible, and I fear this change will be harmful for society. It certainly would have had a profoundly negative effect on my own work: For example, I developed software called TeX that is now used to produce more than 90% of all books and journals in mathematics and physics and to produce hundreds of thousands of technical reports in all scientific disciplines. If software patents had been commonplace in 1980, I would not have been able to create such a system, nor would I probably have ever thought of doing it, nor can I imagine anyone else doing so. I am told that the courts are trying to make a distinction between mathematical algorithms and nonmathematical algorithms. To a computer scientist, this makes no sense, because every algorithm is as mathematical as anything could be. An algorithm is an abstract concept unrelated to physical laws of the universe. Nor is it possible to distinguish between ``numerical'' and ``nonnumerical'' algorithms, as if numbers were somehow different from other kinds of precise information. All data are numbers, and all numbers are data. Mathematicians work much more with letters than with numbers. Therefore the idea of passing laws that say some kinds of algorithms belong to mathematics and some do not strikes me as absurd as the 19th century attempts of the Indiana legislature to pass a law that the ratio of a circle's circumference to its diameter is exactly 3, not approximately 3.1416. It's like the medieval church ruling that the sun revolves about the earth. Man-made laws can be significantly helpful but not when they contradict fundamental truths. Congress wisely decided long ago that mathematical things cannot be patented. Surely nobody could apply mathematics if it were necessary to pay a license fee whenever the theorem of Pythagoras is employed. The basic algorithmic ideas that people are now rushing to patent are so fundamental, the result threatens to be like what would happen if we allowed authors to have patents on individual words and concepts. Novelists or journalists would be unable to write stories unless their publishers had permission from the owners of the words. Algorithms are exactly as basic to software as words are to writers, because they are the fundamental building blocks needed to make interesting products. What would happen if individual lawyers could patent their methods of defense, or if Supreme Court justices could patent their precedents? I realize that the patent courts try their best to serve society when they formulate patent law. The Patent Office has fulfilled this mission admirably with respect to aspects of technology that involve concrete laws of physics rather than abstract laws of thought. I myself have a few patents on hardware devices. But I strongly believe that the recent trend to patenting algorithms is of benefit only to a very small number of attorneys and inventors, while it is seriously harmful to the vast majority of people who want to do useful things with computers. When I think of the computer programs I require daily to get my own work done, I cannot help but realize that none of them would exist today if software patents had been prevalent in the 1960s and 1970s. Changing the rules now will have the effect of freezing progress at essentially its current level. If present trends continue, the only recourse available to the majority of America's brilliant software developers will be to give up software or to emigrate. The U.S.A. will soon lose its dominant position. Please do what you can to reverse this alarming trend. There are far better ways to protect the intellectual property rights of software developers than to take away their right to use fundamental building blocks. Sincerely, Donald E. Knuth Professor Emeritus Stanford University