【腾讯云代码分析】代码库开源合规检查-经典案例分享 (1) #1194
xiohuang9
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景介绍
随着开源软件的发展,越来越多的企业和组织开始使用开源软件。然而,随着开源软件的使用范围和规模的不断扩大,也暴露出了一些合规问题,如许可证冲突、版权侵犯、安全漏洞等。
本文介绍TCA在进行代码库开源合规检查中,解决许可证冲突的经典案例。
规则介绍
我们在项目开发过程中,经常会引入第三方开源组件。需要特别注意的是这些开源组件的License协议,比如是否具备强传染性、分发或修改是否符合法务合规安全、是否强制要求开源等。因此,识别出开源组件使用的License是至关重要的第一步,然后可以根据这些License有针对性的去处理。
TCA集成工具LicenseClassifier,能够准确识别代码库中的明文License,不管是LICENSE文件、文本文件、Markdown文档或源代码,都是检测目标。
同时,LicenseClassifier还根据 Google License Classification对License进行了分类,我们将分类映射到严重级别:
经典案例
案例一
这是个java源码文件,文件头部带有license信息,识别出来为高严重级别的 GPL-2.0 协议。该协议具有强传染性,要求复制和分发必须带上许可证和免责声明,如果修改后分发,则要授权所有人都可免费使用、复制、修改、再分发。
建议使用更低严重级别License的组件来替换;如果不涉及修改,则不需要被迫开源,只要附上许可证和免责声明即可。
案例二
这是个LICENSE文件,识别出了致命严重级别的Commons-Clause协议。该协议禁止对软件进行任何商业用途,禁止售卖,因此无法用于任何商业行为。
商业软件中严禁使用此License的组件,需要删除或替换。
规则使用说明
进入页面,点击方案->规则配置 -> 添加规则 -> 搜索工具名 LicenseClassifier ->批量添加规则
联系我们
欢迎访问我们的平台:腾讯云代码分析
使用文档:腾讯云代码分析帮助文档
持续为您的代码助力!
扫描可进开源群畅聊技术&答疑解惑
Beta Was this translation helpful? Give feedback.
All reactions