开源软件的License是一个很重要的声明,这代表了软件是基于何种许可证向世人开放的,对于其的使用又需要遵循何种规则。
开源软件自身又会依赖其他的开源软件,而那些依赖又会有自己的License,所以对于依赖的License检查是非常重要的。因为有些License是不兼容的,比如一个基于Apache License的开源软件是不能包含一个依赖于GPLv3的库。
所以检查依赖的License就变得很重要。
如果你精通各类开源软件,看名字就知道软件对应的License和兼容性,那自然不需要其他辅助,但是大部分情况这个很难做到。
License Maven Plugin是一个专门处理这种问题的插件。对于任何一个maven项目,简单地运行
mvn license:add-third-party -Dlicense.useMissingFile -Dlicense.includeOptional=true
输出如下:
…Lists of 67 third-party dependencies.
(BSD License) AntLR Parser Generator (antlr:antlr:2.7.7 – http://www.antlr.org/)
(Apache Software License 2.0) A Swiss Army Knife for OSGi (biz.aQute.bnd:bndlib:2.4.0 – http://www.aQute.biz/Code/Bnd/bndlib)
(Eclipse




