ソースツリーにどのライセンスがあるか知りたいです。コンピュータは、どのライセンスファイルが密接に一致するかを提案する必要があります。その後、meld
テキストとマニュアルを比較したいと思います。
一般的なソースツリーには、任意の種類の(ライセンス)テキストを含むことができるテキストファイルがあります/licenses/*
。
指標は、人間が読めるテキストの内容を強調する必要があります。
- 1つの追加の単語には、より少ない重みが与えられます。
- スペルミスには重みがあまり適用されません。
- スペースの最小重量
Linuxツールとファイルを比較するには?
$> supertool unknown.txt /licenses/* # example of an imaginary solution
0.10 gmap.txt
0.12 gnuplot.txt
0.14 GOG-EULA.txt
0.25 google-chrome.txt
0.13 Google-TOS.txt
0.87 GPL-1.txt
0.95 GPL-1+.txt
0.99 GPL-2.txt
0.56 GPL-2+.txt
0.60 GPL-3.txt
0.78 GPL-3+.txt
私が持っている1つのアイデアは、ライセンスのエントロピーを計算し、ライセンスをリンクしてunknown.txt
エントロピーを再計算することでしたent
。追加のエントロピーが最小化されたファイルは似ています。より良いアイデアがありますか?
ベストアンサー1
これを達成するための専門ツールがあります。あなたはそのうちの1つを探しています。オープンソースライセンスに準拠ツール。利用可能なツールのいくつかの例:
サンプル出力は次のとおりです。ほとんどのツールはソースファイルヘッダーでもライセンスを検索するため、ライセンスファイルのみを検索するように制限することをお勧めします。
Directory File License Confidence Size
------------------------------------------------------------------------------------
/home/vtrefny/projects/blivet/ COPYING GPL-2.0-or-later 99.47% 17.7K
/home/vtrefny/projects/blivet/ COPYING.LESSER LGPL-2.1-or-later 99.63% 25.9K
------------------------------------------------------------------------------------
より多くのものがあり、自分に合ったツールを見つけることができます。それらのいくつかは、非常に具体的なものが必要な場合はライブラリ/APIも提供します。