【腾讯云代码分析】代码库开源合规检查-经典案例分享 (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
Uh oh!
There was an error while loading. Please reload this page.
-
背景介绍
随着开源软件的发展,越来越多的企业和组织开始使用开源软件。然而,随着开源软件的使用范围和规模的不断扩大,也暴露出了一些合规问题,如许可证冲突、版权侵犯、安全漏洞等。
本文介绍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