League For Programming Freedom Programming Freedom, Number 11 February 1995 Programming Freedom is the Newsletter of The League For Programming Freedom, 1 Kendall Square #143, P.O. Box 9171, Cambridge, MA 02139. Send email to: lpf@uunet.uu.net. Voicemail phone number: (617) 621-7084. Leave your message and we will return your call. Reproduction of Programming Freedom via all media is encouraged. To reproduce a signed article individually, please contact the author for permission. Table of Contents Dropping the Boycott Letter to the Patent Office, Professor Donald Knuth Election Results Software Patent = Protection Racket, Paul Rubin Dropping the Boycott The board of the League For Programming Freedom recently decided to drop the boycott of Apple. The consensus was that the boycott had outlived its usefulness, and it was time to move on to fresher issues. Past LPF president Chris Hofstader stated "The Apple boycott has run its course. It has served its purpose, and now it is time to turn our attentions to other matters." FYI- This past September Apple appealed the judgement against it to the U.S. Court of Appeals for the Ninth Circuit. Four days later that court upheald the earlier decision. Appple is said to be considering petitioning the Supreme Court for a wit of certioari. We'll continue keep you informed on any developments in this case. Letter to the Patent Office >From Professor Donald Knuth Professor Donald Knuth of Stanford University is the world's leading authority on algorithms. His magnum opus, the three volume work the "The Art of Computer Programming," is the most important reference work on algorithms. Knuth also developed the mathematical text formatter TeX and the idea of "literate programming". Supporting evidence of Knuth's position are the following distinctions: National Medal of Science Member, National Academy of Sciences Member, National Academy of Engineering Fellow, American Academy of Arts and Sciences Turing Award, Association for Computing Machinery 18 Honorary Doctorates The first four of these distinctions are the highest American awards for scientists. Since there is no Nobel prize in computing, the receipt of the Turing award is often regarded as having a similar status. Through these honors, Knuth is perhaps the most distinguished living exponent of the field of computer science. He is also now a member of the League for Programming Freedom. Here is the letter he sent in February 1994 to the Patent Commissioner on the subject of software patents. 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 symbolic entities 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 Election Results The League elected its officers and board members during the annual meeting which occurred on December 21, 1994. Dean Anderson is the LPF's new president, while Aubrey Jaffer retained his post as treasurer. Rich Hilliard, LPF email coordinator, was elected clerk. Richard Stallman is joined on the board by newcomers Lile Elam and Gordon Irlam. Chris Hofstader moves into the board's ex officio as past president. Software Patent = Protection Racket By Paul Rubin While at an Internet Engineering Task Force meeting a couple months ago, I attended a session where various speakers talked about different secured IP schemes. Most of these used public key cryptography in one way or another. One of the methods, presented by Jim Burton, used RSA signatures for authentication and Diffie-Hellman key exchange for key setup. Burton mentioned that his scheme depended on only two patents (RSA and Diffie-Hellman). The whole room applauded when he added that his company asserted no patents of its own about the system he was about to describe. During the question and answer period I asked him why he had not used El-Gamal for authentication and Eric Hughes' key transmission protocol for key setup, since El-Gamal depends at worst on a patent which expires much sooner than the RSA patent, while Hughes' method is apparently not patented at all. Burton replied apologetically that he had to be concerned with even remote possibilities of patent infringement since he was selling a software product incorporating his scheme. He had worked out a financially acceptable deal with RSADSI, and as part of the contract they had promised to defend him against any claims of patent infringement by their package. He felt that this indemnification was far more important than any cost savings or technical advantages that could be gotten from any implementation that didn't come with such a guarantee. He bought the RSADSI package because of the legal defense that its vendor was willing to provide, rather than because it was the best or cheapest tool for the job. RSADSI's product here is therefore litigation insurance rather than technology. Software suppliers in other areas in other areas are also being pressured more and more by their customers to provide similar insurance with their products. If you're a software developer without the resources to promise free legal defense to every one of your customers against potentially thousands of patent holders who might decide someday that your product resembles something in their patent, you are likely to find yourself having to turn away more and more business as the number of software patents grows. This is yet another way that software patents hurt small developers, which has not received widespread attention so far. What is interesting to note in the RSA case is that the claims of patent infringement that RSADSI promises to defend its customers against could, in practice, only come from RSA itself. If there is a more precise definition of a protection racket than this, I haven't heard it. Paul Rubin is a longtime LPF activist, volunteer and sometime contributor to Programming Freedom.