Introduction¶
As open source software developers and project communities grow, they often encounter standards in various capacities. It’s easy to assume that standards are developed and used in the same way as open source software, especially because standards are typically developed by a collaboration among multiple actors.
However, standards serve a fundamentally different purpose than software, implicating different regulatory and intellectual property considerations. And because of that, the community practices involved in the development and distribution of standards are fundamentally different in many ways as well.
The following pages are aimed at demystifying some of these differences, in particular for open source developers who have traditionally focused on software collaboration.
What is a “Standard?”¶
Perhaps ironically, there is no single agreed-upon definition of what makes something a “standard.”
ANSI defines a standard as a document that provides requirements, specifications, guidelines, or characteristics that can be used consistently to ensure that materials, products, processes, and services are fit for their purpose. Or, in a more “simplified definition,” they described a standard as “a document that tells you how to do or say or make or test or organize or design something.”
ISO informally describes their standards as being “a formula that describes the best way of doing something. It could be about making a product, managing a process, delivering a service or supplying materials…”
ETSI has described “standards”, with reference to an earlier ISO guide, as being “a document, established by consensus and approved by a recognized body, that provides, for common and repeated use, rules, guidelines or characteristics for activities or their results, aimed at the achievement of the optimum degree of order in a given context.”
When we talk about what makes something a “standard,” a few of the key concepts typically include:
It is a document (often called a specification) describing a set of mandatory and/or optional criteria.
It is not an implementation of those criteria; though development of a standard may include the publication of a “reference implementation.”
It is developed through a consensus-building process involving multiple contributors.
It can be used downstream to develop multiple different implementations of products or processes.
By aligning to the standard, those implementations might benefit from advantages such as greater interoperability, consistency, or efficiency.
What is a “Standards Development Organization?”¶
A “standards development organization”, or “SDO”, is an organization that facilitates the collaborative development and publication of voluntary standards, typically through the contribution and participation of multiple third parties. ANSI, ISO, and ETSI, each mentioned above, are examples of traditional SDOs.
The SDO acts as the facilitator of the standards collaboration activities, providing a neutral third-party home for the assets developed by the community, along with governance defining the community’s decision-making processes and intellectual property policies, among other things.
The Linux Foundation itself originated in the mid-2000’s from the merging of a standards development organization, the Free Standards Group, with Open Source Development Labs. Several early LF-hosted projects, including SPDX since 2010 and OpenChain since 2016, have focused on collaborative development of freely-available standards for the software supply chain. Today, many communities focused on developing free standards and specifications operate within the Joint Development Foundation (JDF) and other LF-supported efforts.