SPDX (Software Package Data Exchange) は、SBOMを作成するための標準規格の一つです。SPDXは、ソフトウェアパッケージに関する様々な情報を記述するためのフォーマットを定義しており、ライセンス情報だけでなく、著作権や依存関係、バージョン情報など、幅広い情報を記録できます。
しかし、SPDXは詳細な情報を記述できるがゆえに、作成に手間がかかるという側面もあります。そこで登場したのが SPDX Lite です。
SPDX Liteは、SPDXのサブセットであり、ソフトウェアのライセンス情報を簡便に管理・共有するために設計されたフォーマットです。利用事例として日本企業では、トヨタ自動車で使われており、必要に応じてサプライチェーンの各社にSPDX LiteフォーマットでのSBOM提出を求めているようです。
この記事では、SPDXとSPDX Liteの違いについて解説していきます。
SPDXは、Linux Foundationが主導するプロジェクトで、ソフトウェアサプライチェーンにおけるコンポーネント情報の共有を促進するために開発されました。SPDXは、ソフトウェアパッケージに関する情報を標準的なフォーマットで記述することで、組織間での情報交換を容易にし、ライセンスコンプライアンスやソフトウェア構成管理の効率化ができます。
SPDXでは、ソフトウェアパッケージに関する以下の情報を記述できます。
SPDX Liteは、SPDXの簡易版として、より手軽にSBOMを作成できるように設計されました。SPDX Liteは、SPDXで定義されている情報のうち、SBOM作成に必要最低限の情報のみを記述するフォーマットです。具体的なフォーマットや作成方法は、弊社の過去の記事にて解説しています。
SPDX Liteのフォーマット・使い方やSBOM作成方法
SPDX | SPDX Lite | |
記述量 | 多い | 少ない |
作成の手間 | 多い | 少ない |
利用する状況 | 詳細なSBOMが必要な場合 | 簡易的なSBOMで十分な場合 |
SPDXとSPDX Liteは、どちらもSBOMを作成するための標準規格ですが、記述できる情報の範囲や作成の手間が異なります。SPDXは詳細なSBOMを作成するのに適しており、SPDX Liteは簡易的なSBOMを作成するのに適しています。
どちらのフォーマットを使用するかは、SBOMの用途や求められる情報の詳細度、運用コスト、利用可能なリソースなどを考慮して決定する必要があります。