Wednesday, September 07, 2022

Standards Organization As Partly A Non-Capitalist Logic

This post draws attention to the existence of a vast web of existing organizations that, perhaps, operate partly outside and partly inside a capitalist logic. These standards organizations define technologies vital to keeping our society running. I think I would find it interesting for some scholar interested in council communism or syndicalism to look into these. The examples I list are perhaps idiosyncratic, out-of-date, and reflect my personal history with computing.

Here is a list of some of the organizations I have in mind:

  • American National Standards Institute (ANSI)
  • International Electrotechnical Commission (IEC)
  • Institute of Electrical and Electronics Engineers (IEEE)
  • Internet Engineering Task Force (IETF)
  • International Standards Organization (ISO)
  • International Telecommunications Union (ITU)
  • National Institute for Standards and Technology (NIST)

The IEEE is a professional organization that provides an umbrella for a wide range of specialized societies. They publish academic journals, organize conferences, define certain certification programs, and have a professional code of ethics. IEEE-STD-754 is an example of a standard I am often conscious of. It defines how floating point numbers are stored in your computer, where floating point numbers are a finitary representation, in some sense, of real numbers. This standard was developed and is maintained by a committee of academics, representatives of companies, etc. under the auspices of the IEEE. The original standard and each update is circulated for comment and for voting by the wider membership.

Sometime a standard is developed and maintained by such a committee under the auspices of a government agency. For example, consider the Interplanetary Overlay Network (ION), a delay-tolerant network (DTN), implementing an interplanetary internet. As I understand it, ION was developed by the Interplanetary Networking Special Interest Group, a committee set up by the National Aeronautics and Space Administration (NASA) and chaired by Vincent Cerf.

Sometimes a standard is replaced by another one. The Perry memo, issued under Bill Clinton, directed the Department of Defense to prefer commercial standards to their own military standards, where feasible. For example, MIL-STD-2167A was replaced by ISO/IEC 12207 Information Technology – Software life cycle processes. This standard describes documentation to be produced during software development lifecycles, such as design documentation, user manuals, and test plans.

Sometimes a single corporation develops a standard. For example, Java was developed by Sun, now by Oracle. As those who develop enterprise systems know, a vast set of tools are available for Java, including integrated development environments (IDEs), application servers, deployment tools such as Ant and Gradle, and even other languages that compile to execute on the Java Virtual Machine (JVM).

Corporations have an interest in having their internal developments recognized by a standards body. I am not sure that this is a good example, but C was developed by Bell Labs before becoming ANSI C.

Sometimes, a standard is developed as a contest. (Dean Baker might find this of interest.) The Ada programming language (ANSI/MIL-STD-1815A) had four qualifiers for the first round: CII Honeywell Bull (green), Intermetrics (red), Softech (blue), and SRI International (yellow). Eventually, the U.S. Department of Defense decided "green is Ada". More recently, NIST developed the Advanced Encryption Standard (AES) with a contest.

The technical feasibility of a standard is sometimes in question, and a reference implementation is often developed alongside the standard. For some reason, I associate the term "reference model" with the Open Systems Interconnection (OSI) layered model for the Internet. A standards body might impose some control on who can claim to have implemented the standard. Ada was accompanied with, for example, test suites for verifying implementations.

Even in a society of hierarchical organizations, a need exists for people to cooperate across such organizations.

No comments: