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.

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:

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.

Original Statement

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 From: SOWA@ibm.com To: SRKB@isi.edu 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: Examples: 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. John

Copyright ©2000, 2004 by John F. Sowa

Last Modified: