
Letter to the Patent Office From Professor Donald Knuth (1994) - espeed
http://www.pluto.it/files/meeting1999/atti/no-patents/brevetti/docs/knuth_letter_en.html
======
xophe
>>"I am told that the courts are trying to make a distinction between
mathematical algorithms and nonmathematical algorithms."

As Knuth implies, this is a fool's errand, and this is the reason why courts
should not award any patents protecting an algorithm at all.

As a thought exercise, is "A website that advertises a series of random beers
from a known collection of user preferred beers" mathematical?

No? Then, is a random shuffling algorithm mathematical based on a vector of
inputs mathematical? No? How about the following code?

void sort(int *arr, int len) for (int i = 0; i < len; ++i) { r = rand % len;
swap(arr + i, arr + r); }

Not mathematical? Then what about a function "s" described as s(x) =
f(g(h(x))), where x is a vector, h multiplies the vector by the identity
matrix, and g multiplies its input against the set of all possible matrices
such that all elements are 1 or 0 and there can be at most 1 non-zero element
for a given row and column, and f chooses a random input from its set and
returns its multiplication against a vector of 1s?

These are, at their core, all algorithms, and they are all mathematical. The
courts have already established that the "Internet of things" is not
patentable, which is why the first example transfers to the second. This is
admittedly a poor example, but for a better understanding read Knuth's
"Fundamental Algorithms."

~~~
throwawaykf05
You and Knuth (and most others here) are operating under the same
misunderstandings, the main one being a false equivalence between a patentable
invention and the non-patentable underlying principles or elements that enable
it. Let me just point to a previous comment that addresses this:
[https://news.ycombinator.com/item?id=7923894](https://news.ycombinator.com/item?id=7923894)

Applying that to your example, note that a patent on "random ads" would not
preempt anyone else from using shuffling algorithms, and hence it is not the
algorithm being patented.

------
higherpurpose
_' If people had understood how patents would be granted when most of today’s
ideas were invented, and had taken out patents, the industry would be at a
complete standstill today.' Mr. Gates worried that 'some large company will
patent some obvious thing' and use the patent to 'take as much of our profits
as they want.'_

Bill Gates in the early 90's [1]. Pretty similar line of thought, no?
Unfortunately, now Bill Gates is a defender of Intellectual Ventures [2] and
Microsoft extracts billions of dollars _every year_ from open source software
by asserting "infringement" on such software patents that should've never been
granted, and doing the very thing that Gates was condemning when Microsoft
wasn't in the abuser's position.

[1] - [http://www.networkworld.com/article/2230877/microsoft-
subnet...](http://www.networkworld.com/article/2230877/microsoft-
subnet/microsoft-was-against-software-patents-before-it-was-for-them.html)

[2] - [http://arstechnica.com/tech-policy/2013/08/bill-gates-
still-...](http://arstechnica.com/tech-policy/2013/08/bill-gates-still-
helping-known-patent-trolls-obtain-more-patents/)

~~~
dredmorbius
Patent trolling is the final stage of the evolution of a software or tech
company, before dissolution or death-merger.

E.g., Sun, SCO, Wang.

~~~
pistle
Apple, Google, Facebook subsidiaries, Samsung, etc.

~~~
dredmorbius
I wouldn't consider those to be dead or dying.

Yet.

------
rayiner
Prof. Knuth's point boils down to:

> To a computer scientist, this makes no sense, because every algorithm is as
> mathematical as anything could be.

But there is no reason for definitions in the law to mirror precisely the
definitions of computer science. After all, a patentable drug formula is, to a
chemist, just a description of a chemical system under the laws of chemistry.
A patentable mechanical invention is, to a physicist, just a description of a
physical system under the laws of physics.

The law very often makes distinctions between things that cannot be
distinguished by their fundamental nature, on the basis of external policy
reasons. The difference between murder and self-defense cannot be described by
fundamental differences in the physical mechanics of the two actions. Now,
that is not to say that software should be patentable, but rather that "all
algorithms are math" is an irrelevant reason for making software not
patentable. It's an interesting philosophical and theoretical point (not to
mention, obviously true), but has no relation to the purposes of patent law.

