在我的程序中使用第三方庫之前,我想確保它包含的所有材料對我來說都是合法的。比如我有jline jar從repo1.maven.org查找罐子中的所有依賴項
我想確認哪些軟件包已經讓我運行下面的命令:
$ unzip -l jline-2.13.jar
Length Date Time Name
--------- ---------- ----- ----
0 08-10-2015 18:32 META-INF/
989 08-10-2015 18:32 META-INF/MANIFEST.MF
0 08-10-2015 18:32 jline/
... // more jline files
0 08-10-2015 18:32 META-INF/maven/
... // more maven files
0 08-10-2015 18:32 org/
0 08-10-2015 18:32 org/fusesource/
0 08-10-2015 18:32 org/fusesource/hawtjni/
... // more hawtjni files
0 08-10-2015 18:32 org/fusesource/jansi/
... // more jansi files
--------- -------
549270 133 files
$
從這個輸出我看到的JLine,hawtjni和jansi是使用,所以我去找那裏的許可文件:
- https://github.com/jline/jline2/blob/master/LICENSE.txt
- https://github.com/fusesource/hawtjni/blob/master/license.txt
- https://github.com/fusesource/jansi/blob/master/license.txt
有沒有其他的事情我應該做,以確保沒有其他的軟件包被使用?
額外的問題:因爲這些都是Apache和BSD許可證(我不修改其內容或展示自己的產品名稱),我只需要說明的是,這些庫是在用我的項目幷包括他們各自的許可證? 這可能會更好地問合法堆棧交換。
爲什麼不使用像Maven這樣的構建工具而不必擔心呢?因爲這個依賴關係樹可能會非常快地變得非常高。 – Tunaki