Web Security, Privacy and Commerce, 2nd Edition
only for RuBoard - do not distribute or recompile |
26.2 Patents
Patents are a type of license granted to an inventor to protect novel, useful, and nonobvious inventions. Originally, these were intended to allow an inventor a fixed time to profit from some new innovation or discovery while also encouraging the inventor to disclose the development behind the patent. Before patents, inventors would try to keep discoveries secret to profit from them and thus impede scientific progress. In some extreme cases, the inventor died before disclosing the discovery, losing it indefinitely.
In recent years, there has been a shift in patent activity to the granting of patents in computing. Firms and individuals are applying for (and receiving) patents on software and algorithms at an astonishing rate. Despite the wording of the Constitution and laws on patents, the Patent Office is continuing to award patents on obvious ideas, trivial advances, and pure algorithms. In the middle of 1995, they effectively granted patent protection to a prime number as well![4] Paradoxically, this shift is itself discouraging some scientific progress because it means that the development and use of these algorithms (or prime numbers) is regulated by law.
[4] Patent 5,373,560 covering the use of the prime number (in hex) 98A3DF52 AEAE9799 325CB258 D767EBD1 F4630E9B 9E21732A 4AFB1624 BA6DF911 466AD8DA 960586F4 A0D5E3C3 6AF09966 0BDDC157 7E54A9F4 02334433 ACB14BCB was granted on December 13, 1994, to Roger Schlafly of California. Although the patent only covers the use of the number when used with Schlafly's algorithm, there is no other practical use for this particular number, because it is easier (and more practical) to generate a "random" prime number than to use this one.
The danger comes when you write some new code that involves an algorithm you read about or simply developed based on obvious prior work. You may discover, when you try to use your program in a wider market, that lawyers from a large corporation will tell you that you cannot use "their" algorithm in your code because it is covered by their patent. After a patent is granted, the patent holder controls the use of the patented item for 20 years you aren't even supposed to use it for experimental purposes without their approval and/or license!
Many companies are now attempting to build up huge libraries of patents to use as leverage in the marketplace. In effect, they are submitting applications on everything they develop. This practice is sad, because it will have an inhibitory effect on software development in the years to come.[5] It is also sad to see business switch from a mode of competing based on innovation to a mode of competing based on who has the biggest collection of dubious patents.
[5] Indeed, it already has had negative effects. For instance, the patents on public key encryption havereally hurt information security development in recent years. See Chapter 4 for a discussion.
Until the courts or Congress step in to straighten out this mess, there is not much you can do to protect yourself (directly). However, we suggest that you be sure to consult with legal counsel in this matter if you are developing new software. Also, consider contacting your elected representatives to make your views on the matter known.
only for RuBoard - do not distribute or recompile |