检查依赖包许可证
LoongCollector 基于Apache 2.0 协议进行开源,开发者需要保证依赖包协议与Apache 2.0 协议兼容,所有依赖包或源码引入License 说明位于根目录 licenses
文件夹。
检查依赖包License
开发者可以使用以下命令进行依赖包License 扫描。
- 当提示
DEPENDENCIES CHECKING IS PASSED
时,说明依赖包检查通过。 - 当提示
FOLLOWING DEPENDENCIES SHOULD BE ADDED to LICENSE_OF_ILOGTAIL_DEPENDENCIES.md
时,说明依赖包将需要被添加(需要保证协议与Apache 2.0 协议兼容),可以查看find_licenses/LICENSE-{liencese type}
文件查看待添加依赖包协议。 - 当提示
FOLLOWING DEPENDENCIES IN LICENSE_OF_ILOGTAIL_DEPENDENCIES.md SHOULD BE REMOVED
时,说明存在多余的依赖包,按提示进行删除即可。
Fork 代码库管理
出于某些特性不支持原因,或精简依赖包原因,LoongCollector 会存在某些Fork代码库,所有Fork代码库存在于LoongCollector组织进行管理,出于License风险问题,禁止引入私人Fork版本。
go.mod 管理
- Fork 仓库: 对于Fork代码库,出于尊重原作者,禁止修改go.mod 仓库module地址,如样例所示。
- LoongCollector仓库: LoongCollector 仓库对于Fork代码库要求使用replace 方式引入,用以保持代码文件声明的引入包地址保持原作者仓库地址。
License 声明
请执行make check-dependency-licenses
指令,脚本程序将自动在find_licenses文件夹生成markdown 说明,请将说明放置于LICENSE_OF_ILOGTAIL_DEPENDENCIES.md文件末端,如下样例。
建议
如Fork 特性为原代码库的能力补充,非特定场景如精简依赖包等因素,建议对原始代码库提出PullRequest, 如原始仓库接受此次PullRequest,请将LoongCollector 仓库依赖包地址修改为原始仓库地址,并删除Fork仓库。