SPDX ライセンス識別子の検証
Web処理はすべてブラウザ内で完結します。データは送信されません
1 行に 1 つの SPDX 識別子を書くと、有効か・正規の表記は何か・非推奨か・OSI 承認か・寛容かコピーレフトか・著作権とライセンス表示の保持が必要かを返します。要点は大文字小文字です。SPDX 識別子は大文字小文字を区別し、正規の表記は `Apache-2.0` であって `apache-2.0` ではありません。npm や pip などのエコシステムは検証しないことが多く、誤った表記でも導入できてしまい、コンプライアンス検査や SBOM ツールで初めて拒否されます。そこでここでは正規の表記を一字一句示します。非推奨の関係も明示します。`GPL-2.0` は非推奨で、現在は `GPL-2.0-only` と書きます。`GPL-2.0+` と `GPL-2.0-or-later` は同義で、前者が非推奨です。厳選した約七十個の表を内蔵し、確認できる項目だけを収録しています。したがって「見つからない」は「この表の対象外」を意味し、存在しないことを意味しません。処理はすべてブラウザ内で完結します。
機能
- 大文字小文字を区別して検証し、誤りには正規の表記を示す
- 「有効」と「非推奨」を分けて表示(非推奨でも有効な識別子)
- 非推奨の項目には現在の代替表記を提示(GPL-2.0 → GPL-2.0-only)
- `GPL-2.0+` と `GPL-2.0-or-later`、`GPL-2.0` と `GPL-2.0-only` の関係を解説
- OSI(Open Source Initiative)承認かどうかを表示
- コピーレフトの強さ:寛容 / 弱い(ファイル単位)/ 強い / ネットワーク(AGPL)
- 著作権とライセンス表示の保持が必要かを表示
- 約七十個の主要ライセンスを収録:MIT、Apache、BSD、GPL、LGPL、AGPL、MPL、ISC、CC0、EPL、Artistic、Zlib、BSL、WTFPL ほか
- 1 行に 1 つ、まとめて検証できる
- SPDX 式(MIT OR Apache-2.0 など)は分割を促す
使い方
- 1 行に 1 つの SPDX 識別子を貼り付けます
- 各行に判定と解説が表示されます
- 大文字小文字の誤りは正規の表記とともに指摘されます
- 行末のコピーボタンで個別の結果を取り出せます
よくある質問
- `GPL-2.0` と `GPL-2.0-only` の違いは?
- `GPL-2.0` は旧式で非推奨です。曖昧で、「GPL 2.0 のみ」とも「GPL 2.0 以降」とも読めるためです。現在の SPDX は `GPL-2.0-only` と `GPL-2.0-or-later` の 2 つに分けました。新規プロジェクトではどちらかを書いてください。どちらにするかは付与したい条件によります。
- `GPL-2.0+` と `GPL-2.0-or-later` は同じですか?
- 意味は同じですが、`GPL-2.0+` は非推奨です。末尾の `+` は旧式の「以降」表記で、現在の SPDX は `-or-later` と書くことを求めます。こちらの方が読みやすく、他の記号と混同しません。本ツールは `GPL-2.0+` を非推奨とし、`GPL-2.0-or-later` を示します。
- 「弱いコピーレフト」と「強いコピーレフト」の違いは?
- 弱いコピーレフト(LGPL、MPL、EPL など)は通常ファイル単位です。そのファイルを改変して再配布する場合にのみ、同じライセンスで公開する必要があり、クローズドなプログラムにリンクするのは普通は問題ありません。強いコピーレフト(GPL)は作品全体に及びます。GPL のコードをリンクしたプログラムを配布するなら、プログラム全体を GPL にする必要があります。ネットワーク・コピーレフト(AGPL)はさらに進み、配布しなくてもネットワーク経由で提供するだけでソース提供が必要です。
- なぜ一部のライセンスが見つからないのですか?
- この表は手作業で厳選した約七十個で、著者が確認できる項目だけを収録しています。SPDX 公式リストには六百以上の識別子があり、その多くはマイナーなライセンスや例外です。強いコピーレフトを寛容と誤って示す代償は「見つからない」よりはるかに大きいため、あえて絞っています。見つからない場合は、存在しないと決めつけず SPDX 公式リストで確認してください。
- 入力は送信されますか?
- いいえ。ライセンス表はページ内にあり、検証はブラウザ内で完結します。リクエストも API 呼び出しも行わないため、オフラインでも使えます。
関連ツール
Compose ↔ docker run
Webcompose の services 部分と docker run コマンドを双方向に変換します。対応物のないキーは理由付きで列挙し、黙って捨てません。
security.txt 解析
Websecurity.txt を解析して、連絡先・有効期限・その他のフィールドを一覧し、このファイルが今も有効か、どこが RFC に反しているかを明示します。
JS 展開
エンコードeval(function(p,a,c,k,e,d){…}) 形式の圧縮コードを展開し、逆に圧縮もできます。文字列処理のみで、スクリプトは実行しません。
URL 解析
WebURL を解析し、スキーム・ホスト・ポート・パス・クエリパラメータ・アンカーに分解します。パラメータは元の値とデコード値を並記。すべてブラウザ内で処理します。
UA 解析
WebUser-Agent を解析し、ブラウザ・バージョン・OS・デバイス種別・エンジンを判定します。判定はパターン照合による概算です。すべてブラウザ内で処理します。
HTTP ステータスコード
WebHTTP ステータスコードの検索。番号から意味を、キーワードから番号を引けます。1xx〜5xx の分類・利用場面・確認のポイント付き。すべてブラウザ内で処理します。