OpenChain仕様の国際標準化について / International Standardization of OpenChain Specification

-- English follows Japanese text --

こんにちは。富士通株式会社の大崎 雅行です。
OSS（Open Source Software）を利用する際に重要となる、OSSライセンスのコンプライアンスに携わっています。

本記事では、OpenChain仕様の国際標準化に向けた経緯について、簡単に紹介します。
#仕様(Specification)から標準(Standard)に
渡邊 歩さんの[1日目の記事](https://qiita.com/AyumiWatanabe/items/3bbb47d6f14205f78acc)で紹介があったように、OpenChain仕様は、組織がOSSコンプライアンスの遵守体制を構築する際の要件を規定するもので、Linux Foundation配下のOpenChainプロジェクトが取りまとめています。

Linux Foundationの配下には、ソフトウェア(code)の開発を目的とするプロジェクトとともに、仕様(specification / spec.)の標準化を目的とするプロジェクトも活動しており、2020年12月2日現在、[合計で187のプロジェクトが存在](https://www.linuxfoundation.jp/projects/directory/)します。
![Linux Foundation project types](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505607/4e8e74b2-7171-a484-1691-e693b2965082.png)
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のプロジェクトをタイプ別に分けるため、プロジェクトの構成（単一(single) / 統合(umbrella)）・プロジェクトの対象（ソフトウェア(code) / 仕様(spec)）の２つの軸での区分したものです。

図の左下にロゴがあるOpenChainプロジェクトは、[OpenAPI initiative](https://www.openapis.org/)（APIの標準化）や、[Open Container Initiative](https://opencontainers.org/)（コンテナのフォーマットやランタイムの標準化）と同様に、仕様を策定し、標準化することを目的としています。
#国際標準化とは
国際標準(国際規格；International Standard)とは、国際標準化団体により制定される標準(規格)です。WTOに加盟する各国は、国内規格を国際標準(国際規格)※に整合させることが求められており（WTO TBT協定）、仕様や規格を国際標準(国際規格)とすることにより、各国の国内規格に展開し、普及を進めることが可能となります。
※ 特定の国際標準化団体（ISO・IEC・ITU）により制定された国際標準（国際規格）

そして、情報技術(IT)分野では、ISO / IEC JTC 1（ISOとIECの第一合同技術委員会）という、ISOおよびIECとは別個の国際標準化団体で標準化が行われています。

今回、OpenChain仕様は、ISO / IEC JTC 1における国際標準化の手続きを経て、渡邊 歩さんの[2日目の記事](https://qiita.com/AyumiWatanabe/items/ebca145429f2543d4efe)にあるように、12月中には、国際標準として発行される予定です。

なお、国際標準化団体ごとに手続きの詳細が異なるため、ISOの手続きに関する資料の内容は、必ずしも、ISO / IEC JTC 1の手続きに当てはまるとは限らないことに注意が必要です。
#OpenChain仕様の国際標準化に至る流れ
OpenChain仕様が、ISO / IEC JTC 1により国際標準として制定されるまでの流れを、以下の図に示します。


![OpenChain JTC1 process](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505607/afed4e06-4ff4-2bfc-f0d5-97b76db513eb.png)
具体的には、以下の２つの段階の手続きを進めました。

- (前準備) Linux Foundation配下の[Joint Development Foundation](https://www.jointdevelopment.org/) (JDF)が、ISO / IEC JTC 1のPAS submitterとして[承認（2020/05）](https://www.linuxfoundation.jp/blog/2020/05/joint-development-foundation-recognized-as-an-iso-iec-jtc-1-pas-submitter-and-submits-openchain-for-international-review/)。
    - これにより、Linux Foundationは、配下のJDFを通じて、ISO/IEC JTC1に対し、公開仕様書(PAS; Publicly Available Specification)の申請を行うことが可能となりました。 
- JDFが、ISO/IEC JTC 1に対し、OpenChain仕様の国際標準化の手続きを行う
    - PAS申請手続き（PAS submission）
    - PAS申請から国際標準申請への転換手続（PAS transposition process）
    - 国際標準ドラフト(DIS)に対する、JTC1の各国代表団体(National Bodies)による投票(2020/09：賛成多数)
    - 国際標準として発行（publish):2020/12予定

#さいごに
OpenChain仕様の国際標準化は、OpenChainプロジェクトが目指す「OSSが信頼性と一貫性のあるコンプライアンス情報とともに提供される、ソフトウェアサプライチェーンの実現」の大きな一歩となります。
今後、OpenChainプロジェクトでは、国際標準化されたOpenChain仕様に対応して、各国に国内規格を制定する働きかけを行っていく等の取組みを進めていくことになります。
#明日のテーマは・・・
明日は、OpenChainプロジェクトのGeneral ManagerであるShaneさんからのメッセージです。

-- English text starts here --

# International Standardization of OpenChain specification
Hi, I'm Tadayuki Osaki, OSS compliance specialist working for Fujitsu Limited and involved in Open Source Software (OSS) license compliance.

In this article, I briefly introduce the international standardization of OpenChain specification.

##From specification to standard
As introduced in Ayumi Watanabe's [first day article](https://qiita.com/AyumiWatanabe/items/3bbb47d6f14205f78acc), OpenChain specification defines requirements for an organization to establish OSS compliance, and is coordinated by the OpenChain project under the Linux Foundation.

Under the Linux Foundation, there are projects to develop software (code) and to standardize specifications (specification/spec.), for a total of 187 projects as of December 2, 2020.
![Linux Foundation project type](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505607/1d9de696-5900-8154-dd80-c20f58400510.png)
source: [Linux Foundation](https://events19.linuxfoundation.cn/wp-content/uploads/2017/11/Bringing-an-Open-Source-Project-to-the-Linux-Foundation-LC3-2018.pdf)

The figure above plots Linux Foundation projects into two categories: project configuration (Single / umbrella) and project subject (Software (code)/Specification).

The OpenChain project, with its logo at the bottom left of the diagram, is designed to create and standardize specifications, as are the OpenAPI initiative (API standardization) and the Open Container Initiative (Container formatting and runtime standardization).

##What is International Standardization?
An international standard is a standard established by international standards organizations. Each member country of the WTO is required to conform its domestic standard to the international standard*, as required by WTO TBT Agreement. By international standardizing a specification, it can be developed and promoted to the domestic standard of each country.
*only for international standards enacted by a specified international standards organizations, such as ISO, IEC, and ITU.

In the field of information technology (IT), ISO/IEC JTC1 (First Joint Technical Committee of ISO and IEC), an international standards organization independent from ISO and IEC, handles international standardization of the technical area.

OpenChain specification will be published as an international standard by the end of December, as stated in [the second day article](https://qiita.com/AyumiWatanabe/items/ebca145429f2543d4efe) by Ayumi Watanabe, after going through the process of international standardization in ISO/IEC JTC1.

It should be noted that the content of documents relating to ISO procedures does not necessarily apply to the procedures of ISO/IEC JTC1, as the details of the procedures differ among international standardization bodies.

##Flow of international standardization of OpenChain specification
The flow of the OpenChain specification up to its establishment as an international standard by ISO/IEC JTC1 is shown in the following diagram.
![OpenChain JTC1 process](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505607/3f33748b-04ed-4d53-a65e-82f87082da0e.png)

Specifically, the following two steps were taken.

- Approved as the PAS submitter for ISO/IEC JTC1 by the Joint Development Foundation (JDF) under the Linux Foundation (May 2015).
    - As a result, the Linux Foundation is now able to apply to ISO/IEC JTC1 through its own JDF for open specifications (PAS; Publicly Available Specification).

- JDF conducts procedures for international standardization of the OpenChain specification to ISO/IEC JTC1.
PAS Application Procedures (PAS submission)

 - Conversion Procedure from PAS Application to International Standard Application (PAS transposition process)
 - Voting by national bodies (National Bodies) of JTC1 on the International Standard Draft (DIS) (2020/09: approved)
 - Published as an international standard (publish): 2020/12 planned

## Way forward
The international standardization of the OpenChain specification is a big step toward the OpenChain Project's goal of "Enabling a software supply chain where OSS is delivered with reliable and consistent compliance information".
In the future, the OpenChain Project will promote initiatives such as encouraging countries to establish domestic standards in response to the internationally standardized OpenChain specifications.
##Tomorrow's theme is...
Tomorrow is a message from Shane, General Manager of the OpenChain Project.