• Share this article:

Sparkplug: From Specification to Standard

Tuesday, November 7, 2023 - 20:21 by Frédéric Desbiens

This week, the Eclipse Foundation announced that the Sparkpug® 3.0 specification has been published as an International Standard. That sounds impressive. But what does it mean, exactly? And how will this impact the evolution of Sparkplug? To answer this question, let’s take a step back and consider what standards are.

The technology industry loves standards. For example, USB is a set of standards managed by the USB Implementers Forum, Inc. (USB-IF), a non-profit corporation founded by the companies that developed the USB specification. The Eclipse Foundation describes Jakarta EE as a standard: a set of specifications for enterprise Java application development. In the IoT and Industrial Automation world, OASIS Open also presents the MQTT protocol as a standard. However, standards play a much more pervasive role in society. There are standards for building homes and others that define how cars should work. Standards permeate our lives.

To understand the significance of this week’s announcement, we need to take a broader view of standards. The website of the Standards Council of Canada features a very good definition of what a standard is:

A standard is a document that provides a set of agreed-upon rules, guidelines or characteristics for activities or their results. Standards establish accepted practices, technical requirements, and terminologies for diverse fields. They can be mandatory or voluntary and are distinct from Acts, regulations and codes, although standards can be referenced in those legal instruments.
There are several standards organizations with a global scope worldwide. Their scopes sometimes overlap. For example, the International Organization for Standardization and International Electrotechnical Commission (ISO/IEC) are global organizations that facilitate the development of International Standards that support innovation, sustainability, and global trade. There are others, such as the Institute of Electrical and Electronics Engineers (IEEE) or the Internet Engineering Task Force (IETF).

The publication of Sparkplug as an international standard is the outcome of a transposition of the specification through the Publicly Available Specification (PAS) transposition process offered by the ISO and IEC Joint Technical Committee (JTC 1) for information technology, a consensus-based, voluntary international standards group. Going forward, Sparkplug will also be known as ISO/IEC 20237. This mirrors the case of MQTT, which has been standardized as ISO/IEC 20922 in 2016.

The publication of ISO/IEC 20237 is a significant milestone for the Eclipse Foundation. In 2018, we implemented the Eclipse Foundation Specification Process (EFSP) to support the transition of the Java Enterprise Edition (Java EE) specifications to the Eclipse Foundation. At the time, we hoped to see other specification projects being contributed to the Foundation. The first was Sparkplug, which became an Eclipse project in 2019. And now, it is the first to become an international standard.

I can hear you think: “Great. But what does this mean for me as a developer?”

From a code or governance perspective, nothing changes. The Eclipse Foundation is still the steward of Sparkplug, and future versions of the specification will still be managed under the Eclipse Foundation specification process. The specification project team is hard at work on Sparkplug v4.0. If you are curious about the scope and release plan for that version, everything is available on GitHub. As for Sparkplug v3.0 and ISO/IEC 20237, they are rigorously equivalent. Any faithful implementation of one or the other will pass the Sparkplug Technology Compatibility Kit (TCK) published by the Eclipse Foundation. We intend to submit Sparkplug v4.0 for transposition once it is ratified under the EFSP.

What’s the point, then? Sparkplug, as an international standard, is all about broadening the reach and audience of the specification. ISO/IEC International Standards offer guidance for safety features, quality measures, and interoperability. By becoming an ISO/IEC standard, Sparkplug benefits from global acceptance and accelerated adoption. It joins a globally recognized technical ecosystem. In particular, existing and future ISO/IEC standards will be able to refer to ISO/IEC 20237.

To sustain its involvement in PAS transpositions and its contributions to standardization, the Eclipse Foundation established liaisons with two ISO/IEC JTC 1 subcommittees: SC 38 (Cloud Computing and Distributed Platforms) and SC 41 (IoT and Digital Twin). This means Eclipse Foundation staff and even Eclipse community members will participate in standardization conversations - and eventually contribute to standards - from now on.

Naturally, this does not mean that every current and future Eclipse specification will become an international standard. Specifications submitted for transposition have a high bar to clear: they must be mature technologies with significant adoption and maturity. In particular, there must be several implementations - commercial or open source. That said, the EFSP provides the perfect framework to bring specifications to maturity in a vendor-neutral, collaborative environment. The standard for international standards may be high, but the Eclipse community can meet them. Sparkplug is a case in point.