The Case for Government Promotion of Open
Source Software

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.

"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.