Software Patents: The Genie out of the Bottle
Up until the 1980s, the United States Patent and Trademark Office (PTO) maintained that software could not be patented because it considered software to be extensions of mathematical algorithms. However, in a legal case called Diamond v. Diehr, the United States Supreme Court ordered the PTO to grant a patent on an invention even though computer software was utilized. In that case, the invention related to a method for determining how rubber should be heated in order to be best "cured." The invention utilized a computer to calculate and control the heating times for the rubber. However, the invention (as defined by the claims) included not only the computer program, but also steps relating to heating rubber and removing the rubber from the heat. The Supreme Court stated that in this case, the invention was not merely a mathematical algorithm, but a process for molding rubber, and hence was patentable. This was true even though the only "novel" feature of this invention was the timing process controlled by the computer.
Subsequently, throughout the 1980s and 1990s, the PTO struggled with developing guidelines for software patents until 1995 when it released its current guidelines.
However, in Europe the conditions under which a software patent may be granted have been traditionally more stringent. European patent law is currently defined by an agreement signed in 1973 called the European Patent Convention (EPC), and under this law only inventions may be patented. Exactly what an invention is has been a poorly defined concept, but the EPC specifically excluded mathematical methods, intellectual methods, ways of doing business, ways of presenting information and--specifically--computer programs. Nonetheless, after the 1981 United States Supreme Court ruling, the European Patent Office (EPO) began granting software patents, issuing more than 30,000 by 1986. However, compared to the U.S. PTO guidelines, the EPO guidelines are still more rigorous, because they limit the patents to software that is used in a business or industrial setting.
These days, the EU is trying to decide whether to consider loosening those restrictions to follow the US PTO lead. Of particular concern is a document proposed by the W3C that seeks to prevent undue litigation for companies that use software technologies across the Internet. This document is called the Royalty-Free Patent Policy.
The Germination of the Royalty-Free Patent Policy
Consider the case of XyQuest, back in the 1980s. XyQuest had developed a very popular and powerful word processing program called XyWrite that offered users unparalleled capabilities to edit and manipulate ASCII text files. Its primary competitors at that time were Microsoft Word and WordPerfect--each of which used their own proprietary file formats. XyWrite was so powerful that IBM approached XyQuest with a proposal to distribute XyWrite under the brand name of Signature. Signature was touted to become the IBM standard word-processing solution because it would work seamlessly with all of IBM's products and still meet all of IBM's requirements to be compatible with its own IBM Office word-processing offerings. However, there was a slight hitch in the negotiations.
When news of IBM's interest in XyQuest was announced, XyQuest was sued by a company called Productivity Software. Productivity Software had previously been granted a patent (U.S. Patent 4,777,596) for technology that minimized data entry keystrokes, a particularly important market niche in the 1980s. Unfortunately, the XyWrite word processor used a software technique that gave the user the ability to accept an abbreviation or correct a spelling error by simply hitting the space bar. This, Productivity Software claimed, was an infringement of its legally granted patent, and it wanted in on the IBM action.
XyQuest tried to license the technique from Productivity Software, but when negotiations failed--forcing XyQuest to remove the function from its product--IBM backed away from the Signature product. Signature never really made it into the marketplace, XyWrite continued to lose share in the marketplace to Microsoft and WordPerfect, and XyQuest finally succumbed when its investors sought more profitable climes. In the wake of this mini-disaster, software vendors suddenly took notice, and they started to be concerned about the impact that software patents might have on their own products.
Now fast-forward through the 1990s and the rise of the Internet to today, when patented, popular, and powerful software technologies such as XML and SOAP are in everyone's lexicon. Suddenly, software vendors are facing an incredibly difficult challenge: to build products that are derivatives of patented international standards. In this 21st century environment of interconnected products, it's clear that vendors can't be left exposed to potential claims of patent infringement without some legal framework for protection. Thus, in October of 1999, the W3C began work on something that it called the W3C Patent Policy Framework. This document, in various draft forms, continued to evolve into today's most important conceptual legal construct: the Royalty-Free Patent Policy.
What Is the Royalty-Free Patent Policy?
The Royalty-Free Patent Policy envisions a mechanism by which software developers who are members of the W3C can register the patents that have been granted to their intellectual property so that they can be freely used by other members of the W3C. In other words, by becoming a member of the W3C club, software vendors and developers will have access to a demilitarized zone where they will be substantially protected from lawsuits stemming from patent infringement. W3C members would not have to pay royalties or licensing fees if, by accident or design, their products used technologies "owned" by other members.
However, in order to make this DMZ work across international legal boundries, it's important that the patent laws of the EU more closely resemble the less-strict patent requirements of the United States. Thus, as the EU considers the W3C's proposed policy, there is substantial debate about whether the Royalty-Free Patent Policy is in the best interests of competition and innovation.
Free for Whom? GNU's Complaint
Across the spectrum of software developers, there is substantial disagreement about whether software patents are necessary or are--in practice--actual obstacles to competition and innovation. Numerous Web sites exist condemning the practice, the laws, the courts, the companies, and the governments that have "caved in" to the wranglings of intellectual property lawyers. These objecting entities often see the impact of software patents akin to the English Acts of Enclosure that once threw the English commoners off their homesteads between 1750 and 1810, paving the way for the Industrial Revolution. One might suppose then that the Free Software Foundation--the driving force behind the GNU/Linux License--would be equally opposed to software patents. After all, software patents seem to go against everything that the GNU Project represents.
However, the FSF has been extremely active in attempting to reconcile the interests of its members (which include some of the big names in software) with the spirit of its founding tenets. First of all, the FSF is involved because software patents are a reality and software licensing constructions like the GNU General Public License are something of an anomaly that need to be protected. But more importantly, the FSF seeks to maintain the community that fostered products such as Linux. Consequently, the FSF's chief complaints with the Royalty-Free Patent Policy are twofold and highly technical.
First of all, under the Royalty-Free Patent Policy, there are restrictions that would limit the size and scope of the public community that would have access to the patents. But secondly--and more critically from the FSF's point of view--the underlying provisions of the Royalty-Free Patent Policy prohibit the free distribution of products that contain the patented technologies. Such distribution is exactly what the GNU Project is about: free distribution of software! Software like the Linux operating system itself! And without such free distribution, the primary means of market distribution for GNU software is gone, prohibited, and subject to patent infringement claims.
For these reasons, GNU says "GNo!" to the final draft of the Royalty-Free Patent Policy. Such a policy--though protecting the rights of commercial software vendors--drives a stake into the heart of the open-source movement that has been driving the development of the Internet for the last five years.
IBM and Linux: Software Free for Royalty Alone
Of final note is IBM's perspective on the whole debate on software and technology patents. On the one hand, IBM is an important implementer of Linux and a significant contributor to the open-source movement of software. On the other, IBM has--for nine straight years--been the leading recipient of technology patents from the United States, with over 3,000 registered in 2001 alone. Is IBM supporting the W3C Royalty-Free Patent Policy? You bet your life! Will it throw its weight behind the FSF's concerns? Probably not! Will this shift in the wind direction impact IBM's support of Linux and other GNU-sponsored software? Of course not! IBM will undoubtedly take advantage of any free technology that comes its way, modify it to meet its purposes, and then attempt to market it as its own solution. And who knows? Perhaps some new patents will be the result along the way.
On the other side, however, is the question of the FSF and the GNU Project itself. If the EU embraces the W3C proposal for royalty-free patents, we will perhaps be entering a new era in which patents will be free to royalty alone, enclosing the software marketplace and relegating the open-source movement to back alleys and flea markets. If, on the other hand, the EU determines that the current software patent mechanisms are sufficient, the legal wranglings between development companies will probably end up employing more lawyers than developers.
Where this is leading the EU and the software development community is now completely up in the air. If you have thoughts or comments, please pass them along in our forums. How the developer community responds to the current proposals will undoubtedly have an impact on the quality and the cost of software products our organizations use.