The Case for Government Promotion of Open Source Software

Private and Public Advantages

Open source software has several distinct advantages over proprietary software. As described above, the widespread peer review process involved in open source development creates software which is more error-free and resource-efficient than proprietary software. In addition, OSS is a must for security-critical applications. As computer security expert Bruce Schneier points out, true security is never achieved by attempting to conceal any security defects that a program may have, but rather by allowing anyone interested to seek out these flaws and eliminate them.[14] Open source software makes this possible. Many government agencies will not use a piece of software in a security-critical application unless the agency itself can examine the source code for flaws; in the case of proprietary software, this often means difficult and costly negotiations allowing the agency access to the source code. If open source software is available to fill such a need, source code is available at no extra cost to the government, and in many cases the software is already more secure.

These advantages to the individual customer which are provided by open source software obviously benefit government users as well. Low cost, reliability, security, and the ability to modify software to suit specific needs are all important priorities to government purchasing authorities. However, these benefits do not make a case for specific government action to promote OSS. In Raymond's words,

"The open-source culture will triumph not because cooperation is morally right or software "hoarding" is morally wrong, ...but simply because the closed-source world cannot win an evolutionary arms race with open-source communities that can put orders of magnitude more skilled time into a problem."[15]

However, the widespread use of OSS would benefit the U.S. economy as a whole in several ways, and it is for these reasons that government policy which facilitates and promotes open source software development would serve a public good, and is therefore a justifiable and beneficial government endeavor.

The first public benefit of OSS is that it eliminates the economic loss which results from duplicated work. The vast majority of all code (a standard estimate is 75%)[16] written for a specific task by a single company, government agency, or military branch, and is never used for any other purpose. Many problems in computer engineering show up in multiple fields and applications. If a private company creating software for scientific research, for example, must spend its cash and programmer time to create a specific tool from scratch when a military research facility has already written software which performs the same function, economic waste occurs which hurts U.S. productivity as a whole. If source code developed for a specific government application is made publicly available, corporations can spend their resources to improve this software, add value, and find new markets for it, rather than recreating it from scratch. The reverse is true as well: government and military agencies could use source code developed by corporations at no cost, allowing huge savings in government procurement and R&D expenditures.

Another area which the government has already identified as a public interest is working to solve the Year 2000 (Y2K) problem. This refers to the errors which may occur when many computer systems' clocks reach January 1, 2000. Since many important systems store years by their last two digits only, these systems will read 2000 as 1900. This could cause many critical computer systems at banks, hospitals, and in government, to stop working, with the potential for catastrophic failure. President Clinton and Congress have taken an interest in working to prevent such failures, including the passage of legislation which allocates funds to the solution of the problem and encourages private companies to begin working towards a solution as well.

If more computer systems utilized open source software, a solution to the Y2K problem would be much simpler and less expensive. This is because the Y2K problem is uniquely suited to solution by an open source effort -- the problem is extremely widespread but each individual solution is simple. For many programs, solving the problem requires a programmer to find each reference to a date and each calculation performed on dates, and expand it to allow for four-digit year references. The difficulty is finding all references to the date in very large programs. Doing so requires a massively cooperative effort to see that no reference is overlooked. If software is proprietary, the number of people with access to source code, and therefore the number of people available to find and correct all date references, is severely limited. With open source software, on the other hand, an almost unlimited group of programmers can share this work, allowing for a much more effective solution. In addition, access to source code allows a government agency or company to verify for itself that Y2K problems have been solved, without having to trust the manufacturer's claims.[17] Because the solution to the Y2K problem is easy in the context of open source development, almost all commercial quality open source software on the market today, such as the Linux operating system, is already Y2K-ready.

Perhaps the most compelling reason why the promotion of open source software serves a public good is that OSS is inherently anti-monopolistic, and may serve as an effective antidote for the monopolistic tendencies which some economists believe exist in the software industry. The market for computer operating systems and other key applications is currently dominated by the Microsoft Corporation. In its ongoing antitrust lawsuit against Microsoft, the Justice Department has claimed that Microsoft is using illegal methods to maintain and extend its monopoly in a way which hinders competition and stifles innovation[18].

Economist Brian Arthur theorized that the phenomenon of network externalities (also called "increasing returns") creates monopolies in high-tech industries and allows inferior products to maintain market dominance at the expense of consumers. In software, according to his theory, "there is no presumption...that superior technology wins."[19] Network externalities means that the value of a product increases with the number of people using it. This is often true in software, since the more people using a particular operating system, the more incentive developers have to write applications for that operating system and not others, which in turn reinforces the market dominance of the operating system. A small initial advantage can lead to a virtually unbreakable monopoly.[20] This phenomenon can also occur in other product relationships besides the operating system-application relationship, such as software which interacts over a network using a particular protocol.

Monopoly control through network externalities depends on keeping the underlying structure of software, and the details of how it interacts with other software, a secret. Because only Microsoft has access to and control over the software interface through which application programs interact with the Windows operating system, it would be nearly impossible for any other company to design an operating system which could run programs designed for Windows. Microsoft's exclusive control of the Windows programming interface is what has allowed it to exclude other operating system competitors, such as IBM's OS/2. The open source operating system Linux, on the other hand, does not allow this sort of monopolistic exclusion. Because the source code of Linux is open and freely available, anyone can distribute Linux or write another operating system which can run Linux application programs. Thus, application developers would have no need to favor a particular operating system manufacturer, and the cycle of monopoly "lock-in" would be broken. Even if Linux captured a majority of the market for operating systems, no single company would be able to erect barriers to competition. In fact, there are several companies and organizations developing professional-quality Linux systems, and the vast majority of software written for any of these systems will run on any other.

Microsoft is well aware of how OSS eliminates monopoly power. In the "Halloween Document," the internal Microsoft memo previously mentioned, Microsoft technician Vinod Valloppillil observes that:

"OSS poses a direct, short-term revenue and platform threat to Microsoft... Additionally, the intrinsic parallelism and free idea exchange in OSS has benefits that are not replicable with our current licensing model and therefore present a long term developer mindshare threat."[21]

Valloppillil also acknowledges that OSS prevents monopoly control because it guarantees the availability of open protocols for software interaction. "Linux can win," he says, "as long as services/protocols are commodities,"[22] referring to the open communications standards which Linux uses.

Government, through the Justice Department and other agencies, is already committing resources to correct the apparent problems caused by monopoly power in the software industry. A program of OSS promotion and encouragement would be a cost-effective contribution to this effort.

Next: Recommendations for Government Action