ページの本文へ

Hitachi

日立ソリューションズ ソフトウェア部品管理ソリューション

OSS管理ブログ

ついに来た!SPDX 3.0 最新情報

ついに来た!SPDX 3.0 最新情報

この度、SBOMの推奨フォーマットのひとつであるSoftware Package Data Exchange(以下、SPDX)の次世代バージョンであるSPDX 3.0のRelease Candidateリリースが正式アナウンスされました。内容的にかなり大きな変更が入るということでちょっと心配している方も多いのでは?少しでも早く概要を理解していただくため、5月8日にバンクーバーで開催されたSPDX 3.0 Tooling Mini Summitで聞いてきた最新情報をお知らせします。

そもそもSPDXとは?

コミュニティとしてのSPDXは、The Linux Foundation傘下のプロジェクトのひとつで、ソフトウェア部品の来歴(provenance)やライセンス、セキュリティに関する情報を含むソフトウェア部品表(SBOM)の情報を伝達するためのオープンスタンダードの開発および推進をミッションとしています。

具体的な活動としてはSPDX仕様やSPDX License Listの定義、およびそれらを取り扱うためのツールの開発などがあり、同じ名前(呼び方)で少々ややこしいのですが、本ブログで取り上げる「SPDX」は、コミュニティそのものではなく、その成果物のひとつであるSBOMフォーマットとしてのSPDX仕様です。

SPDXは古くからソフトウェア部品の主にコンプライアンス関連の情報を記述するためのフォーマットとして活用されてきたものですが、2021年5月の米国大統領令(EO #14028)からの一連のSBOMの議論の中で推奨フォーマットのひとつとして言及されたことから、実質上のデファクトスタンダード的なポジショニングで語られることが多くなりました。

SPDXの歴史

SPDX仕様の歴史は古く、2010年ごろにFOSSBazaarのワークグループで作成されたドラフト版が現在のSPDXのもとになっているそうです。2020年5月リリースのv2.2には、OpenChain JapanWGからの提案であるサブセットのSPDX-Liteが採用されました。その後、2021年8月にはv2.2.1がISO/IEC 5962:2021としてISO国際標準になっています。

SPDXの歴史
SPDXの歴史

次世代バージョン「SPDX 3.0」とは?

さて、SPDX3.0について。まず呼び方ですが、通の呼び方は「スリー・オゥ」。ちょっとおしゃれに言いたいとき、わかっている風に見られたいときはこう呼んでください。

次に内容ですが、SPDX 2.2系、2.3と比べると、SPDX3.0はガラッと変わります

SPDX 2.3から3.0へ
SPDX 2.3 から SPDX 3.0 の変更イメージ(SPDXドキュメントより)

主な変更点を以下に纏めてみました。

新たなユースケースに対応

これまでのSPDXの主目的はライセンス関連情報の記述でしたが、最近ではセキュリティなどさまざまな目的でフォーマットとしてのSPDXを活用したいというニーズが出てきています。このため、AI & Dataset やセキュリティ関連情報、ビルド情報など、より多くの内容を取り扱うことができるように変更し、さまざまな目的(ユースケース)でSPDXを活用できるようになります。

「プロファイル」の概念の導入

前述したユースケースの追加によって、SPDX全体としての項目は増加しますが、例えばセキュリティの目的では必須の項目でも、ライセンスの目的では不要ということはあり得ます。そこで活きてくるのがプロファイルです。プロファイルとは、特定のユースケースに対する必須項目を抽出したセットというイメージで理解するとわかりやすいと思います。SPDX仕様としての必須項目を集めたCore Profile、Software Profileの他に、ライセンス目的のためのLicense Profile、セキュリティ目的のためのSecurity Profileなど、複数のプロファイルの定義が検討されています。「私はライセンス関連の情報を記述したいので、必須のCoreプロファイルとSoftwareプロファイル、それにLicenseプロファイルを選択して記述しましょう」ということができるわけです。

その他、Relationships(エレメントやドキュメント間の関係性を表現する方法)の変更や具体的な書き方・ルールの変更、パラメータ名の変更や削除(みんながキライなあれがなくなります的な)など、細かい部分もわりと変わります。変わる、というか、全然違うものとして考えたほうがむしろわかりやすいのではないかというレベルに思えます。

SPDX 3.0 にはいつから対応するべき?

一番心配なのはここですよね。このブログを書いている2023年6月中旬現在、SPDX 3.0 はまだRCリリースのアナウンスがあったのみ、内部ではまだ絶賛ディスカッション中です。この後の正式リリースや、ISO標準化(は当然スコープに入っていると個人的には思います)はまだもう少し先になるでしょう。また、これだけ大きな変更が入りますので、各種ツールが SPDX 3.0 に対応するのにもそれなりの時間がかかることが予想されますので、実際に現場で使われ始めるのは、体感的には少なくとも来年以降というところでしょうか(あくまで個人の考えです)。

とはいえ、知っておくこと、あらかじめ準備しておくことは非常に重要だと思いますので、このあたりの動向をちょっと気にしておかれると良いでしょう。

また新しい情報が入ったら、このブログでもお伝えしますのでお楽しみに。


雑誌の執筆やインタビューの依頼をお受けしております。 ご希望の方はお問い合わせからご連絡ください。
オープンソース管理ソリューション
タグ一覧
新着記事