SPDXはライセンス名を標準化した識別子で記す規格で、表記ゆれを無くし依存関係収集やNOTICE自動化を容易にします。導入は、リポジトリ直下にLICENSE、各ソース先頭へSPDXヘッダ、依存ライセンスを識別子へ正規化、NOTICEをテンプレ化し生成、の順が最短。識別子は単一「MIT」、選択「GPL-2.0-or-later OR MIT」、併用「BSD-2-Clause AND MIT」、例外「… WITH …」を用います。NOTICEは再配布時に帰属が必要な依存のみ列挙し、著作権表示と必須文言を抜粋。自動化はロックファイルから依存を列挙し、識別子・著作権者・NOTICE要否を抽出してテンプレに差し込みます。運用では識別子変換表を整え、本文同梱要件と配布モデルを確認。SBOM出力やREUSE準拠も有効です。
Q1. SPDXとは何ですか?
ソフトウェアのライセンス名を統一ルールで書くための“共通表記”です。
Q2. 何が便利になりますか?
表記ゆれが無くなり、ライセンス確認や配布時の書類作成が楽になります。
Q3. まず何をすれば良いですか?
プロジェクトにLICENSEファイルを置き、各ソースの先頭に識別子を入れます。
Q4. 識別子って何ですか?
MITやApache-2.0のような短い決まり文句です。正式名ではなく識別子を書きます。
Q5. 書き方の例はありますか?
SPDX-License-Identifier: MIT の一行をファイル先頭のコメントに入れます。
Q6. 複数のライセンスが選べる場合は?
ORでつなぎます。例 GPL-2.0-or-later OR MIT。
Q7. 両方の条件を守る必要がある場合は?
ANDでつなぎます。例 BSD-2-Clause AND MIT。
Q8. 例外付きとは何ですか?
特定の追加条件がある場合です。WITHで書きます。
Q9. NOTICEとは何ですか?
配布物に同梱する「著作権表示のまとめ」です。必要な帰属文を一覧にします。
Q10. いつNOTICEが必要ですか?
再配布する時に、著作権表示や免責文の掲示が求められるライセンスを含む場合です。
Q11. MITやBSDでもNOTICEは要りますか?
基本は著作権表示の維持が必要です。NOTICEにまとめると分かりやすいです。
Q12. 依存ライブラリはどう扱いますか?
それぞれのライセンスを調べ、識別子で記録し、必要な表示だけNOTICEに載せます。
Q13. 社外公開しない社内利用でも必要ですか?
確認が容易になるため有益です。将来の公開や配布に備えられます。
Q14. ライセンス本文は同梱が必要ですか?
多くの場合は必要です。LICENSEフォルダなどにまとめて入れます。
Q15. 迷った時はどうすれば良いですか?
公式のSPDXライセンス一覧で識別子を確認し、配布条件はガイドや法務に相談します。
Q16. 導入の最小セットは何ですか?
LICENSE設置、各ファイルの識別子、必要に応じたNOTICEの三点です。
Q17. 既存プロジェクトへの導入は難しいですか?
段階的で大丈夫です。新規ファイルから識別子を入れ、主要部分から順に整備します。
Q18. ミスでよくあることは?
識別子の綴り違い、選択と併用の混同、LICENSE未同梱、NOTICEの過不足です。
Q19. 自動化はできますか?
できます。依存情報を集めてNOTICEの下書きを作る簡単なスクリプトでも十分役立ちます。
Q20. これで法的リスクは無くなりますか?
SPDXは表記の標準化です。最終的な適法性は配布形態と各ライセンスの要件確認が必要です。