hack のためのネタ帳, etc,,,

Go で書かれたライセンス条文の識別ライブラリ
なぜか実行可能なコマンドが付属してない。

公式ページ等

ライブラリのみが提供されており、独立したコマンドが提供されてないため、数行プログラムしてやる必要がある。最低限ならこんな感じ。

licensecheck.go

package main

import (
	"fmt"
	"os"
	"github.com/google/licensecheck"
)

func main() {
	fmt.Println(licensecheck.Cover([]byte(os.Args[1]), licensecheck.Options{}))
}
判別結果
wget -q https://github.com/spdx/license-list-data/raw/master/text/GPL-2.0-only.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/GPL-3.0-only.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/GPL-2.0-or-later.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/GPL-3.0-or-later.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/MIT.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/BSD-2-Clause.txt
wget -q https://github.com/spdx/license-list-data/raw/master/text/BSD-3-Clause.txt
wget -q https://github.com/westes/flex/raw/master/COPYING -O flex.txt
$ for i in *.txt; do echo "$i:"; go run licensecheck.go "$(<$i)"|&sed -E 's/^/\t/g'; done
BSD-2-Clause.txt:
	{96.84210526315789 [{BSD-2-Clause BSD 97.87234042553192 52 1286 false}]} true
BSD-3-Clause.txt:
	{97.27272727272727 [{BSD-3-Clause BSD 98.1651376146789 52 1478 false}]} true
GPL-2.0-only.txt:
	{100 [{GPL2 GPL 99.55827387020048 0 17621 false}]} true
GPL-2.0-or-later.txt:
	{100 [{GPL2 GPL 99.55827387020048 0 17620 false}]} true
GPL-3.0-only.txt:
	{100 [{GPL3 GPL 100 0 34467 false}]} true
GPL-3.0-or-later.txt:
	{100 [{GPL3 GPL 100 0 34467 false}]} true
MIT.txt:
	{96.53179190751445 [{MIT MIT 97.60479041916167 54 1106 false}]} true
flex.txt:
	{37.407407407407405 [{BSD-3-Clause BSD 45.87155963302752 628 1324 false}]} true

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

編集にはIDが必要です