home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / pub / lpf / issues.article < prev    next >
Internet Message Format  |  1992-11-03  |  24KB

  1. From Issues in Science and Technology, Fall 1991:
  2.  
  3.  
  4.  
  5.  
  6. SIMSON L. GARFINKEL
  7.  
  8. RICHARD M. STALLMAN
  9.  
  10. MITCHELL KAPOR
  11.  
  12.  
  13. Why Patents Are Bad for Software
  14.  
  15.  
  16.      Patents can't protect or invigorate the computer software
  17.      industry; they can only cripple it.
  18.  
  19.  
  20. In September 1990, users of the popular XyWrite word processing
  21. program got a disturbing letter in the mail from XyQuest, Inc., the
  22. program's publisher:
  23.  
  24.  
  25. "In June of 1987, we introduced an automatic correction and
  26. abbreviation expansion feature in XyWrite III Plus. Unbeknownst to us,
  27. a patent application for a related capability had been filed in 1984
  28. and was subsequently granted in 1988. The company holding the patent
  29. contacted us in late 1989 and apprised us of the existence of their
  30. patent.
  31.  
  32.   We have decided to modify XyWrite III Plus so that it cannot be
  33. construed as infringing. The newest version of XyWrite III Plus (3.56)
  34. incorporates two significant changes that address this issue: You will
  35. no longer be able to automatically correct common spelling errors by
  36. pressing the space bar after the misspelled word. In addition, to
  37. expand abbreviations stored in your personal dictionary, you will have
  38. to press control-R or another designated hot key."
  39.  
  40.   
  41.  
  42.   XyQuest had been bitten by a software patent--one of the more than
  43. two thousand patents on computer algorithms and software techniques
  44. that have been granted by the U.S. Patent and Trademark Office since
  45. the mid-1980s. The owner of the patent, Productivity Software, had
  46. given XyQuest a choice: license the patent or take a popular feature
  47. out of XyWrite, XyQuest's flagship product. If XyQuest refused, a
  48. costly patent-infringement lawsuit was sure to follow.
  49.  
  50.   Some choice.
  51.  
  52.   XyQuest tried to license the patent, says Jim Adelson, vice
  53. president for marketing, but Productivity Software kept changing its
  54. terms. First Productivity said that XyQuest could keep the feature in
  55. some versions of XyWrite, but not in others. Then the company said
  56. that XyQuest could use one part of the "invention," but not other
  57. parts. And Productivity Software kept increasing the amount of money
  58. it wanted. XyQuest finally gave up and took the feature out.
  59.  
  60.   XyQuest was lucky it had that option. Other firms--including some of
  61. the nation's largest and most profitable software publishers--have
  62. been served with notice of patents that strike to the heart of their
  63. corporate vitality. In one of the most publicized cases, a company
  64. called Refac International--whose sole business is acquiring and
  65. litigating patents--sued Lotus, Microsoft, Ashton-Tate, and three
  66. other spreadsheet publishers, claiming they had all infringed on
  67. patent number 4,398,249, which spells out the order in which to
  68. recalculate the values in a complicated model when one parameter in
  69. the model changes. (Refac has since dropped its claims against all the
  70. companies except Lotus, but only because company lawyers anticipated a
  71. better chance of success if they faced just one opponent.)
  72.  
  73.   Patent 4,398,249 does not have anything to do with spreadsheets in
  74. particular; the technique also appears in some graphics drawing and
  75. artificial intelligence programs. And the idea that values in a
  76. spreadsheet should be recalculated in the order specified by the
  77. patent is so obvious that it has probably occurred to nearly everyone
  78. who has written a spreadsheet program. But the Patent Office's
  79. standard for obviousness is extremely low; patents have been granted
  80. for ideas so elementary that they could have been answers to problems
  81. in a first-year programming course.
  82.  
  83.   Practically once a month, the nation's computer networks are abuzz
  84. with news of another patent issued on a fundamental concept that is
  85. widely used. Although the Patent Office isn't supposed to grant
  86. patents on ideas, that's essentially what it's doing with software
  87. patents, carving up the intellectual domain of computer science and
  88. handing little pieces to virtually any company that files an
  89. application. And the practice is devastating America's software
  90. industry.
  91.  
  92.   If Congress does not act quickly to redefine the applicability of
  93. patent law to computer programs, the legal minefield confronting the
  94. introduction of new computer programs will be so intimidating--and
  95. potentially so costly--that small companies will effectively be barred
  96. from the marketplace, while large, established firms will become
  97. embroiled in litigation that will have a stultifying effect on the
  98. entire industry.
  99.  
  100.  
  101. What's being patented?
  102.  
  103. Software patents do not cover entire programs; instead, they cover
  104. algorithms and techniques--the instructions that tell a computer how
  105. to carry out a specific task in a program. Thousands of instructions
  106. make up any one computer program. But whereas the unique combination
  107. of algorithms and techniques in a program is considered an
  108. "expression" (like a book or a song) and is covered by copyright law,
  109. the algorithms and techniques themselves are treated as procedures
  110. eligible for patenting.
  111.  
  112.   The judicial basis for this eligibility is tenuous at best. U.S. law
  113. does not allow inventors, no matter how brilliant they are, to patent
  114. the laws of nature, and in two Supreme Court cases
  115. (Gottschalk v. Benson, 1972, and
  116. Parker v. Flook, 1978) the Court extended this
  117. principle to computer algorithms and software techniques. But in the
  118. 1981 case Diamond v. Diehr, the Court said
  119. that a patent could be granted for an industrial process that was
  120. controlled by certain computer algorithms, and the Patent Office seems
  121. to have taken that decision as a green light on the patentability of
  122. algorithms and techniques in general.
  123.  
  124.   Software patents are now being granted at an alarming rate--by some
  125. counts, more than a thousand are issued each year. Unfortunately, most
  126. of the patents have about as much cleverness and originality as a
  127. recipe for boiled rice--simple in itself but a vital part of many
  128. sophisticated dishes. Many cover very small and specific algorithms or
  129. techniques that are used in a wide variety of programs. Frequently the
  130. "inventions" mentioned in a patent application have been independently
  131. formulated and are already in use by other programmers when the
  132. application is filed.
  133.  
  134.   When the Patent Office grants a patent on an algorithm or technique,
  135. it is telling programmers that they may not use a particular method
  136. for solving a problem without the permission of the idea's "owner." To
  137. them, patenting an algorithm or technique is like patenting a series
  138. of musical notes or a chord progression, then forcing composers to
  139. purchase a "musical sequence license."
  140.  
  141.  
  142. Systems at odds
  143.  
  144. The traditional rationale for patents is that protection of inventions
  145. will spur innovation and aid in the dissemination of information about
  146. technical advances. By prohibiting others from copying an invention,
  147. patents allow inventors to recoup their investment in development
  148. while at the same time revealing the workings of the new invention to
  149. the public.
  150.  
  151.   But there's evidence that the patent system is backfiring in the
  152. computer industry; indeed, the system itself seems unsuited to the
  153. nature of software development. Today's computer programs are so
  154. complex that they contain literally thousands of algorithms and
  155. techniques, each considered patentable by the Patent Office's
  156. standards. Is it reasonable to expect a software company to license
  157. each of those patents, or even to bring such a legally risky product
  158. into the marketplace? To make things even more complicated, the Patent
  159. Office has also granted patents on combinations of algorithms and
  160. techniques that produce a particular feature. For example, Apple was
  161. sued because its Hypercard program allegedly violates patent number
  162. 4,736,308, which covers a specific technique that, in simplified
  163. terms, entails scrolling through a database displaying selected parts
  164. of each line of text. Separately, the scrolling and display functions
  165. are ubiquitous fixtures of computer programming, but combining them
  166. without a license from the holder of patent 4,736,308 is now
  167. apparently illegal.
  168.  
  169.   Another problem with patenting software is the amount of time it
  170. takes to do so. The two to five years required to file for and obtain
  171. a patent are acceptable if a company is patenting, say, the formula
  172. for Valium, which hasn't changed in more than 20 years. But in the
  173. software industry, companies that don't continually bring out new
  174. versions of their programs go out of business. Success for them
  175. depends on spotting needs and developing solutions as quickly as
  176. possible.
  177.  
  178.   Unfortunately, conducting a patent search is a slow, deliberative
  179. process that, when harnessed to software development, could stop
  180. innovation in its tracks. And because patent applications are
  181. confidential, there is simply no way for computer programmers to
  182. ensure that what they write will not violate some patent that is yet
  183. to be issued. Thus XyQuest "reinvented" its automatic spelling-error
  184. correction system and brought the product to market between the time
  185. that Productivity Software had filed for its application and been
  186. awarded the patent.
  187.  
  188.   Such examples are becoming increasingly common. In another case, the
  189. journal IEEE Computer in June 1984 published a
  190. highly efficient algorithm for performing data compression;
  191. unbeknownst to the journal's editors or readers, the authors of the
  192. article had simultaneously applied for a patent on their invention. In
  193. the following year, numerous programs were written and widely
  194. distributed for performing the so-called "LZW data compression." The
  195. compression system was even adopted as a national standard and
  196. proposed as an international one. Then, in 1985, the Patent Office
  197. awarded patent number 4,558,302 to one of the authors of the article.
  198. Now Unisys, the holder of the patent, is demanding royalties for the
  199. use of the algorithm. Although programs incorporating the algorithm
  200. are still in the public domain, using these programs means risking a
  201. lawsuit.
  202.  
  203.   Not only is the patent approval process slow, but the search for
  204. "prior art"--the criterion the Patent Office uses to determine whether
  205. an invention already exists at the time of a patent application--is
  206. all but impossible to conduct in the realm of computer software. After
  207. more than 25 years, the Patent Office has not developed a system for
  208. classifying patents on algorithms and techniques, and no such system
  209. may be workable. Just as mathematicians are sometimes unaware that
  210. essentially identical mental processes are being used in separate
  211. areas of mathematics under different terminology, different parts of
  212. computer science frequently reinvent the same algorithm to serve
  213. different purposes. It is unreasonable to expect that a patent
  214. examiner, pressed for time, would recognize all such duplication. For
  215. example, IBM was issued a patent on the same data-compression
  216. algorithm that Unisys supposedly owns. The Patent Office was probably
  217. not aware of granting two patents for the same algorithm because the
  218. descriptions in the patents themselves are quite different even though
  219. the formulas are mathematically equivalent.
  220.  
  221.   The search for prior art is complicated by the fact that the
  222. literature of computer science is unbelievably large. It contains not
  223. only academic journals, but also users' manuals, published source
  224. code, and popular accounts in magazines for computer enthusiasts.
  225. Whereas a team of chemists working at a major university might
  226. produce 20 or 30 pages of published material per year, a single
  227. programmer might easily produce a hundred times that much. The
  228. situation becomes even more complex in the case of patented
  229. combinations of algorithms and techniques. Programmers often publish
  230. new algorithms and techniques, but they almost never publish new ways
  231. of combining old ones. Although individual algorithms and techniques
  232. have been combined in many different ways in the past, there's no good
  233. way to establish that history.
  234.  
  235.   The inability to search the literature thoroughly for prior art is
  236. crucial, because unless an examiner can find prior art, he or she is
  237. all but obligated to issue the patent. As a result, many patents have
  238. been granted--and successfully defended in court--that are not
  239. "original," even by the Patent Office's definition. It was simply the
  240. case that neither the patent examiner nor the defendants in the
  241. lawsuit knew of the prior art's existence.
  242.  
  243.   Some members of the commercial software community are now proposing
  244. the creation of a "Software Patent Institute" to identify software's
  245. prior art that existed before 1980. But even if such an institute
  246. could catalogue every discovery made by every programmer in the United
  247. States, it makes no sense to arbitrarily declare that only pre-1980
  248. work is in the public domain. Besides, what would be the purpose? To
  249. allow the patenting of nature's mathematical laws?
  250.  
  251.  
  252. Bad for business
  253.  
  254. Even when patents are known in advance,
  255. software publishers have generally not licensed the algorithms or
  256. techniques; instead, they try to rewrite their programs to avoid using
  257. the particular procedure that the patent describes. Sometimes this
  258. isn't possible, in which case companies have often chosen to avoid
  259. implementing new features altogether. It seems clear from the evidence
  260. of the last few years that software patents are actually
  261. preventing the adoption of new technology,
  262. rather than encouraging it.
  263.  
  264.   And they don't seem to be encouraging innovation, either. Software
  265. patents pose a special danger to small companies, which often form the
  266. vanguard of software development but can't afford the cost of patent
  267. searches or litigation. The programming of a new product can cost a
  268. few hundred thousand dollars; the cost of a patent search for each
  269. technique and combination of techniques that the new program uses
  270. could easily equal or even exceed that. And the cost of a single
  271. patent suit can be more than a million dollars.
  272.  
  273.   "I'm not familiar with any type of ligation that is any more costly
  274. than patent litigation," says R. Duff Thompson, vice president and
  275. general counsel of the WordPerfect Corporation. But Thompson's
  276. greatest fear is that software patents will wipe out young,
  277. independent programmers, who until now have been the software
  278. industry's source of inspiration. Imagine what happens, says Thompson,
  279. when "some 23-year-old kid who has a terrific idea in a piece of
  280. software is hammered by a demand letter from someone holding a
  281. patent."
  282.  
  283.   As for aiding the exchange of information, the expansion of software
  284. patents could mean instead the end of software developed at
  285. universities and distributed without charge--software that has been a
  286. mainstay of computer users in universities, corporations, and
  287. government for years. Many such programs--the X Window system, the
  288. EMACS text editor, the "compress" file-compression utility, and
  289. others--appear to be in violation of existing patents. Patents could
  290. also mean an end to public-domain software, which has played an
  291. important part in making computers affordable to public schools. There
  292. is obviously no way that an author who distributes a program for free
  293. could arrange to pay for royalties if one of the hundreds of
  294. techniques that were combined to create the program happens to be
  295. patented.
  296.  
  297.   Few programmers and entrepreneurs believe that patents are necessary
  298. for their profession. Instead, the impetus for patents on algorithms
  299. and techniques comes from two outside sources: managers of large
  300. companies, who see patents as a means for triumphing over their
  301. competitors without having to develop superior products, and patent
  302. attorneys, who see the potential for greatly expanding their business.
  303.  
  304.   Today, most patenting by companies is done to have something to
  305. trade or as a defense against other patent-infringement suits.
  306. Attorneys advise that patenting software may strengthen competitive
  307. position. Although this approach will work for large companies such as
  308. Microsoft, Apple, and IBM, small and even mid-sized companies can't
  309. play in their league. A future startup will be forced to pay whatever
  310. price the giants choose to impose.
  311.  
  312.  
  313. Copyright and trade secrecy
  314.  
  315. The best argument against the wisdom of software patents may be
  316. history itself. Lotus, Microsoft, WordPerfect, and Novell all became
  317. world leaders in the software publishing industry on the strength of
  318. their products. None of these companies needed patents to secure
  319. funding or maintain their market position. Indeed, all made their
  320. fortunes before the current explosion of software patents began.
  321. Clearly patents are not necessary to ensure the development of
  322. computer programs. And for those who want more control over what they
  323. see as their property, the computer industry has already adopted two
  324. other systems: copyright and trade secrecy.
  325.  
  326.   Today, nearly all programs are copyrighted. Copyright prohibits the
  327. users of a software program from making copies of it (for example, to
  328. give to their friends) without the permission of the individual or
  329. company that licenses the program. It prevents one company from
  330. appropriating another company's work and selling it as its own. But
  331. the existence of a copyright doesn't prevent other programmers from
  332. using algorithms or techniques contained in the program in their own
  333. work. A single software technique can be implemented in different ways
  334. to do totally different jobs; copyright only prohibits appropriating
  335. the actual code that a particular programmer wrote.
  336.  
  337.   In general, copyrighting and patenting are thought to apply to very
  338. different kinds of material: the former to the expression of ideas,
  339. and the latter to a process that achieves a certain result. Until just
  340. a few years ago, computer algorithms and techniques were widely seen
  341. as unpatentable. And as Harvard University policy analyst Brian Kahin
  342. notes, this is the first time in history that an industry in which
  343. copyright was widely established was suddenly subjected to patenting.
  344.  
  345.   Indeed, without conscious action by Congress or the Supreme Court,
  346. the most fundamental rule of software publishing--if you write a
  347. program, you own it--will change. The new rule will be that you might
  348. own what you write--if it is so revolutionary that it owes nothing to
  349. any previous work. No author in areas other than software is held to
  350. such an unrealistically high standard.
  351.  
  352.   The U.S. patent system was created because the framers of the
  353. Constitution hoped that patents would discourage trade secrecy. When
  354. techniques are kept secret for commercial advantage, they may never
  355. become available for others to use and may even be lost. But although
  356. trade secrecy is a problem for software, as it is for other fields, it
  357. is not a problem that patents help to correct.
  358.  
  359.   Many of the useful developments in the field of software consist of
  360. new features such as the automatic correction and abbreviation
  361. expansion feature in XyWrite III Plus. Since it is impossible to keep
  362. a program's features secret from the users of the program, there is
  363. no possibility of trade secrecy and thus no need for measures to
  364. discourage it. Techniques used internally in a software system can be
  365. kept secret; but in the past, the important ones rarely were. It was
  366. normal for computer scientists in the commercial as well as the
  367. academic world to publish their discoveries. Once again, since secrecy
  368. about techniques was not a significant problem, there is little to be
  369. gained by adopting the patent system to discourage it.
  370.  
  371.   The place where trade secrecy is used
  372. extensively in software is in the "source code" for programs. In
  373. computer programming, trade secrets are kept by distributing programs
  374. in "machine code," the virtually indecipherable translation of
  375. programming languages that computers read. It is extremely difficult
  376. for another programmer to glean from a machine-code program the
  377. original steps written by the program's author. But software patents
  378. haven't done anything to limit this form of trade secrecy. By
  379. withholding the source code, companies keep secret not a particular
  380. technique, but the way that they have combined dozens of techniques to
  381. produce a design for a complete system. Patenting the whole design is
  382. impractical and ineffective. Even companies that have software patents
  383. still distribute programs in machine code only. Thus, in no area do
  384. software patents significantly reduce trade secrecy.
  385.  
  386.  
  387. Reversing direction
  388.  
  389. Many policymakers assume that any increase in intellectual property
  390. protection must be good for whoever works in the field. As we've tried
  391. to show, this is assuredly not the case in the field of computer
  392. programming. Nearly all programmers view patents as an unwelcome
  393. intrusion, limiting both their ability to do their work and their
  394. freedom of expression.
  395.  
  396.   At this point, so many patents have been issued by the Patent and
  397. Trademark Office that the prospect of overturning them by finding
  398. prior art, one at a time, is almost unthinkable. Even if the Patent
  399. Office learns to understand software better in the future, the
  400. mistakes that are being made now will follow the industry into the
  401. next century unless there is a dramatic turnaround in policy.
  402.  
  403.   The U.S. Patent and Trademark Office recently established an
  404. Advisory Commission on Patent Law Reform that is charged with
  405. examining a number of issues, including software patents--or what it
  406. prefers to call patents on "computer-program-related inventions."
  407. Unfortunately, the commission's subcommittee on software does not
  408. include any prominent software industry representatives who have
  409. expressed doubts about software patents. But the subcommittee is
  410. required to consider public comment. The commission's final report is
  411. not due until August 1992, so there is still time to make one's voice
  412. heard.
  413.  
  414.   Although influencing the Patent Office might produce some benefits,
  415. the really necessary reforms are likely to come only through
  416. intervention by the Supreme Court or Congress. Waiting for Court
  417. action is not the answer: No one can force the Supreme Court to rule
  418. on a relevant case, and there is no guarantee that the Court would
  419. decide to change Patent Office practice or to do anything about
  420. existing patents. The most effective course of action, therefore, is
  421. to encourage Congress to amend the patent law to disallow software
  422. patents and, if possible, invalidate those that have already been
  423. awarded. The House Subcommittee on Intellectual Property and the
  424. Administration of Justice, chaired by Representative William J. Hughes
  425. (D-N.J.), should take the lead by scheduling hearings on the subject
  426. and calling for a congressionally sponsored economic analysis of the
  427. effect of software patents on the industry.
  428.  
  429.   The computer industry grew to be vibrant and healthy without
  430. patents. Unless those who want software patents can demonstrate that
  431. they are necessary to the health of the industry, Congress should feel
  432. justified in eliminating this barrier to innovation.
  433.  
  434.   
  435.  
  436.   
  437.  
  438. Recommended reading
  439.  
  440. Brian Kahin, "The Software Patent Crisis," Technology
  441. Review (April 1990): 53-58.
  442.  
  443. Mitchell Kapor, Testimony at Hearings before U.S. House of
  444. Representatives, Subcommittee on Courts, Intellectual Property and the
  445. Administration of Justice, of the Committee on the Judiciary (March 5,
  446. 1990).
  447.  
  448. Pamela Samuelson, "Benson Revisited: Should Patent Protection Be
  449. Available for Algorithms and Other Computer Program-Related
  450. Inventions?" Emory Law Journal
  451. (Fall 1990): 1025-1154.
  452.  
  453. Pamela Samuelson, "Should Program Algorithms Be Patented?"
  454. Communications of the ACM (August 1990):
  455. 23-27.
  456.  
  457.   
  458.  
  459.  
  460. Simson Garfinkel is a senior editor at NeXTWORLD magazine (San
  461. Francisco) and the coauthor of the book Practical UNIX Security.
  462.  
  463. Richard M. Stallman is one of the founders of the League for
  464. Programming Freedom (Cambridge, Massachusetts) and the recipient of
  465. the Association for Computing Machinery's Grace Hopper Award.
  466.  
  467. Mitchell Kapor, a founder of the Lotus Development Corporation, is
  468. president of the Electronic Frontier Foundation (Cambridge,
  469. Massachusetts).
  470.  
  471.   
  472.  
  473.  
  474.  
  475. Quotes:
  476.  
  477.  
  478. The Patent Office is carving up the intellectual domain of computer
  479. science and handing little pieces to any company that files an
  480. application.
  481.  
  482.   
  483.  
  484. The most effective course of action is to encourage Congress to amend
  485. patent law to disallow software patents.
  486.  
  487.