~~~
Natsu
The more vague the laws we allow, the more prone they are to abuse. Also, it's
not clear that there is _any_ meaningful distinction that can be drawn between
types of algorithms. Any process which has numbers (or symbols, bits, data,
etc.) as input and output is mathematical. The fact that all types of data are
equivalent may only go back to Godel or so, but algorithms themselves have
been known as mathematical since the very beginning.

> "all algorithms are math" is an irrelevant reason for making software not
> patentable

Not so, the statutes themselves are a bit unclear, but they say that processes
are patentable but math is not. Unfortunately, the courts have not fully
realized the fact that algorithms are mathematical processes nor are they
overly clear about what is and is not math, as they have clever lawyers
crafting arguments that go against what mathematicians have considered as math
for millennia.

al-Khwārizmī may be responsible for the world algorithm, but they've been used
by mathematicians since at least Euclid in ~300 BC.

~~~
rayiner
Your mistake is assuming that the criterion for distinguishing between
unpatentable math and patentable algorithms must come from within the domain
of computer science. There is no reason that has to be the case. The
distinguishing criterion can be wholly external, rooted in policy concerns.

~~~
lotsofmangos
Laws can be made in any way they like. The argument is not in how laws can be
made, but in whether they are any good. This is an argument about quality and
usefulness of law. As Knuth puts it, "Man-made laws can be significantly
helpful but not when they contradict fundamental truths.".

You are right that the method for deciding on what parts of math are subject
to patent can be wholly external to maths and not pay any attention to
mathematics whatsoever, however what Knuth is saying, and I would tend to
agree with him, is that this would be folly.

------
hbogert
Excellent example of the lawyer's defense patent. I'm often in discussion with
engineers from other fields taking patents as some holy grail. I now have some
ammo to show that patents are not a generalized solution.

I do have one remark, Knuth refers to algorithms as fundamental building
blocks, but as every programmer knows - we like to abstract upon abstractions
making solutions higher level, so when does something stop being a building
block and where does something start to be a patentable product.

~~~
simonh
It doesn't. It's building blocks all the way up. That's why I don't think that
software should be patentable.

~~~
jsmeaton
I agree with you, but what about copyrightable? I don't think that "swipe
gestures with 3 fingers in a diagonal motion" should be patentable. But I
don't think blatant ripoffs of entire applications should be protected or
encouraged either.

~~~
Joeri
If you copy the code, the specific artwork or the resulting binary, you're
copying the expression, which is covered by copyright. If you copy the
specific ornamental design, you may violate a design patent, if one was
registered. If you copy the name or logo, or create one that is confusing, you
may violate trademark law, if one was registered.

Software patents don't protect someone against blatant rip-offs of their
product, those other laws do that. They merely prevent good ideas from
disseminating quickly. The software patent system acts in exact opposition to
its stated aim: encouraging innovation.

------
javajosh
It occurs to me that the fight over software patents is all about marketing,
which is (mostly) about money. After all, if you produce a unique piece of
software, you have "first mover" advantage; the only way someone can eat your
lunch is if they a) copy you and b) market it better than you.

