SPDX license identifiers ってなんだ。
ちょっと訳があって、git のログを見てたら以下のようなエントリがあった。1
hrtimers/tick/clockevents: Remove sloppy license references
"For licencing details see kernel-base/COPYING" and similar license
references have no value over the SPDX identifier. Remove them.
「SPDX ID 書いたから、いい加減なライセンスの参照なんて消したぜ!」位の訳かな?
で SPDX identifier ってのがなんだかわからなかったので、一つ前のコミット2 に
って書いてあったので、そのパッチを見てみると、
というのが永遠と書いてあった。これっていったい何?ということで少し調べてみました。
Software Package Data Exchange
調べてみると、Linux Foundation のプロジェクトで、"Software Package Data Exchange"3 っていうのがあった。略して SPDX。 SPDX も "Software Package Data Exchange" も丸に R マークがついているので、登録商標になっているようだ。
何をやろうとしているの
でこのサイトの ABOUT のページを見ると、
って書いてあって、ソフトウェアのコンポ名やライセンス、コピーライトやセキュリティーリファレンスといった情報を記述する標準形式を決めようとしているようだ。
詳細な仕様書も作成されていて現在のバージョンは 2.1。結構長いので心が折れて全部は読んでいない。
ライセンス表示
で今ここで取り上げているのは "// SPDX-License-Identifier: GPL-2.0" だけで、ざっと見た限りでは、他はいろいろ定義されているようだけど使われている様子がない。
これまでは、ライセンスを表示するのにソースの頭のほうに長ーいテンプレを張り付けていて、邪魔くさいしわかりにくいし、そもそも今それ見たくないってのもあった。
例えばこんなの4
こんなのファイル一個一個に張ってあっても魔除けにもならない。
SPDX-License-Identifier
そこで "SPDX-License-Identifier" の登場。ファイルの先頭に一行書くだけ。
先ほどと比べてずいぶんすっきりしているのがわかる。コピペも簡単。
それぞれのライセンス識別子は SPDX で整理して、まとめてある。5
例えば GPL 2.0 ならば GPL-2.0 、Apache License 2.0 なら、Apache-2.0 という感じ。
将来、万が一パッチを送ることになったときのために覚えておくことにする。
投稿者プロフィール
最新の投稿
AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
セキュリティ2021年7月14日ゼロデイ攻撃とは
セキュリティ2021年7月14日マルウェアとは
WAF2021年7月13日クロスサイトスクリプティングとは?