Donald Knuth, distinguished computer scientist, recipient of the Turing Award, creator of the TeX computer typesetting system, and author of The Art of Computer Programming, which some call the Bible of computer programming, has submitted a letter [PDF] to the European Patent Office for submission to the EPO's Enlarged Board of Appeal considering the question of software patents and whether they should be allowed in Europe. Here's his view:Basically I remain convinced that the patent policy most fair and most suitable for the world will regard mathematical ideas (such as algorithms) to be not subject to proprietary patent rights. He attaches a letter he wrote in 1994 to the US Patent and Trademark Office, explaining why software patents were -- and would be -- so damaging. How true his words proved to be. Here's a snippet: 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. Ah! But will the EPO listen?
Here's why it should, from the introduction to Wikipedia's article about Knuth:
Knuth has been called the "father" of the analysis of algorithms, contributing to the development of, and systematizing formal mathematical techniques for, the rigorous analysis of the computational complexity of algorithms, and in the process popularizing asymptotic notation.
In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces.
A prolific writer and scholar, Knuth created the WEB/CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MMIX instruction set architecture. If he says algorithms are math, I'd say he should know. Now extrapolate. If they are math, are they patentable? Should they be? He says no, if you continue with the letter:
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.
If only they had listened to him then! And what a mess the US patent system has become, because they did not listen. Hopefully, Europe will not make the same mistake. You can find the other amicus briefs and letters submitted to the EPO here, and I'll be publishing several of them here on Groklaw in time, to show more reasons why software patents are viewed as so harmful by programmers, those most directly impacted by whatever decision the EPO's Enlarged Board of Appeal reaches.
Remember when patent attorney Gene Quinn wrote that software isn't math? I see absolutely no justification for all software to be considered unpatentable subject matter because it is simply not correct to say that software code is the equivalent of a mathematical equation or a mathematical algorithm. Employing the same logical structure is certainly wise, and complies with best practice standards for programming, but at the core computer software directs. The code is a series of instructions written using mathematical logic as its foundation. In the patent arena this does not and cannot mean that the patenting of software is the equivalent of patenting mathematics. It merely means that the instructions are written in a language and format that are heavily influenced by mathematics. Well, Knuth would know better than we would what an algorithm is, I think, but even if we accept what Quinn wrote, it doesn't actually help his argument. If software code is "a series of instructions" then it's like a manual, in which case it's deserving of copyright, like any book. Can you patent a manual? Is it an invention?
I will present both Knuth letters now in full, and we'll add another attachment, an interview with him on this same subject, as soon as we are able to finish transcribing it.
Here are both letters:
************************
Donald E. Knuth
Professor Emeritus of
The Art of Computer Programming
STANFORD UNIVERSITY Computer Science
[address, phone]
24 April 2009
Alison J. Brimelow
President, European Patent Office
80298 Munich, Germany
Dear Ms Brimelow,
A friend in Europe just told me that you are interested in "amicus curiae" letters to explain
why so many computer scientists around the world have long been alarmed about patent
trends, and that you hope to receive them by 30 April. I hope this letter reaches you in
time; I could not send it by FedEx, having no complete address.
Enclosed is a copy of a letter that I wrote to the US Patent Commissioner in 1994; I believe
it is self explanatory. Also enclosed is the transcript of a talk I gave at the Technical University of Munich in 2001, where I gave a somewhat more nuanced view of extremely unusual
cases in which algorithms or even mathematical constants might conceivably be patentable
in my view. [The latter remarks occur near the end of a rather long lecture; I have highlighted the relevant information, on page 324, for your convenience.]
Basically I remain convinced that the patent policy most fair and most suitable for the world
will regard mathematical ideas (such as algorithms) to be not subject to proprietary patent
rights. For example, it would be terrible if somebody were to have a patent on an integer,
like say 1009, so that nobody would be able to use that number "with further technical effect" without paying for a license. Although many software patents have unfortunately already been granted in the past, I hope that this practice will not continue in future. If Europe leads the way in this, I expect many Americans would want to emigrate so that they
could continue to innovate in peace.
Sincerely,
[signature]
Donald E Knuth
Professor of The Art of Computer Programming
**********************************
STANFORD UNIVERSITY
STANFORD, CALIFORNIA 94305-2140
DONALD E. KNUTH
Professor Emeritus of The Art of
Computer Programming
Department of Computer Science
[Telephone]
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 those 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 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.
To Commissioner of Patents and Trademarks - February 23, 1994 - Page 2
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,
[signature]
Donald E Knuth
Professor
|