Next: Bad for business Up: issues_en Previous: What's being patented?

Systems at odds

The traditional rationale for patents is that protection of inventions will spur innovation and aid in the dissemination of information about technical advances. By prohibiting others from copying an invention, patents allow inventors to recoup their investment in development while at the same time revealing the workings of the new invention to the public.

But there's evidence that the patent system is backfiring in the computer industry; indeed, the system itself seems unsuited to the nature of software development. Today's computer programs are so complex that they contain literally thousands of algorithms and techniques, each considered patentable by the Patent Office's standards. Is it reasonable to expect a software company to license each of those patents, or even to bring such a legally risky product into the marketplace? To make things even more complicated, the Patent Office has also granted patents on combinations of algorithms and techniques that produce a particular feature. For example, Apple was sued because its Hypercard program allegedly violates patent number 4,736,308, which covers a specific technique that, in simplified terms, entails scrolling through a database displaying selected parts of each line of text. Separately, the scrolling and display functions are ubiquitous fixtures of computer programming, but combining them without a license from the holder of patent 4,736,308 is now apparently illegal.

Another problem with patenting software is the amount of time it takes to do so. The two to five years required to file for and obtain a patent are acceptable if a company is patenting, say, the formula for Valium, which hasn't changed in more than 20 years. But in the software industry, companies that don't continually bring out new versions of their programs go out of business. Success for them depends on spotting needs and developing solutions as quickly as possible.

Unfortunately, conducting a patent search is a slow, deliberative process that, when harnessed to software development, could stop innovation in its tracks. And because patent applications are confidential, there is simply no way for computer programmers to ensure that what they write will not violate some patent that is yet to be issued. Thus XyQuest ``reinvented'' its automatic spelling-error correction system and brought the product to market between the time that Productivity Software had filed for its application and been awarded the patent.

Such examples are becoming increasingly common. In another case, the journal IEEE Computer in June 1984 published a highly efficient algorithm for performing data compression; unbeknownst to the journal's editors or readers, the authors of the article had simultaneously applied for a patent on their invention. In the following year, numerous programs were written and widely distributed for performing the so-called ``LZW data compression.'' The compression system was even adopted as a national standard and proposed as an international one. Then, in 1985, the Patent Office awarded patent number 4,558,302 to one of the authors of the article. Now Unisys, the holder of the patent, is demanding royalties for the use of the algorithm. Although programs incorporating the algorithm are still in the public domain, using these programs means risking a lawsuit.

Not only is the patent approval process slow, but the search for ``prior art''--the criterion the Patent Office uses to determine whether an invention already exists at the time of a patent application--is all but impossible to conduct in the realm of computer software. After more than 25 years, the Patent Office has not developed a system for classifying patents on algorithms and techniques, and no such system may be workable. Just as mathematicians are sometimes unaware that essentially identical mental processes are being used in separate areas of mathematics under different terminology, different parts of computer science frequently reinvent the same algorithm to serve different purposes. It is unreasonable to expect that a patent examiner, pressed for time, would recognize all such duplication. For example, IBM was issued a patent on the same data-compression algorithm that Unisys supposedly owns. The Patent Office was probably not aware of granting two patents for the same algorithm because the descriptions in the patents themselves are quite different even though the formulas are mathematically equivalent.

The search for prior art is complicated by the fact that the literature of computer science is unbelievably large. It contains not only academic journals, but also users' manuals, published source code, and popular accounts in magazines for computer enthusiasts. Whereas a team of chemists working at a major university might produce 20 or 30 pages of published material per year, a single programmer might easily produce a hundred times that much. The situation becomes even more complex in the case of patented combinations of algorithms and techniques. Programmers often publish new algorithms and techniques, but they almost never publish new ways of combining old ones. Although individual algorithms and techniques have been combined in many different ways in the past, there's no good way to establish that history.

The inability to search the literature thoroughly for prior art is crucial, because unless an examiner can find prior art, he or she is all but obligated to issue the patent. As a result, many patents have been granted--and successfully defended in court--that are not ``original,'' even by the Patent Office's definition. It was simply the case that neither the patent examiner nor the defendants in the lawsuit knew of the prior art's existence.

Some members of the commercial software community are now proposing the creation of a ``Software Patent Institute'' to identify software's prior art that existed before 1980. But even if such an institute could catalogue every discovery made by every programmer in the United States, it makes no sense to arbitrarily declare that only pre-1980 work is in the public domain. Besides, what would be the purpose? To allow the patenting of nature's mathematical laws?


Next: Bad for business Up: issues_en Previous: What's being patented?