30 July 2007

Patron Saint of Computing Against Software Patents

If computing has a patron saint, it is the great and amazing Donald Knuth. Put another way, he is the god of computer algorithms, so I was particularly pleased to come across this definitive statement on their patentability:

In the period 1945-1980, it was generally believed that patent law did not pertain to software. However, it now a ppears 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 19thcentury 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.

Amen to that. (Via Coding Horror.)

9 comments:

Anonymous said...

Brilliant stuff from Dr. Knuth. I especially liked the example of Pythogoras.

Slightly off-topic: I don't know if you've read the book 'The Common Thread' by John Sulston and Georgina Ferry. I think you'd enjoy Dr. Sulston's thoughts on making the human genome freely available.

Glyn Moody said...

Thanks for the suggestion - in fact I read it while I was writing my book "Digital Code of Life", which is also about making the human genome freely available (and about how open source made it happen)....

Anonymous said...

I'll have to add "Digital Code of Life" to my list of books to buy & read. I've read your book Rebel Code and enjoyed it thoroughly.

Glyn Moody said...

Great - thanks.

webmink said...

Any idea how old this is, Glyn?

Glyn Moody said...

For something this interesting it surprisingly hard to find out. The best I can do is a posting to the Python list in 2002 which says:

I verified with my source, who replied that the message is presumably from 1994

I'd ask Knuth, except for the fact that he doesn't use email....

Dana said...

There is no date on this letter. It reads as though it was written over a decade ago.

Not that there's anything wrong with that, but it's wrong to call this news when, in fact, it's history.

Glyn Moody said...

Well, actually, I didn't call it news: I said "I was particularly pleased to come across" - as in to find for the first time, regardless of when it was first posted somewhere.

Its argument, of course, is timeless, which is why it's still of interest today.

Unknown said...

I work for a company called Peoples Archive and we actually filmed Donald Knuth talking about his life and work last year. The entire footage has recently been added to our website www.peoplesarchive.com where it can be viewed for free along with transcripts. I thought you might be interested in viewing it as he speaks specifically about algorithms as well as many other topics including the creation of TeX and his continuing work on "The Art of Computer Programming".