(by Gordon Irlam and Ross Williams)
CAVEAT: Most companies are now being forced to apply for software patents for defensive purposes. The League does not advocate that such companies cease applying for such patents; nor does it advocate that they unilaterally dismantle their software patent portfolios.
NOTE: This document is large because it contains many appendices containing supporting material. The main text can be read in less than twenty minutes.
TABLE OF CONTENTS ================= 1. THE THREAT POSED BY SOFTWARE PATENTS 2. WHAT MAKES SOFTWARE DIFFERENT? 2.1 Software is More Complicated 2.2 Software is More Abstract 2.3 Software Technology Evolves Rapidly 2.4 Software Doesn't Wear Out 2.5 Software has Different Economics 2.6 Software is Successful Because of Market-Driven Properties 3. THE PROBLEM OF SOFTWARE PATENTS 3.1 Problems Developing Software 3.2 Problems in the Courts 3.3 Problems in the Patent Office 4. THE EFFECT OF SOFTWARE PATENTS 4.1 Current Corporate Behavior 4.2 Patents as a Selection Effect in Corporate Evolution 4.3 The Future 4.4 A Question of Economics 5. OPTIONS FOR THE GOVERNMENT 5.1 Options 5.2 An Invitation APPENDIX A: WHAT IS A PATENT? APPENDIX B: EXAMPLES OF SOFTWARE PATENTS B.1 Word Processors B.2 Spreadsheets B.3 Operating Systems B.4 Compilers B.5 Miscellaneous APPENDIX C: EXAMPLES OF SOFTWARE PATENT DISPUTES APPENDIX D: NEGATIVE CORRELATION OF INNOVATION AND SOFTWARE PATENTS APPENDIX E: OPPOSITION TO SOFTWARE PATENTS APPENDIX F: ORACLE'S POLICY ON SOFTWARE PATENTS APPENDIX G: MITCH KAPOR'S CONGRESSIONAL TESTIMONY APPENDIX H: ABOUT THE LEAGUE FOR PROGRAMMING FREEDOM APPENDIX I: ABOUT THIS DOCUMENT
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Welcome to Patent Adventure V3.4. - All Rights Reserved 1994. ------------------------------------------------------------------- You are the CEO of AcmeSoft - a fairly successful software company. You are at your desk. Suddenly the fax machine rumbles... Command> READ FAX It's from SharkTech! They're claiming that your company's product "Acme Professional" violates their software patent "Distinguishing Nested Structures by Color". They want 1% of your wholesale price in royalties. Command> GIVE ROYALTIES Now they want 5%. Command> GIVE ROYALTIES That satisfied them. Hmmm, the fax machine is humming again. It's from ParaTech! They're claiming your company's product "Acme Professional" assigns clients to whichever server process is least busy, and as a result want 3% of your wholesale price in royalties. Command> IGNORE THEM ParaTech have decided to take you to court. Do you want to settle for 10%, pay $800,000 in legal fees, or circumvent the patent? Command> CIRCUMVENT Your programmers say they can't circumvent the patent without hurting performance --- causing you to lose you 30% of your customer base. Do you want to circumvent? Command> CIRCUMVENT You've lost 30% of your customers! The fax machine is going again. This time it's from MeanTech. They're claiming your company's product "Acme Professional" violates their software patent on storing document images on a CD ROM along with an automatically generated index, and because they are a competitor, they do not want a royalty. They want you to remove the violating code or stop shipping the product. What do you wish to do: 1) Ship 400 floppy disks instead of one CD ROM. 2) Go to court. 3) Stop shipping the product. COMMAND> GO TO COURT Legal fees are $600,000. Current funds are $400,000. You've gone broke! Do you want to play Patent Adventure again?> DEFINITELY NOT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -While the above scenario is fictional, it is far closer to the current situation than many in the software industry realize. In reality:
The reason is that software isn't just something new. Software is something fundamentally different. Abstract and slippery, it doesn't conform to the ordinary constraints of the real world of objects. The nature of software has created not only a different kind of intellectual challenge, but a different kind of industry with its own particular economic structure. To this is being applied a 200 year old patent system. The following section describe the special properties of software that make the application of the patent system inappropriate.
In computer programming our basic building block, the instruction, takes less than a microsecond, but our program may require hours of computation time. I do not know of any other technology than programming that is invited to cover a grain ratio of 10^10 or more. The automatic computer, by virtue of its fantastic speed, was the first to provide an environment with enough `room' for highly hierarchical artifacts. And in this respect, the challenge of the programming task is without precedent.This capacity for complexity is a great strength because it permits the creation of highly sophisticated products. But it also means that most products, simply by their very complexity, are dependent on a vast range of software technologies.--- E. W. Dijkstra, A Discipline of Programming, 1976.
In most other industries, a product will contain perhaps twenty parts. In the case of sophisticated consumer goods, such as video cameras, we could raise this to 1000 parts. Nevertheless, the constraints of the real world ensure that the complexity of the product cannot become too great. Software, however, is essentially free from these constraints. A major computer program can comprise anywhere from 100,000 to 10 million lines of code. In most other industries a product will involve technologies covered by just a few patents. In the software industry, a product can contain thousands of inventions, any of which might be patented.
For instance, even when buying something as mundane as a word processor, you might be able to choose between a word processor with built-in spelling checker, ability to format multi-column text, and an outline editor; a word processor with proportional fonts, an equation editor, and kanji capabilities; and a word processor that has style sheets, a page previewer, and document interchange facilities. And this is only the start. When you look closely you will find that each word processor actually incorporates thousands of different user visible features. Tens of thousands more features exist inside that are visible only by a programmer. The total number of features contained in something as simple as a word processor is enormous. Thus, patents make the legal risks and expenses associated with developing even well understood software frightening.
In most industries patent searches are fairly easy to perform and provide fairly solid results. Patents are typically targeted at a particular product in a particular industry, and as such can be readily classified. For example, a typical patent title might be "Method for increasing grain throughput in a combine harvester by means of an air-forced hopper".
In contrast, the nature of software means that much of it is very abstract. As a consequence, software patents are often abstract even though their titles can sound specific. For example, patent #5,175,857, "System for Sorting Records Having Sorted Strings Each Having a Plurality of Linked Elements Each Element Storing Next Record Address" has a rather specific-sounding title, but is in fact a rather broad patent covering a well-known algorithm called "Quicksort" when implemented using a linked list. Sorting is a fundamental building block of software, and its implementation using linked lists could be performed by any programmer working in any area of software development --- without the programmer even being conscious he had accidentally "invented" anything. The "Quicksort" algorithm and linked lists both appear in one form or another in many undergraduate Computer Science textbooks.
The complexity of software means that it is dependent on many technologies. The abstraction of software means that it is hard to classify these technologies, so there is a combinatorial explosion of potential patent coverage which removes any kind of certainty about what is patented and what is not. The result is that:
These are not questions that can be incorporated into the smooth everyday running of a business. They are not questions comparable with concerns about tuning advertising or production inefficiencies. Rather these are issues that can kill products stone dead and destroy companies.
The penalties for patent infringement can be severe. The most famous case was Polaroid v. Kodak in which damages amounted to $900 million - with a further $500 million reportedly being spent by Kodak buying cameras back from consumers. More recently:
... a US District Court jury in California awarded $1.2 billion in damages based on the company's claim that Honeywell, which developed the first laser gyros in the 1960s, had subsequently and "willfully" appropriated a special process Litton patented in 1978 for coating the instruments' high-precision mirrors.--- Photonics Spectra, October 1993.
One consequence of this rapid change is that research is galloping ahead of development. Most industries could be considered to be "waiting" for new ideas. In most industries it costs more money to come up with and evaluate suitable ideas than it does to bring them to market. In contrast, the software industry is completely overloaded with new ideas and innovations. In software, the costs are reversed: it's easy to come up with new ideas, but very difficult to develop products. The idea behind most software patents can be coded in just 20 lines of code, but any program incorporating that idea - along with many others - will be a thousand times larger. It is the writing of a program that takes all the time, not coming up with ideas. The result is that the software industry is awash with innovation and it will take many many years for the industry to catch up, if ever.
This rapid rate of evolution means that those who are investing time creating and lodging patents are vastly outpacing those who are investing effort bringing such ideas to market. By the time an immature technology develops to the point where it can be incorporated into products, it has a dozen or more patents on it that render it commercially intractable.
The consequence of all this is that it is now difficult or impossible to produce new products in the software industry without violating numerous patents. The uncertainty that this introduces into the product development process has to be seen to be believed. The sight of personnel of massive software companies scrambling to rework their software so as to circumvent patents on trivial ideas that were in use twenty years ago, but not documented because they were too obvious, is now a sad reality.
However, this argument doesn't apply to software because software doesn't wear out. A computer program that is fully debugged will perform its function forever without requiring maintenance or modification. What this means is that unlike socks that wear out, and breakfast cereal that is eaten, a particular software product can be sold to a particular customer at most once. If it is to be sold to that customer again, it must be enhanced with new features and functionality.
The inevitable conclusion is that, even if the software industry approaches maturity, any software company that does not produce new and innovative products will simply run out of customers! Thus, the industry will remain innovative whether or not software patents exist. The need for a patent system to encourage innovation in mature industries doesn't apply to the software industry. A mature software industry is not going to gain any benefits from the patent system. And even exponents of software patents, such as Paul Heckel, admit that during the early stages software patents will retard the industry.
To see the effect of the patent system on the economics of the software industry, let us model the product cycle in three stages: research, development, and production. The cost of each stage in relation to a product's total cost varies by industry:
Research Development Production -------- ----------- ---------- Pharmaceuticals Medium High Low to Medium Automobiles Medium Medium Huge Aircraft Medium High High Software Tiny Huge LowSoftware has a very low research cost because development has not been able to keep up with research, and there are thousands of ideas just waiting to be exploited. Also, a core idea often requires just a few lines of code to implement.
Software has a high development cost because it takes a lot of human effort to write production-quality software. An important aspect of the software development cost is that it mostly consists of people's time. This means that somebody with nothing but a computer and a lot of time on his hands can develop software even though they do not have a lot of capital. Thus, while development is expensive, it is still accessible to the individual - at least for small products.
Depending on how much support is provided, software production costs are low. Each product consists of just a few floppy disks at $0.50 each and a manual which can be printed for less than $5. Typically software sells for in excess of $100.
Now consider the impact of the patent system on these various industries. The cost of patents is proportional to the development cost because it is the amount of stuff that you actually put in your product that determines how many different patents may be involved. In other industries, production costs dwarf development costs, and so the overhead of the patent system (on the development cost) is a minor component in the entire enterprise. However, in software the entire cost is development, and so the patent system represents an enormous cost to the industry. The auto industry would scream if the government affected production margins by just 1%. The software industry is being progressively slugged with what will be a far greater impediment, but so far has not reacted to the threat coherently.
The effect on large companies is that they will have to incorporate the patent process into their software development process, set up bulky legal divisions, get into the business of cultivating defensive patent suites, and perpetually negotiate royalty payments and settle lawsuits. For most big companies that focus on developing software, such action will for a time allow them to survive, for with enough broad and trivial patents in their suite they can threaten virtually anyone who threatens them. But they will also probably encounter companies THAT DO NOT DEVELOP SOFTWARE; that are demanding royalties with the gloves off! Because such companies have a distinct advantage when negotiating royalty licenses, it is likely that corporate evolutionary selection pressures will make them more numerous in the future.
Big companies will also experience difficulties with small companies that decide to use broad, but trivial, patents to defend market niches against legitimate competitors. A recent example is Stac Electronics, a small company making data compression software, who apparently bought a software patent from Ferranti in England so that they could prevent Microsoft from including a data compression feature "Doublespace" in MSDOS V6.0. This lawsuit was launched over a year ago, is still going, and has cost both sides huge amounts of money.
The effect of software patents on large companies is bad enough, but to a small company it can be crippling. Large companies may already have a legal infrastructure, but most small companies must rely on the advice of external professionals who charge what seem high rates. Large companies may for a time be able to accept patent lawsuits in their stride, but small companies can be wiped out by a single one - fair or not.
For many small companies, the prospect of being sued over a patent infringement EVEN IF THE CASE IS UNGROUNDED AND WOULD ULTIMATELY FAIL is so terrifying, that many companies choose to give all patents they know about a wide berth rather than risk the possibility of any kind of patent challenge. Patents and patent laws are so complex that even an ungrounded lawsuit may take a year to resolve, simply because it may be hard to prove quickly that the other side does not have a case. Meanwhile hundreds of thousands of dollars in legal fees will be spent, crippling the target software company.
Thus, whereas most large pharmaceutical and aerospace companies can afford to conduct ongoing patent battles to resolve the scope of various patents, the small players of the software industry cannot. As a result, they will attempt to steer well clear of patents, making the patents even more powerful than they were ever intended to be.
In summary, the marginal cost to produce software is very low. The value of that software in the marketplace is often very high. Therefore, if sufficient volume is attained, profit margins will also be very high. This is the main reason the software industry is able to attract venture capital, and is a reflection of the value the industry is delivering to society. Software patents, by introducing uncertainty and requiring the payment of unavoidable royalties, have the potential to destroy this leverage.
Whether a software program is a good one does not generally depend as much on the newness of a specific technique, but instead depends on the unique combination of known algorithms and methods. Patents should not protect such methods of innovation.Borland didn't invent compilers. Microsoft didn't invent operating systems. Novell didn't invent networking. Sun didn't invent Unix. Apple didn't invent the graphical user interface. Oracle didn't invent the database. It turns out that nearly all successful software companies have concentrated on constructing better implementations of already existing technologies. The market rewarded these companies because they provided the market with what it wanted: products, not ideas. These companies didn't have a horde of researchers working in obscure fields in the hope that one of them would discover something useful. In the software industry ideas are like air. The hard part is deciding which ideas to choose. The focus of these companies was on "doing it right" rather than on "doing it first" or "doing it differently". By allowing other companies to monopolize new technologies, patents strike at the very essence of the software industry's business philosophy.--- Oracle Corporation Policy on Software Patents (See Appendix F).
All of the above mentioned companies have relatively few software patents (see Appendix D). Furthermore the patents they do hold tend to have relatively narrow claims. For instance something like "enhanced error recovery in a network file system cache" rather than "image storage and retrieval system". This is a result of their focus on developing the right product at the right time, rather than on trying to be the first to leap into every new technology. Opportunities for mainstream software developers to obtain important software patents will be somewhat limited. Most companies don't spend their time thinking about what they can do that no one else has done before, but on which techniques to turn into products. Software patents will hurt successful companies because they will prevent them from doing what they do best: bringing technology to market, not because it is new, but because the time is right.
In summary, it is easy to be the first to develop a new software technology (such as desktop video). The hard part is to transform that technology into a useful product that solves a real customer need. By rewarding research companies rather than development companies, software patents harm an industry whose value is largely a result of development.
A similar situation probably exists for most other relatively new fields of software development: neural networks, hypertext, public key encryption, pen based computing, multimedia, "groupware", and so on.
This pattern is set to continue. Until they are eliminated, software patents will likely jam up development of all future new areas of software technology.
I'm not familiar with any type of litigation that is any more costly than patent litigation.Numerous software companies now find themselves facing threats or lawsuits relating to software patents. Indeed a large software company might face perhaps 5 or 10 such threats at any one time. As with most other legal matters, there is a tendency to try and keep such matters quiet, but occasionally they do spill over into public view. Examples of some known software patent disputes are contained in an Appendix C.--- R. Duff Thompson, VP and General Counsel, WordPerfect.
IBM has an extremely large software patent portfolio. Very little is known about how much different organizations have to pay to license it, but a large software company should probably be prepared to budget somewhere around $10 million per year. A small software company may need to budget anywhere up to 5% of gross revenues.
In addition to the threat from large companies, there is also the risk of threats from "independent inventors". Take Roger E. Billings, founder and first graduate of his own "International Academy of Science":
Novell Inc. is bracing for a battle that could be fiercer that anything the company has faced in the network software market. This battle will be in the courts, where both Novell and one of its largest customers will try to prove that a patent they are charged with infringing is not valid.The case is still in the courts. So far Billings has met with some success. Billings claims his patent #4,714,989 is for the concept of a "file server", however, the wording of the patent makes it difficult to know exactly what it covers. Irrespective of the merits of this case --- who invented what when --- just the possibility of 17 year patents on enabling technologies such as this will have a chilling effect on both the software and hardware industries.In a suit filed in U.S. District Court, Northern California, last December, Billings claims Novell's NetWare network operating system infringes his patent when used for distributed computing. Billings applied for the patent in February 1982, nearly a year before NetWare hit the market; he won approval in 1987 after twice being rejected by the U.S. Patent Office. Billings wants Novell to fork over royalties representing 8% of total NetWare sales through the trial date, or about $220 million.
--- Information Week, March 16, 1992.
While problems in the patent office may be interesting to talk about, we feel that fundamentally it is a secondary issue. The real problem with software patents has now become a legislative one. A legislative approach is now called for to resolve it.
"Lawyers are running around our industry asking people if they'd like to patent something," said Ken Wasch, executive director of the Software Publishers Association in Washington, D.C. "It's gotten worse than ambulance chasing, and we don't think it's a positive development."Most large software companies are by now well aware of the threat that software patents can pose to their business interests, and as a method of protection are attempting to build up "defensive" patent portfolios that can be cross-licensed with other large corporations.--- Chicago Tribune, March 20, 1989.
This provides protection against other large companies, but there seems little possibility for any sort of guaranteed protection against people like Roger Billings, who are probably not interested in signing a cross-licensing agreement. Against such people the future of these companies is very much at the mercy of the courts, and the amount of damages that they choose to award.
For the small software company it obviously is not possible to build up any sort of serious defensive portfolio. The small company has to be prepared to pay whatever license fee the big company demands --- or find a business other than developing software. It likewise needs to be prepared for the possibility of a bloody fight against another small competitor.
One anonymous vice president of a major software company crystallized his corporation's dilemma and consequent decision to register software patents, despite widespread unease within the company, by saying: "How does a just man live in an unjust world?"
It is a common nostrum that patents "protect" small companies from competition from bigger ones. In reality, it usually doesn't work that way. Normally, the largest companies own most of the patents, and use them to force other companies, both large and small, to cross-license with them. Roger Smith, Assistant General Counsel for IBM, explains how this works:
The IBM patent portfolio gains us the freedom to do what we need to do through cross-licensing -- it gives us access to the inventions of others that are the key to rapid innovation. Access is far more valuable to IBM than the fees it receives from its 9,000 active patents. There's no direct calculation of this value, but it's many times larger than the fee income, perhaps an order of magnitude larger.Thus, if a small company tries to use a patent to "protect" itself against competition from IBM, IBM can usually find patents in its collection which the small company is infringing, and thus obtain a cross-license. Besides which, if you are a small company, do you really want to try taking IBM to court?--- "Think" magazine, #5, 1990.
The need to take out "defensive" patents is likely to be detrimental to the overall profitability of the software industry. As shown in Appendix C, there is a strong negative correlation between a company's propensity to patent and its ability to bring to market innovative software --- software that proves itself capable of filling a real customer need.
To survive, software companies will need to de-emphasize developing new products to solve real customer needs and emphasize activities more likely to result in obtaining broad patents in newly emerging fields.
Companies that choose to develop and market significant products should expect and plan for suits alleging patent infringement. Having a large patent portfolio will prevent threats from competitors, but will only provide a limited defense against those that produce little in the way of products.
The resulting changes in the make up of the software industry won't happen overnight, but rather, over a period of perhaps ten years. A large company that chooses to continue to concentrate on producing only software will be able to keep doing so for quite a while. Eventually, however, it will find most future areas of technology restricted. Then, either as the result of a single calamitous award for damages, or the cumulative costs of the patent system, it will find it has become uncompetitive.
Such a vision is particularly alarming to the successful software company of today, the company that is skilled in building and bring products to market. See Appendix E for a list of some of the organizations and individuals that have voiced concern about the threat to the software industry posed by software patents.
Those that have few or no products to sell are likely to pose a serious threat to those that do.
An example of a successful software company of the future might be Public Key Partners. Instead of building and marketing a real product, it purchased the patent rights to a technology. It now collects royalties from companies capable of integrating and marketing products containing this technology.
Being property, patents can be bought and sold. Some companies specialize in acquiring and litigating patents. Such companies present another example of the software companies of the future.
Lastly we might see the software equivalent of Gilbert Hyatt. He files very broad patents relating to some emerging technology, contests the claims with the patent office for a significant period of time, and when the patent finally issues, attempts to collect sizable royalties for the next 17 years. See for example patent #4,942,516 originally filed in 1970, finally issued in 1990, and titled "Single chip integrated circuit computer architecture":
North American Philips Corporation ... today announced the signing of a license agreement for two portfolios of Hyatt's patents.Perhaps disturbingly, such people often tend to be viewed in the media and by juries, as being in some sense unsung heroes who have had their inventions misappropriated by "evil corporations". (Ford was recently ordered to pay $5 million dollars in damages to Robert Kearns for the patent he has on the intermittent windshield wiper.)The Computer-Related Patent Portfolio covers technologies including: fundamental single-chip microprocessor architecture; dynamic random access (DRAM) chip memory refresh techniques; intelligent keyboards for computers; techniques for creating random access memory (RAM) pages or blocks (for memory management purposes); computer-to-computer communication and serial communication, such as in networks or automobiles; and, control of machines by micro computers. In the case of the latter, machines include disk drives, printer control in PCs; tape control in camcorders and VCRs; and control of automobiles.
The LCD-Related Patent Portfolio covers technology including: LCD television displays; projection LCDs; shades of intensity and color for LCDs; high intensity illumination and thermal control for projection LCDs; and other related inventions.
--- PR Newswire, November 6, 1991.
royalties profits gained royalties profits lost by legal and other you + by impeding < you + being impeded + administrative receive competitors pay by competitors' costs with patents patentsFor companies whose focus is on building and bringing innovative software products to market the first and second of these five terms will be relatively small. The third term will be quite large due to the likes of IBM. It also has a large positive uncertainty because some individuals with patents but with no product of their own requiring cross-licensing may negotiate crippling royalty contracts. The fourth term is not yet large, but as more and more fundamental technologies are patented it will rise rapidly. Some areas of technology, such as data compression, are already intractable. The fifth term is relatively small for large companies, but a crippling overhead for small developers whose entire capital outlay may be less than $1 million. This last term consists entirely of destroyed wealth.
The major influence on the software industry will result from the competitive disadvantage suffered by those firms that choose to build software products to fulfill market needs, relative to those firms that choose to de-emphasize direct product development in favor of attempting to monopolize emerging software technologies.
A vision of the likes of Hitachi and IBM being in control of the software industry is particularly disturbing to those companies that are able to successfully build software products to meet customer needs. In addition, the industry is likely to be haunted by firms and individuals that produce little, but demand much.
On the flip side, of course, there are going to be benefits for those who register particular software patents. But given the almost nonexistent amount of research required to develop a patentable software idea, ownership of a software patent is more akin to winning a minor (or major!) lottery than a reward for years of research. Directing money towards these people will only be bad for the industry.
If software patents continue to be issued, software development will become expensive and dangerous, something like a trip through Jurassic Park. Action must be taken soon if corporate dinosaurs from the past are not to rule the earth again.
SOFTWARE PATENTS ARE CAUSING PROBLEMS!
SOFTWARE PATENTS WILL SIGNIFICANTLY HARM THE SOFTWARE INDUSTRY!
Here's why:
In the long run, past patents are a minor consideration. The growth rate of software patents means that the number of existing patents will eventually be dwarfed by the number filed in the future. The important thing is to stop any more software patents from being issued.
The League will be happy to provide clarification of any aspect of its testimony, or to provide any additional information that may be requested of it relating to software patents.
The League would also be happy to meet with the Commissioner (or nominee) to better discuss various aspects of the issues which it has raised. Information on the League, including how to contact it, is contained in Appendix H.
Lastly, the League realizes that the legislative changes it feels are most appropriate to solve the problems associated with software patents clearly fall outside the direct powers of the Commissioner. However, the League feels that through contact and interaction with the Commissioner it will best be in a position to assist the legislature in formulating an appropriate solution to the problem.
The League looks forward to the possibility of being able to work with the Commissioner on these matters.
Patent holders typically grant third parties license to use the invention in return for an agreed license fee or royalty. Licensing a patent does not automatically permit the licensee to produce the named invention. Frequently an invention will be covered by several patents and it is necessary to license each one.
A patent is obtainable by a third party for an improvement to an already patented invention just as readily as on anything else.
The patent office interprets the notion of what constitutes an invention very broadly. Important inventions and trivial applications are equally patentable. There is a requirement that prohibits the obtaining of a patent if:
... the subject matter taken as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains.However, this means exactly what it says: non-obvious. It does not mean the invention has to be in some sense above the norm, or in any way clever. The patent office takes the attitude that if something has never been built before, then presumably, the invention is non-obvious. This causes significant problems in the software industry due to the rapid rate of technological change.--- 35 USC 103.
Brian Kahin, at Harvard's Kennedy School of Government, states that the nature of what is considered to be an invention is "often at a level of abstraction that is shocking to the uninitiated". This point is central to any understanding of the workings and potential impact of the patent system on the software industry.
Patents are quite different from Copyright. Copyright merely covers a particular piece of writing. Patents cover the underlying idea. This document is copyrighted. This prevents you from being able to change or redistribute this document in ways the original authors dislike. If the authors were the first people to come up with the idea of writing a document on software patents, and it was possible to patent this idea, then they could prohibit you from writing and distributing your own documents on the subject of software patents.
There are at least three important vantage points from which the patent system may be considered:
Most people who deal with the patent system have some sort of legal background. It is not surprising then that the legal technicalities of the patent system gain the most study. For our purposes however the precise legal details of the patent system are only of marginal interest. Suffice to say patent legislation has a long history dating back to the English Statute of Monopolies of 1623. The U.S. constitution granted Congress the right to issue patents subject to certain constraints.
The economic rationale for the patent system is that on account of the appropriable nature of inventions it is necessary to grant patents so as to provide an incentive to invent. Economists tend to be slightly uneasy about the patent system on account of its ability to stifle competition.
Taking a business point of view, all that really matters about the patent system is the bottom line. Will the existence of fewer patents increase or decrease your profit margins? This is a difficult question to answer, but we believe that the patent system is detrimental to much of the software industry. The reasons for this are discussed in much more detail elsewhere.
While a few earlier examples can be found, essentially beginning in the early 1980's and in response to court decisions, the patent office started to grant patents on inventions that included software. Different companies realized this at different times and started submitting applications accordingly. It is fair to say that by 1990 most of the computing industry was well aware of this policy and had at least started submitting software patent applications. Since it typically takes 2-3 years for an application to be approved, it is only relatively recently that the full effects of this policy are becoming apparent.
Roughly, 2,000 software patents are issued each year. The total number of software patents in existence is probably around 10,000.
As a technical point, the patent office maintains that algorithms per se are not patentable. This is indeed the case, although for all practical purposes algorithms may as well be. An algorithm in the abstract is not considered patentable. However, an algorithm when used to solve some particular problem is considered patentable. Thus the "RSA algorithm" is not patentable, but "use of the RSA algorithm to encrypt data" is patentable. If it turned out that you suddenly decided you could use the RSA algorithm to produce a stream of random numbers you would not be infringing the RSA patent. This is however a very fanciful occurrence. For all practical purposes, such patents can be considered patents on algorithms.
The biggest news at Comdex this year was the announcement of the Compton's patent. Compton's, a spin off of Encyclopedia Britannica, claim their patent covers multimedia searching. Their announcement received a very hostile response from the press. Compton's had been threatening everyone in the industry with a 3% license fee before the Patent Office spontaneously decided to re-examine the patent. This decision must have been a result of all the media attention the patent was receiving. Other than that, there was nothing particularly unusual about this patent. Hundreds more equally broad software patents currently lie dormant in the Patent Office.
Lotus, Microsoft, and Ashton-Tate have all been sued by Refac, a litigation company, for a patent it acquired, #4,398,249, that contains a very broad claim covering "natural order recalculation" used in spreadsheets. Fortunately the case got thrown out on a legal technicality. The patent in question was filed in 1970, but wasn't issued by the Patent Office until 1983.
Paul Heckel has threatened Apple and IBM over patent #4,736,308 which he alleges is infringed by HyperCard and ToolBook respectively.
Cadtrak has collected large sums of money and successfully defended patent #4,197,590 on the concept of an "xor cursor".
XyQuest was forced to remove features from the latest release of the XyWrite word processor after being threatened by Productivity Software. Attempts to license the features proved unsuccessful as Productivity Software increased the fees every time XyQuest attempted to reach agreement.
Mark Williams Company has harassed various software companies over patent #4,956,809 on the (very fundamental) idea of a host independent network byte ordering.
AT&T is finding itself free to start exercising its muscle. It first threatened members of the MIT X consortium alleging that the X11 windowing system was in violation of patent #4,555,775 which it holds on the concept of backing store. AT&T is now suing MCI for alleged software patent infringement.
Novell is being sued for $220 million dollars by Roger Billings for infringing his patent #4,714,989 on the concept of a file server.
The fields of cryptography and data compression are essentially off limits to programmers on account of patents. Numerous companies have been forced to obtain licenses from Public Key Partners, which in turn purchased key patents from Stanford and MIT to create an outright monopoly on public key cryptography. Unisys has threatened people over a data compression algorithm that is also used in the popular Unix "compress" program.
Microsoft is being sued by Stac Electronics as a result of Microsoft's incorporation of transparent data compression in MSDOS 6.0. The main patent involved is #5,049,881.
Interestingly, approximately 12% of all software patents are owned by IBM (roughly 1,000), and no other companies come close (the importance of this being that Microsoft just paid $20,000,000 to license IBM's software patents). Other American companies with many software patents include ATT and the Bell Laboratories, Xerox and DEC, while Hitachi has the most patents by a Japanese company (roughly 450), along with Toshiba, Fujitsu, Fanuc, Sharp and Mitsubishi.The following constitute our best estimates of the number of software patents granted to various companies between 1990 and 1992 (the results appear similar to the above, though they are not identical):--- Gregory Aharonian, Communications of the ACM, January 1993.
Software patents granted 1990 - 1992 ------------------------------------ IBM 500 Fujitsu 50 Lotus 7 Hitachi 400 HP 50 Novell 1 AT&T/Bell 150 Sun 50 Borland 0 DEC 150 Unisys 30 NeXT 0 Toshiba 150 Apple 20 Oracle 0 Sharp 100 Texas Inst. 20 Pyramid 0 Xerox 100 Microsoft 13 SGI 0 Canon 70 Intel 10 Sybase 0 Motorola 70 Matsushita 9 Symantec 0 Wang 60 Adobe 8 WordPerfect 0 Total software patents granted (1990 - 1992): 5000 Entities with fewer than 5 s/w patents: 1000 Entities with 5 or more s/w patents: 60Because of the way patents are classified it is very difficult to gather accurate data on how many software patents exist. Also differences of opinion as to what precisely constitutes a software patent can also muddy things. The above data is indicative of the overall situation, but individual figures may have errors of anywhere up to 50%.
The above table tends to suggest a significantly negative correlation between the number of software patents granted to a company and its ability to bring innovative software products to market. Companies that form the backbone of the software industry: Microsoft, Adobe, Lotus, Novell, Borland, Oracle, and Sybase, have relatively few software patents, while companies that hardly market any software: Hitachi, AT&T, Toshiba, Sharp, and Xerox, have many.
As an example of this, consider Sun's Network File System, NFS, which Sun designed and developed, which was for its time a highly innovative product, and which went on to become the standard file service protocol throughout the Unix industry. Although far from conclusive, a search for the string "NFS" on a small database of some 2000 patent abstracts which one of the authors maintains turned up five patents assigned to IBM, one to Auspex, and none to Sun. This is despite the fact that Sun developed NFS, and the other two companies have engaged in no more than the most trivial of tinkering around the edges.
When asked to name some companies responsible for the production of innovative software, Hitachi isn't one of the companies most people immediately think of.
IBM has a very strong software patent portfolio. It is oversized even in proportion to the size of IBM itself. This is a result of IBM's patenting every single trivial idea every employee ever comes up with, rather than having any great propensity to be truly innovative. IBM has never been considered synonymous with innovative software. IBM even has a patent, #5,247,661, on a software application to permit employees to automatically document ideas for later patenting.
Fortunately, when IBM was being investigated for antitrust (some time ago) it issued a consent degree permitting the automatic licensing of its patent portfolio. As a result any one patent can be licensed for 1% of royalties, and the entire suite for 5%. In this regard the downsizing of IBM that is currently occurring is cause for considerable concern. If IBM ever feels free to start exercising its full powers, its patent portfolio could pose a considerable threat to the entire computer industry. It has already recently increased the fee to automatically license its entire suite from 3% to 5%. The possibility of IBM selling off various divisions or deciding to break up is also cause for concern. A worst case scenario as far as the rest of the computer industry is concerned would involve some or all of IBM's patents winding up in a company that produces few or no real products.
None of the hardware or software companies that collectively constituted the "microcomputer revolution" hold significant numbers of software patents. Companies such as Microsoft, Borland, Novell, Adobe, Lotus, NeXT, Intel, Apple, Sun, and SGI all have relatively weak software patent portfolios. These are the companies that have created wealth in the computer industry over the last ten years by developing new and innovative products. They are very much responsible for turning the industry into the vibrant place it is today. Without these companies, the software industry would be virtually nonexistent.
Between 1990 and 1992, software patents were granted to roughly 1,000 different people and organizations. This tends to confirm the theory that entities that individually play only a very small role in the overall software industry will be able to obtain patents on various key software techniques.
Pamela Samuelson, Professor at the University of Pittsburgh School of Law, and Brian Kahin, Adjunct Research Fellow at Harvard's Kennedy School of Government, are both speaking eloquently against the current patent office policy and practice of patenting software.
Surveys by organizations such as the Association for Computing Machinery show a strong opposition to software patents amongst its members. Many academic computer scientists are willing to speak out against software patents.
WordPerfect Corporation has expressed considerable concern regarding software patents. They currently receive an average of one letter a month alleging patent infringement and threatening legal action. This is probably not atypical for a large software corporation.
Mitch Kapor, the original founder of Lotus, recently attested before Congress as to the danger software patents pose (see Appendix G).
Phillipe Kahn, president of Borland International, is known to share similar concerns.
"I'm kind of scared about the climate for the next 10 years" says Dan Bricklin, coinventor of VisiCalc, the world's first electronic spreadsheet.
Jim Warren, founder of InfoWorld, is likewise equally strongly opposed to the patenting of software related inventions.
Oracle Corporation recently issued a detailed statement opposing the granting of patents on software (see Appendix F).
Autodesk is also about to issue a statement against software patents.
Oracle Corporation opposes the patentability of software. The Company believes that existing copyright law and available trade secret protections, as opposed to patent law, are better suited to protecting computer software developments.
Patent law provides to inventors an exclusive right to new technology in return for publication of the technology. This is not appropriate for industries such as software development in which innovations occur rapidly, can be made without a substantial capital investment, and tend to be creative combinations of previously-known techniques.
Even if patent law were appropriate for protection of software, due to the large volume of recently-granted software patents and the rising number of new applications, the current patent process would continue to be troublesome for the software industry. Software patent examinations are hindered by the limited capability of searching prior art, by the turnover rate among examiners in the Patent and Trademark Office, and by the confusion surrounding novelty and innovation in the software arena. The problem is exacerbated by varying international patent laws, which both raise the cost and confuse the issue of patent protection.
Unfortunately, as a defensive strategy, Oracle has been forced to protect itself by selectively applying for patents which will present the best opportunities for cross-licensing between Oracle and other companies who may allege patent infringement.
COMPUTER SOFTWARE POLICY ISSUES
The policy rationale for patent protection in many industries is understandable. In exchange for making an invention available to the public, inventors are rewarded with a seventeen-year monopoly giving them exclusive right to the new technology. In such cases, this opportunity to monopolize the commercial application of the invention is justified as an appropriate reward given the capital resources dedicated by the inventor to the invention, including time and money spent in innovation, production, distribution, etc.
This policy, however, does not fit well with the software industry. Unlike many manufacturing-intensive industries, the development of software requires a minimum of capital investment. Producing and distributing a product is simpler, faster, and less expensive in the software industry than in manufacturing sectors. New developments influential to the software industry frequently emanate from individuals and small companies that lack substantial resources.
Software varies from manufacturing in another key aspect. The engineering and mechanical inventions for which patent protection was devised are often characterized by large "building block" inventions that can revolutionize a given mechanical process. Software, especially a complex program, seldom includes substantial leaps in technology, but rather consists of adept combinations of many ideas. Whether a software program is a good one does not generally depend as much on the newness of a specific technique, but instead depends on the unique combination of known algorithms and methods. Patents should not protect such methods of innovation.
The U.S. software industry has evolved to a multi-billion dollar industry that leads the world in productivity, and accounts for substantial portion of U.S. GNP. The software industry has advanced the efficiency of other industries through the proliferation of computing and computer-controlled processes. All of these gains have come prior to the application of the patent process to software, and consequently without patent protection for software. There is no justification for a policy that would not only drain capital resources (which are better spent on software development) into patent applications and other legal fees, and also actually serve to reduce innovation by limiting the availability of previously-developed techniques.
In sixteen years, Oracle Corporation has grown from a start-up company with a handful of employees to the world's third-largest independent software producer employing 8,000 people. Oracle filed its first patent application in November 1991, not because it felt that its software was suddenly worthy of patent protection; it filed that application because of concerns that other inventors, afforded patent protection by a flawed patent system, might find themselves in a position to seriously weaken the Company's competitive edge by alleging patent infringement. Even if Oracle had developed a certain invention first and could produce the appropriate prior art to prove its case, thousands of dollars in attorneys fees and other expenses would be spent in defense of its rightfully-owned technology. Oracle consequently believes that it must have a patent portfolio with which to respond to potential aggressors, so as to settle with them by cross-licensing to avoid litigation. Oracle is forced to channel a significant portion of its financial resources into patent protection of its assets, rather than using those resources in further innovating and expanding its computer software products.
Copyright protection for computer software is sufficient to preserve the rights of software developers, who rely on the unique combination of algorithms and techniques to produce successful software programs. Copyright law, including relief from those who copy or distribute copyrighted works without permission, in combination with careful handling taken to preserve trade secrets, has afforded adequate protection to software developers against the losses they may encounter from the wrongful use of their software. Compared to adequate copyright and trade secret protections, patent protection is excessively broad and enormously expensive.
CHANGING THE PATENT SYSTEM
Oracle has recommended that patent protection not be provided for computer software or computer software algorithms, for the reasons described above.
If software continues to be protected by patent law, however, we recommend the changes described in the following paragraphs. These recommendations in no way endorse the use of patents for protecting software, but rather serve to assuage the existing problems if patents must ultimately affect software development.
Patent law should be consistent throughout the world and, if it is to be applicable to software, should extend for much shorter periods of protection than exist now, unified prior art searching capabilities, equal standards of novelty, the elimination of patent rules that allow "patent flooding," and identical standards for prior use restrictions (bar dates).
The evolution of software moves very quickly. The term of software protection should be cut back accordingly, from the current 17 years from grant date to three years from application date (the application period must be drastically reduced). A balance of fifty years protection for direct copying of code would continue to be provided by copyright law.
If the patent system is to remain an entrenched part of the software industry, then the following changes need to be made:
I want to thank the Committee for this opportunity to testify on some of the intellectual property questions surrounding software. This is an area that I personally find fascinating and provocative - so please excuse me if my testimony ends up leaving you with more questions than answers.
With no joke intended, software has been very, very good to me. I was fortunate enough to find a collaborator to craft an innovative piece of software called Lotus 1-2-3 - and that software evolved into both an industry standard and turned Lotus Development Corp. into one of America's most successful software companies.
Because it is impossible to know what patent applications are in the application pipeline, it is entirely possible, even likely, to develop software which incorporates features that are the subject of another firm's patent application. Thus, there is no avoiding the risk of inadvertently finding oneself being accused of a patent infringement simply because no information was publicly available at the time which could have offered guidance of what to avoid. Please, require publication of patent application within a short period of their filing.
The period of patent protection, 17 years, no longer makes sense in an era when an entire generation of technology passes within a few years. My recommendation would be to consider substantially shortening the length of protection.
Most importantly, it is my heartfelt belief that many of the increasing number of recently issued software patents, concerning, for instance, fundamental techniques and artifacts of user interfaces, should never have been granted in the first place because of their failure to qualify as either novel or non-obvious. Some patents appear to preempt automation of common functions such as footnoting. This to me is like allowing a patent on the round steering wheel. The breadth of claims being allowed in these matters, is, in the words of Brian Kahin, Adjunct Research Fellow at Harvard's Kennedy School of Government, "often at a level of abstraction that is shocking to the uninitiated."
If some future litigant is successful in upholding rights to one of these "bad" patents It will require expensive and time-consuming litigation, whose outcome is frankly uncertain, to defend the rights of creators which should never have been challenged in the first place. If I speak very bluntly here, it is only because I am deeply concerned that a single bad patent court fight with a negative outcome, like a major environmental accident, could have catastrophic effects. I don't think we can afford the risk.
"Look and feel" lawsuits attempt to monopolize well-known command languages; some have succeeded. Copyrights on command languages enforce gratuitous incompatibility, close opportunities for competition, and stifle incremental improvements.
Software patents are even more dangerous; they make every design decision in the development of a program carry a risk of a lawsuit, with draconian pretrial seizure. It is difficult and expensive to find out whether the techniques you consider using are patented; it is impossible to find out whether they will be patented in the future.
The League for Programming Freedom is an organization of over 600 software developers, business people, professors, students, and users dedicated to restoring the preexisting freedom to develop software. The League is not opposed to the legal system that Congress intended --- copyright on individual programs. Its aim is to reverse recent changes that run contrary to the public interest principles of the Constitution.
The League works to abolish these new monopolies by publishing articles, talking with public officials, working with companies, assisting in court cases, and serving as a point of contact.
The League may be contacted by phone: (617) 621-7084, by electronic mail: lpf@uunet.uu.net, or by post:
League for Programming Freedom
Version 1.3 of January 25, 1994. Copyright (C) Gordon Irlam and Ross N. Williams, 1994. Assistance: James Salsman, Lile Elam, and Paul Rubin. This document represents the opinions of the LPF. Reproduction of this document is permitted. Gordon Irlam Ross N. Williams League for Programming Freedom Rocksoft(tm) (415) 336-5889 +61 8 379-9217 gordoni@netcom.com ross@guest.adelaide.edu.auGordon Irlam is a software developer at Sun Microsystems. He is in the Systems Architecture and Performance group where he is currently developing a microprocessor simulator to gather data needed to help design future hardware. He is a member of the American Economic Association, has a personal interest in information economics, and has been observing software patent developments for over four years.
Dr Ross N. Williams is an independent consultant and software developer, specializing in the areas of data integrity and data compression. In addition to developing a data integrity product, Dr Williams has been working as a consultant to Microsoft on the Stac vs Microsoft software patent lawsuit.