The two major ways you can be out-marketed are a) adding your product as a
feature to a much larger, already successful product, and b) spending more
money on marketing, adoption, and general product/market fit. (There is the
possibility that you just get lucky on virality, like what happened with
Flappy Birds, but that's extremely unlikely).

"The little guy" is helped tremendously by patents, because he now has
tremendous leverage against against a company that does one of these two
things with his idea. They are forced to license the invention.

This, in turn, falls apart when the invention is "obvious" or in some way
"inevitable". This hurts both the big guy and the little guy - although
arguably, it hurts the little guy even more than the possibility of theft,
since the little guy is not spending his days reading patents.

------
jokoon
> 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 don't understand this. How would patents have prevented him thinking about
it ? I don't understand this logic.

I totally agree that software patents are abusive and most of the time not
useful to society, but why say it would prevent people from inventing stuff ?

Even if someone steals your invention, if it's a real breakthrough it will be
used, don't you think ?

~~~
iwwr
>How would patents have prevented him thinking about it ? I don't understand
this logic.

It would mean he would need a license for every building block of an
algorithm. It would have meant early (and vital) algorithm research bogged
down by lawyers and lawsuits. You can't release a free implementation without
a license and so the free software ecosystem may not have appeared at all (and
we wouldn't even realize what we lost). Lastly, Knuth is a mathematician and
he could have chosen any number of specialties; early lawyerization of
algorithm research may have denied us all his input in the field.

Current software giants benefited greatly from free ideas and copied
mercilessly off each other. Even now the tendency is to have broad and
inclusive cross-licensing, leaving mostly young companies in the firing line.
The things that never get built probably dwarf any measurable damage caused by
patent litigation.

~~~
jokoon
yeah so it's more a business practice problem than anything else...

also I don't understand why patent trolls are not patenting gzip, sorting
algorithms or any other kind of technology.

I think the patent office use experts to approve a patent, so why are there
such stupid patents ? Can't they just void them ?

------
Angostura
Does anyone know if he received a reply?

------
justicezyx
Patent officers give no damn to Knuth! ...

------
dang
We changed the url from [http://progfree.org/Patents/knuth-to-
pto.txt](http://progfree.org/Patents/knuth-to-pto.txt), which doesn't mention
the date.

------
rabarbers
Knuth wrote: soon USA will lose domonant positions. His prediction was wrong,
which leads me to think that his oppinion about software patents was highly
theoretical assuming how it would be if..., because he truly believes that...
Such arguments are emotionally driven.

------
igravious
With all respect to Knuth, if you really inspect his arguments and assertions
they are quite weak or have turned out unfounded.

* emigration? No. U.S.A still has smart minds immigrating

* stifle innovation? No. Innovation still happens, progress is being made

* mathematical/non-mathematical and numerical/non-numerical distinction - Not clearly elaborated

* Limp analogy to to previous edicts (designating PI as 3 and Earth as flat) are category errors

\---

We now see that the end result of the current patent set up is that it allows
those with questionable morals and/or deep pockets to extract rent from the
stuff of thought rather than land or housing as was the traditional way.

Is this right or wrong? Only if rent-seeking is right or wrong. The patent
system is working exactly as it should be.

Note: I actually think that some algorithms which are of significant
invention/discovery could/should be patented (I mean, why not?) but what
happens is that many many many stupid algorithms get patented and also large
corporations can defend turf by sewing patents in virtual land that they have
traversed. Because the systems surrounding patents is equally broken, patents
are broken. The original idea to reward inventors for ideas is still valid. We
throw the baby out with the bath-water if we do not acknowledge this.

What say you? :)

~~~
AnthonyMouse
> Is this right or wrong? Only if rent-seeking is right or wrong.

Wait, what? _Rent-seeking is wrong._ Please let me know if there is anything
else you need clarified.

~~~
chii
while i agree with the fact that rent seeking is wrong, you should present an
argument as to why it is wrong, instead of just a condescending statement of
the fact.

~~~
AnthonyMouse
There is no actual dispute about the wrongness of rent-seeking, the only
people who might think otherwise are either misanthropic Machiavellian
jackasses who are themselves wrong or people who don't know what rent-seeking
is. It's like saying "that's only wrong if corruption is wrong." Well no
kidding corruption is wrong, does anybody actually want to dispute that or are
you just asking for a link to the collected works of John Locke and Thomas
Jefferson?

