Donald Knuth: Mathematical Ideas, or Algorithms, Should Not Be Patented
groklaw.net
groklaw.net
[Edit: I just picked a computationally relevant number that approximates the patent counter circa the epoch.]
How so? What if you released something in the public domain and made it unpatentable?
Of course, Knuth is notorious for his "churning out" of books; though none are as rigorous as his early VB6 stuff.
TAOCP sounds tragically hip, when described like that.
I’ve seen this argument why algorithms and mathematics shouldn’t be patentable before. A fact that is always overlooked is that this hypothetical patent would have expired sometime in the 5th century BC. To make this argument one would have to find more recent examples. How about anything created within the last 20 years? In my view, the greatest things aren’t practical to be patentable and the practical ones aren’t anywhere close in magnitude to the Pythagorean Theorem. So, where is the problem? And by the way, comparing algorithms to "words" (in this context) is just silly, with all due respect to Knuth.
In this environment, a 20-year patent lasts a life-time. Amazon's One-Click patent was granted in 1999. That means you have to steer clear of it or license it until 2019. That's 20 years that Amazon will be controlling a crucial feature of e-commerce sites.
MP3's patents will run until at least 2012. By the time MP3 (standardized in 1991) is patent-free, it'll be obselete, at best a legacy format. Heck, every music player (software and hardware) for the last few years has supported either MPEG-4 audio (AAC) or WMA, both of which sound better than MP3 at the same bit-rate. By the time patents on MPEG-4 stuff expire, it'll be at least 2020, and we'll be 1-2 generations further advanced.
My point is that for algorithmic, software, and business-model patents, even if they should be legitimate, a 20-year lifespan in the modern era is insane. Measured against the rate of progress, patents are lasting longer and longer, and by the time the patent is expired, there's no longer money in the previously-covered area.
How is the fruit of my labor any different from the fruit of a ME EE or ChemE's labor? The lot of us practice applied math in different domains.
A patent on something like MP3 or One-Click-Ordering prevents competitors from including a feature. If I want to make an e-commerce site, I have to have multiple clicks to order something or I have to license Amazon's patent. If I want to make any sort of media hardware or software that can encode/decode or import/export or even play the content out there, I need a slew of patents licensed. There's no work-around or alternative method, I simply can't include that feature without licensing.
It's the difference between "licensing this patent lets me build off the work of another company to make my product better" and "licensing this patent is mandatory to compete in this field". In my mind, patents of the first type are fine, while patents of the second type are bad.
I should be able to create something that can (for example) play MP3s without licensing, but do so at the cost of efficiency or power (because I'm using a less effective method).
http://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X
http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pr...
http://en.wikipedia.org/wiki/Knuth-Bendix_completion_algorit...
There are probably others as well. KMP is well-known and, I believe, commonly implemented for text search. Algorithm X is implemented in his "dancing links" method, and can be used (among other things) to solve Sudoku puzzles.
Each shuffle will consume N random numbers between 1 and N (inclusive). This gives a total of N^N equally probable N-tuples of random numbers, all corresponding to exactly one output permutation.
But there are only N! possible permutations, so some of the N^N N-tuples must share the same output permutation. Since N! does not usually divide N^N evenly, some permutations must be more probable than others.
If your company depends heavily on a huge body of code, are you in favor or against software patents?
My company depends heavily on a huge body of code, but copyright protects us more than enough. The ideas are cheap, the code to implement it is hard. I think it is fair game if somebody came along and implemented the same ideas we do. Patents stifle this kind of healthy competition.
I'll now pose a different question. Do people in this community keep their ideas out of the patent records, or do they patent? I come from a finance background and have recently returned to school to pursue an MSFE. In the financial world, new strategies, often implemented through algorithms, are the lifeblood of a lot of quantitative firms. Do people think it is better to not publish a patent if your business depends heavily an a very unique idea?
One test for non-obviousness is if the problem has been known for a long time, but no one has solved it; or (even better), the standard approaches that are taught for it lead away from your solution.
On the other side of the aisle, many approaches are under trade secret protection.
I think operationally patents don't do what we would like, and that is to give a small innovator some room to profit from an invention. In real life, it is large companies that produce, acquire, and use them in a defensive fashion.
Lockhart's Lament: http://news.ycombinator.com/item?id=130499
I guess the answer is to patent that specific application of the mathematics - like Pagerank. This narrows the patent, so it doesn't impede progress in general; and it doesn't harm you, since that's the only area that you're working in anyway. From a business point of view, it would suck if someone was absurdly successful by applying your mathematical ideas exactly in an unrelated field... but would be kinda cool for you as a knowledge-creator. As an inventor, you're doing both.