推荐收藏!年度Top20开源许可证风险等级

简介: 收下这份常见许可证风险等级表,快速判断合规风险

开源许可现状

开发人员经常在软件中引入开源的代码片段、函数、方法和操作代码。因此,软件代码中经常会包含各种声明不同许可证的子组件。这些子组件的许可证条款和条件与项目整体主许可证的条款和条件冲突时,就会产生许可证合规风险。

Synopsys 2023 Open Source Security and Risk Analysis(《2023开源安全和风险分析(OSSRA)》)报告显示,在2022年审计的所有代码库中,54%的代码库包含与主许可证冲突的开源内容。

Creative Commons ShareAlike 3.0(CC BY-SA 3.0)是今年最常见的引发许可证冲突的许可证。该许可证要求署名、非商业性使用及相同方式共享。在开发人员中很流行的在线问答平台Stack Overflow对这一许可证的流行起到了很大的助推作用。

从行业角度来看,去年,计算机硬件和半导体行业中93%的代码库存在开源许可证冲突;今年这一数字下降到了75%。总体而言,全行业的许可证冲突情况都有类似的改善。今年,冲突比例最高的是物联网行业(78%)。

第一部分.png

许可证合规风险

软件产品默认受版权保护;未经创作者/作者以许可形式授予的明确许可,任何人不得非法使用、复制、分发或修改该软件。即使是相对宽松友好的开源许可证也规定了用户使用、修改和分发开源软件的一些行为准则。

当代码库中包含的开源代码的许可证与代码库的整体许可证相冲突时,就会产生潜在的许可证风险。GPL许可证族是开源项目中比较常见的许可证,当使用GPL许可证的代码被包含在商业或闭源软件中时,很大概率会产生许可证合规风险。

此外,通用开源许可证的变体可能会对代码的授权提出附加要求。例如,JSON许可证就是在MIT许可证的基础上增加了“软件仅限用于善意用途,严禁用于恶意用途”的限制。但这一表述在实际情况中又过于模糊,可能需要进一步法律专业层面的评估。

按风险划分的开源许可证

下表列出了过去一年(2022-2023)被使用最多的开源许可证及它们在合规问题上的风险等级以供参考(整理自《2023开源安全和风险分析(OSSRA)》)。

排序图.jpg

*包括组件声明公开但未声明具体的公共许可的情况,如Unlicense或CC。

开源安全共建

感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHub和Gitee持续迭代,欢迎Star和Fork,也欢迎向我们提交ISSUE和PR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。

相关文章
|
JSON Linux Android开发
ESP8266透传:发送数据到HTTP服务器
ESP8266透传:发送数据到HTTP服务器
659 0
微信封号脚本插件,全自动批量投诉工具, vx隔空抓包封号思路【仅供学习参考用途】
这是一款针对微信投诉自动化处理的工具插件,通过模拟点击操作实现批量投诉功能。相比手动投诉,该插件效率更高、成功率更有保障。
|
3月前
|
数据采集 运维 自然语言处理
从误检到精准:手把手教你构建高可用RAG系统的黄金法则
本文系统拆解RAG系统开发中的十大关键误区,涵盖数据治理、检索优化、生成控制与系统运维四大维度,结合企业级实践提出四维优化框架,助力开发者构建高精度、高可用的RAG系统,提升检索与生成匹配效率,保障知识准确性与系统稳定性。
199 1
|
9月前
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
1585 13
|
自然语言处理 监控 关系型数据库
MySQL模糊匹配技巧:无需ES的高效实现
在数据库应用中,模糊匹配是一个常见的需求,尤其是在不引入Elasticsearch(ES)等外部搜索引擎的情况下。MySQL作为强大的关系型数据库,提供了多种实现模糊匹配的方法。本文将分享如何在MySQL中实现模糊匹配,并提供五大步骤和十个实战案例,帮助你提升查询效率和性能。
1376 1
|
监控 数据可视化 数据挖掘
成本累计曲线:项目预算的秘密武器
成本累计曲线(S曲线)是项目管理中用于分析和跟踪成本的重要工具,它随时间展示项目的累计成本或资源使用量,帮助项目经理实时了解成本支出和进度差异,及时调整预算和资源分配。本文详细介绍了S曲线的定义、关键步骤及在项目各阶段的应用,强调了项目管理工具在提高成本管理效率和准确性方面的辅助作用。
461 3
|
关系型数据库 MySQL Linux
虚拟机下安装mysql(按相应步骤操作 / 图文)下
虚拟机下安装mysql(按相应步骤操作 / 图文)下
1277 0
|
安全 网络安全 数据安全/隐私保护
|
监控 数据可视化 搜索推荐
万界星空科技商业开源MES系统全面解析
万界星空科技提供商业开源MES系统,基于Java的开源版本,含源码及拖拽式数据大屏,适用于定制开发。系统集成ERP、PDM、QC,实现无缝对接与智能调度,优化资源配置。具备实时监控、质量控制、灵活定制等功能,支持低代码定制,广泛应用于多个制造业领域。欲了解更多,可访问官网或搜索联系。
367 10
|
JavaScript 开发工具 数据安全/隐私保护
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
388 0