The Law of Standards
by John F. Sowa
In 1991, while I was participating in some standards projects,
I sent an e-mail message to my colleagues, in which I formulated
the following hypothesis:
Whenever a major organization develops a new system as an official
standard for X, the primary result is the widespread adoption of
some simpler system as a de facto standard for X.
In the original statement, which is reprinted below,
I illustrated the hypothesis with four failed attempts
to develop widely accepted standards:
The failure of these attempts to establish new standards does not mean
that all standardization efforts are doomed to failure. On the contrary,
many successful standards have been established for computer systems
as well as everything from screw threads to grain sizes for wheat.
But the overwhelming majority of successful standards are clarifications
and revisions of interfaces that have proved to be effective without
the support of a major standards body. What has consistently failed are
the "proactive" attempts to design new systems from scratch that are
declared to be standard before anyone has had a chance to implement them,
test them, use them, and live with them. Some new systems succeed, but
most fail, and even the most successful go through several iterations
before the best configuration is found. Such design iterations are
best done in small research projects, not in large public committees.
- The PL/I project by IBM and SHARE resulted in Fortran and COBOL
becoming the de facto standards for scientific and business computing.
- The Algol 68 project by IFIPS resulted in Pascal
becoming the de facto standard for academic computing.
- The Ada project by the US DoD resulted in C
becoming the de facto standard for system programming.
- The OS/2 project by IBM and Microsoft resulted in Windows
becoming the de facto standard for desktop computing.
A hypothesis that explains a fixed set of data may be the result
of chance. It does not attain the status of a law until it has been
confirmed by observations that were not included in the original data.
Since 1991, the most notorious illustration of the law of standards was
the failure of the seven-level standard for Open Systems Interconnection
(OSI), which was being developed by ISO with major support from
governments and businesses around the world. The primary result was
the triumph of TCP/IP as the de facto standard for computer networks.
One more data point makes a hypothesis more credible, but the most
convincing evidence is a successful prediction about the future.
In 1995, when Bill Gates laid out his vision of "Windows everywhere,"
the law of standards convinced me that Linux would replace Windows
as the de facto standard for operating systems.
Following is some evidence in its favor:
Therefore, the law of standards predicts that the Linux API (Application
Programming Interface) will replace the Windows API as the de facto
standard for operating systems. That does not mean that Linux itself
will immediately replace all other operating systems, but that all major
operating systems will become compatible by supporting the same
conventions and interfaces as Linux.
Microsoft may continue to produce operating systems called Windows,
but they already run applications originally written for Linux, and
the old Windows API will be used only in legacy applications.
- The Linux kernel is a single code base that runs on everything
from embedded systems, hand-held computers, and wearable computers
to some of the largest supercomputers.
- Instead of spreading to all environments, the Windows code base
has fragmented into multiple incompatible systems labeled 95, 98, ME, NT,
CE, W2K, and XP. Microsoft is dropping support for the older versions,
but they plan to produce a new version codenamed Longhorn,
which threatens to make all current versions obsolete.
- Most graphic applications are being written for
platform-independent browsers and languages such as Java and C#
that run on Linux, Windows, and most versions of Unix.
- The formerly fragmented Unix systems are becoming more compatible
by supporting Linux compatibility packages, while Linux has improved
its support for the Posix (Unix-based) standards.
- Major IT companies that had been promoting their own proprietary
operating systems have switched their allegiance to Linux. The premier
example is the biggest IT company of all, IBM, which has adopted Linux
as the strategic OS for all their hardware. Other companies,
such as Oracle, develop all their software on Linux and port
the results to other platforms, such as Windows and Unix.
- Organizations with limited budgets, especially schools and
governments, have been moving en masse to Linux, especially
in developing countries, such as China and Brazil. This trend is
increasing even in Europe, Canada, and the United States.
Following is a copy of the e-mail note to the committee on Shared
Reusable Knowledge Bases (SRKB). The original can be found on
an e-mail archive at Stanford University.
Date: Fri, 22 Mar 91 01:47:31 EST
Subject: The law of standards
As a participant in various kinds of standards efforts within IBM and
some outside of IBM, I have formulated a law of standards based on
observations of various efforts:
1. IBM and SHARE developed PL/I as a new universal programming language.
Result: COBOL became the standard for business programming, and
FORTRAN became the standard for science & engineering.
Note: COBOL and FORTRAN were both introduced in the late 1950s, but
the introduction of PL/I in the mid '60s coincided with a major
increase in the use of both COBOL and FORTRAN.
2. IFIP developed ALGOL-68 as the standard for academic computing.
Result: Pascal became the standard for academic computing.
3. DARPA developed Ada as the standard for systems programming.
Result: C (a language that violated nearly every one of the design
goals for Ada) became the standard for system programming.
4. IBM and Microsoft developed OS/2 as a standard operating system for
IBM-PC compatible machines.
Result: Microsoft Windows became the standard.
Although the cause and effect relationships are not entirely clear,
these examples are not coincidences. A major standards effort is not
started until a lot of people begin to feel the need for standards.
The proposal of a new standard and the effort to produce it heighten
awareness among the practitioners. But the long delay before the
new standard becomes available leads people who have urgent problems
to look for something they can start using sooner.
Moral: Standards efforts lead to standards, but not always the ones
that were intended. So one way or another, I hope that something
useful may come out of this workshop.
Copyright ©2000, 2004 by John F. Sowa