SPDX® が ISO/IEC 5962:2021 として公開されました / SPDX® became ISO/IEC 5962:2021

```English follows Japanese text```

# OpenChain仕様に続いて、国際標準仕様に

こんにちは。OpenChain JWGで活動している小保田です。

SBOMや、SPDXそのものについては、昨日までの記事で説明していただいていますので、今日の記事では、[The Software Package Data Exchange&reg; (SPDX&reg;)](https://spdx.dev/) が今年、[ISO/IEC 5962:2021として公開](https://www.iso.org/standard/81870.html)されたことについて振り返ってみます。

まず、**[OpenChain仕様がISO/IEC 5230:2020として公開](https://www.openchainproject.org/featured/2020/12/15/openchain-2-1-is-iso5230)**されたのが2020年12月。ちょうど1年前ですね。昨年の[OpenChain JWGによるAdvent Calendarでも紹介](https://qiita.com/AyumiWatanabe/items/ebca145429f2543d4efe)させていただいています。
それから10ヵ月ほど後に、今度は **[SPDX仕様がISO/IEC 5962:2021として公開](https://www.linuxfoundation.org/featured/spdx-becomes-internationally-recognized-standard-for-software-bill-of-materials/)** されました。[6月にSPDX仕様をISO/IEC JTC1に提出し](https://www.linuxfoundation.org/blog/spdx-specification-becomes-the-second-iso-iec-jtc-1-submission-from-jdf/)、4か月ほどをかけて、ISO/IEC JTC1における国際標準化の手続きを経た後、無事国際標準となっています。

# SPDX v2.2.1

実際に公開されているISO/IEC 5962:2021は、[SPDX v2.2.1](https://github.com/spdx/spdx-spec/tree/development/v2.2.1)が対応しています。
もともとISO/IEC JTC1に提出する直前のバージョンは、[SPDX v2.2](https://github.com/spdx/spdx-spec/tree/development/v2.2)でした。v2.2とv2.2.1は、SPDXの仕様そのものとしては完全に同じなのですが、ドキュメントとしての体裁、また語句の定義や参照資料などの記載といった対応を行う必要が発生し、それらの修正を行ったものが、v2.2.1として正式なドキュメントとなっています。
また、登録から公開までにどのような変更を行ったのかは、ちゃんとTagが打たれて管理されていますので、興味のある方は[Github上でその差分を見てみる](https://github.com/spdx/spdx-spec/compare/v2.2.1-ISO-submittal...v2.2.1-ISO-final)と、標準化する際に必要な文書の書き方などを学べるかもしれません。

# Linux Foundation PJと国際標準化について

[昨年の大崎さんの記事](https://qiita.com/t-osk/items/587c2a7ed9c1216e6ba9)で説明されていましたが、こちらの図を振り返ってみましょう。
![lfprojects.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114349/c25a4b30-0811-e611-32b7-5533567f1606.jpeg)
source: [Linux Foundation](https://events19.linuxfoundation.cn/wp-content/uploads/2017/11/Bringing-an-Open-Source-Project-to-the-Linux-Foundation-LC3-2018.pdf)

Linux Foundationの配下には、ソフトウェア(code)の開発を目的とするプロジェクトとともに、仕様(specification / spec.)の標準化を目的とするプロジェクトも多く活動しています。また、OpenChain仕様の国際標準化作業に伴い、Linux Foundation配下の **[Joint Development Foundation(JDF) は、2020年にISO/IEC JTC1 PAS提出者として認定](https://www.linuxfoundation.org/blog/joint-development-foundation-recognized-as-an-iso-iec-jtc-1-pas-submitter-and-submits-openchain-for-international-review/)** されています。
私見ではありますが、このJDFによる仕様の国際標準化という潮流は継続的なものとなりつつあり、今まではデファクトスタンダードとして扱われてきた仕様が、今後は国際標準として認定されていくものも増えていくのではないでしょうか。

実際にエンジニアリングの場面で、どのような仕様・プロトコルを利用するのかといった選択に迫られた場合、その仕様が標準化されているものかどうか、という判断基準は比較的ポピュラーだったりします。
少なくともLinux Foundation PJとして活動されている多くの仕様やプロトコル群については、Linux Foundationの働きかけにより、技術者の間で流行っている技術が国際標準として認定され、より製品やサービスに適用しやすくなっていくという、良い流れなのではないでしょうか。
私たちも、少しでも貢献できると良いですね。

# Message from Kate-san

最後に、SPDX&reg; をリードされている、Linux Foundationの [Kate Stewartさん](https://www.linkedin.com/in/katestewartaustin/) からのメッセージを紹介させていただいて〆とさせていただきます。

I would like to introduce a message from [Kate Stewart](https://www.linkedin.com/in/katestewartaustin/) of the Linux Foundation, who leads SPDX&reg;.

> **Seeing the SPDX specification accepted as a formal ISO/IEC standard for SBOMs has been one of the highlights of my career.  
It would not have been possible without the efforts of the world wide community sharing use cases, making proposals, and helping to create implementations.  It was very exciting that the specification passed on first ballot.
That would not have been possible without the excellent contributions we have received over the years,  like the SPDX-Lite Appendix.
The specification was also improved by the excellent feedback from the ISO Japanese review team that helped us fix some typos and further clarify parts of the specification.   
Thank you to all the SPDX community members and ISO reviewers for making this milestone possible!**

# SPDX became an international standard this year

Hello. I'm Norio Kobota, a member of the OpenChain JWG.

SBOM and SPDX itself were discussed in previous articles, so today's article, I'd like to look back at the launch of [The Software Package Data Exchange&reg; (SPDX&reg;)](https://spdx.dev/) as [ISO/IEC 5962:2021](https://www.iso.org/standard/81870.html) this year.

First, [the OpenChain specification was released as ISO/IEC 5230:2020](https://www.openchainproject.org/featured/2020/12/15/openchain-2-1-is-iso5230) in December 2020. It was exactly 1 year ago. It was [introduced in Advent Calendar by OpenChain JWG last year](https://qiita.com/AyumiWatanabe/items/ebca145429f2543d4efe).
About 10 months later, [the SPDX specification was released as ISO/IEC 5962:2021](https://www.linuxfoundation.org/featured/spdx-becomes-internationally-recognized-standard-for-software-bill-of-materials/). The SPDX specification was [submitted to ISO/IEC JTC1 in June](https://www.linuxfoundation.org/blog/spdx-specification-becomes-the-second-iso-iec-jtc-1-submission-from-jdf/), and it took about four months to complete the international standardization process in ISO/IEC JTC1 before it became an international standard.

# SPDX v2.2.1

The published ISO/IEC 5962:2021 is supported by [SPDX v2.2.1](https://github.com/spdx/spdx-spec/tree/development/v2.2.1).
The previous version to submit to ISO/IEC JTC1 was [SPDX v2.2](https://github.com/spdx/spdx-spec/tree/development/v2.2). A document has been published as v2.2.1 with some modifications in the run-up to publication.
Changes from registration to publication are well tagged and managed, so if you're interested, you can [look up the differences on Github](https://github.com/spdx/spdx-spec/compare/v2.2.1-ISO-submittal...v2.2.1-ISO-final) and learn as an example of how to write a document that needs to be standardized.

# Linux Foundation PJ and International Standardization

Linux Foundation PJ overview was explained in [Osaki-san's article last year](https://qiita.com/t-osk/items/587c2a7ed9c1216e6ba9), so let's look back at this diagram.
![lfprojects.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114349/c25a4b30-0811-e611-32b7-5533567f1606.jpeg)
source: [Linux Foundation](https://events19.linuxfoundation.cn/wp-content/uploads/2017/11/Bringing-an-Open-Source-Project-to-the-Linux-Foundation-LC3-2018.pdf)

Under the Linux Foundation, there are many projects for software development and standardization of specifications(specification/spec.). In addition, as part of the international standardization of the OpenChain specification, the Joint Development Foundation(JDF) under the Linux Foundation was [certified as an ISO/IEC JTC1 PAS submitter in 2020](https://www.linuxfoundation.org/blog/joint-development-foundation-recognized-as-an-iso-iec-jtc-1-pas-submitter-and-submits-openchain-for-international-review/).
IMHO, the trend of international standardization of specifications by JDF is continuing, specifications treated as de facto standards will become international standards in the future.

In fact, when faced with the choice of specifications and protocols to use in production, standardization of specifications is a popular criteria.
There are a number of specifications and protocols managed under the Linux Foundation PJ, and I think they will work on making useful specification and protocol as internationally recognized standards and easier to apply to products and services.

I hope we can contribute even a little.
Cheers!