Webから取得しローカルへ配置する。
成果物
実行
sudo apt install -y jq git clone https://github.com/ytyaru/Shell.license_getter.20200129080000 cd Shell.license_getter.20200129080000/src ./get_license mit
カレントディレクトリにLICENSE-MIT.txtが出力される。
対応ライセンス
| 取得元 | 件数 | 補足 |
|---|---|---|
| github | 33 | 内3つがファミリーネームなので実質30個 |
| spdx | 402 | 重複名があるためもっと少ないはず。GPL-3.0, GPL-3.0-ony等 |
問題
とりあえずライセンスファイルを取得することを最優先にした。細かいことには一切手を付けていない。以下のような問題がある。
- ライセンスファイル名はどうべきか?
LICENSE,LICENSE.txt,LICENSE.md,LICENSE-APACHE,LICENSE-Apache.2.0,LICENSE-Apache.2.0.txt,LICENSE-apache.2.0.txt
- 複数のライセンス(デュアルライセンス)がある場合の対処方法は?
SPDX license expressionMIT OR Apache-2.0AGPL-3.0-or-later AND Apache-2.0
- ライセンスファイルの著作権
copyright (c)を置き換えない- github
- フォーマットされていない
- 各ライセンスファイルに対応する置換処理を実装する必要がある
- spdx
- text: フォーマットされていない
- template: 形式が難解すぎる
- github
- 標準ライセンスヘッダーを追加
- 追加するかどうか
- ライセンスごとに異なる
- どこに?
- ライセンスファイル?
README.md?- ソースコードファイル?
- 追加するかどうか
- 別の名前で同じ名前が出力される
- 例1:
GPL-3.0、GPL-3.0-onlyは同じである- 次のように個別のファイルとして出力されてしまう
LICENSE-GPL-3.0.txtLICENSE-GPL-3.0-only.txt* 例2:
GPL-3.0 +、GPL-3.0-or-laterは同じである- 次のように個別のファイルとして出力されてしまう
LICENSE-GPL-3.0+.txtLICENSE-GPL-3.0-or-later.txt
- 例1:
所感
問題が多い。特にcopyright (c)はどこかに記載しておくべきだろう。もしパブリックドメインなら最低でも著作権発行年だけは書いておくべきと思われる。表記の仕方はどうすべきか?
since: 2020publish: 2020-01-01
どこに書くべき? ライセンスファイル内? それともREADME?
おそらくREADMEに標準ライセンスヘッダの一部として書くのが正しいと思うが、どうなのだろう。ライセンスによって違うのかもしれない。調べるのが超面倒。
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux