版权开源许可大模型AI监管

大模型开源合规审查与操作路径

大模型的开发和使用通常依赖于大量的开源软件和库,技术上无疑给开发者提供了大量可用的资源,可以节约开发成本,一定程度上可以说是一条“捷径”,但这条“捷径”并不是随便就能走通的,在开源领域有着非常复杂的开源协议体系,要在遵守这些协议的前提下使用开源资源,这些纷繁复杂的开源协议和政策就像“路书”一样把开发者引领到合法和正确的路径上。

张延来律师
2024年6月13日约 8 分钟阅读4 次阅读

大模型开源合规审查与操作路径

大模型的开发和使用通常依赖于大量的开源软件和库,技术上无疑给开发者提供了大量可用的资源,可以节约开发成本,一定程度上可以说是一条“捷径”,但这条“捷径”并不是随便就能走通的,在开源领域有着非常复杂的开源协议体系,要在遵守这些协议的前提下使用开源资源,这些纷繁复杂的开源协议和政策就像“路书”一样把开发者引领到合法和正确的路径上。

因此开发者在大模型开发过程中进行开源合规审查显得尤为重要,特别是如果使用开源资源开发出来的大模型后续会应用到商业领域更加需要关注,避免因为权利瑕疵导致后续的商用难以实现。实践中,开源导致的争议已经开始出现,之前有零一万物的大模型陷入“抄袭风波”,被指与开源大模型Llama的架构高度一致,近期国内AI创业公司面壁智能的大模型被美国斯坦福大学AI团队套壳抄袭再度引起关注,2021年,深圳市中级人民法院在一起侵害计算机软件著作权纠纷中,明确认定被告违反GPL 3.0项下的开源代码使用条件导致约定的权利终止,遂判令被告立即停止使用相关开源代码并赔偿原告损失,被认为是国内首例因违反开源软件许可证GPL而被判令承担赔偿责任的案件,可见开源不等于“拿来就用”。

在实际操作过程中,开源合规审查有不小的专业门槛,开放源代码促进会(Open Source Initiative)公开认可的开源许可证已达100多种,法律层面要理清楚各种开源协议、政策、使用条款等并非易事,而技术侧也需要搞清楚到底自家的开发团队用了哪些开源资源,所以“技术+法律”在这个过程中的复合性要求非常高。

本文根据过往的项目经验,框架性的介绍一下大模型开源合规审查,包括审查的必要性、风险分析、审查维度、工具和具体操作等,以供有关开发者参考。

一、开源合规目的和必要性

开源合规审查是指对项目中使用的开源组件及其许可证进行系统性的检查,以确保其使用符合相关法律和项目自身的合规要求。对于大模型开发,这一过程尤为重要,因为大模型通常会集成多个开源库和工具,这些组件的合规性直接关系到整个项目的合法性和安全性。

1. 确保合法使用

开源合规审查可以帮助确保项目中使用的所有开源代码都经过合法授权。这样可以避免侵犯他人的知识产权,减少法律风险。

2. 增强项目安全性

通过对开源组件的漏洞和安全性进行检查,开源合规审查可以预防潜在的安全风险,保护项目免受恶意攻击和数据泄露的威胁。

3. 维护项目声誉和信任度

遵循开源合规标准有助于维护项目的透明度和公信力,增加用户和合作伙伴的信任。同时,合法合规的项目更容易获得社区的支持和贡献。

如果未能进行开源合规审查,项目可能面临以下法律风险和问题:

1. 知识产权侵权

使用未经授权的开源代码可能导致知识产权侵权,从而引发诉讼和赔偿。例如,2017年Verizon因在其路由器固件中使用了GPL许可证下的代码而未遵守许可证条款,被起诉并达成和解。

2. 许可证不兼容

不同开源组件的许可证可能存在兼容性问题,若不进行合规审查,可能导致项目无法发布或被迫中止。例如,某些许可证(如GPL)要求所有派生作品必须同样以GPL许可证发布。

3. 安全漏洞

使用存在安全漏洞的开源组件可能导致数据泄露和系统被攻击。例如,Heartbleed漏洞影响了大量使用OpenSSL库的项目,导致敏感数据暴露。

二、审查维度

1. 许可证分析

许可证识别:检查所有开源组件的许可证类型,确保每个组件的许可证被正确识别。

许可证兼容性:分析不同开源组件之间的许可证兼容性,确保它们之间不存在冲突。

2. 知识产权检查

所有权验证:验证每个开源组件的所有权,确保其来源合法且已获得必要的授权。

贡献者许可协议(CLA):确保所有贡献者签署CLA,明确其贡献的知识产权归属。

3. 安全性检查

漏洞扫描:使用工具扫描开源组件中的已知漏洞,并及时修复。

安全评估:评估开源组件的安全性,避免使用有安全隐患的代码。

4. 使用范围和合规性

使用条款:确保开源组件的使用符合其许可证的使用条款,不超过许可范围。

数据保护:检查开源组件是否符合数据保护和隐私法规,如GDPR。

三、工具使用

技术工具是必不可少的,毕竟很多时候开发人员埋头只顾写代码,根本顾不上识别哪些是开源的部分,所以最有效的办法当然是找到专业工具,从已经完成的代码中进行扫描和识别。

有一些工具可以用来检测和分析大模型源代码中是否使用了第三方开源代码。这些工具可以帮助开发者确保代码的合规性和知识产权的清晰性。常用的包括:

1. FOSSology

FOSSology 是一个开源的许可证合规扫描工具,能够分析代码库并识别其中的开源组件和许可证。它可以帮助组织确保其使用的开源代码符合公司和法律的要求。

功能:

文件扫描:扫描源代码文件,识别开源许可证。

知识产权合规性分析:检查代码中使用的开源组件是否符合规定。

报告生成:生成详细的合规报告。

Black Duck

Black Duck 是一个由 Synopsys 提供的商业工具,用于开源管理和安全性分析。它可以识别和管理项目中使用的开源软件,评估安全漏洞和许可证合规性。

功能:

代码扫描:扫描代码库以识别开源组件。

安全性评估:检测开源组件中的已知漏洞。

许可证合规性:分析开源组件的许可证,确保合规。

WhiteSource

WhiteSource 是一个开源管理平台,能够自动识别和管理项目中的开源组件。它提供了详细的报告,帮助组织了解其代码库中的开源组件及其许可证信息。

功能:

实时开源扫描:实时检测和报告代码库中的开源组件。

漏洞检测:识别和报告开源组件中的安全漏洞。

许可证合规性管理:提供许可证合规性报告和建议。

OpenRefactory

OpenRefactory 提供了一种代码审查工具,可以检测代码中的开源组件及其许可证信息。它有助于开发者识别代码中的潜在知识产权问题。

功能:

代码分析:扫描和分析代码库中的开源组件。

合规性检测:检查开源组件的许可证和合规性。

安全性评估:检测代码中的安全漏洞。

Snyk

Snyk 是一个专注于开源安全性的工具,能够扫描代码库中的开源组件,检测和修复安全漏洞,同时管理许可证合规性。

功能:

漏洞检测:扫描并报告开源组件中的安全漏洞。

修复建议:提供漏洞修复的建议和解决方案。

许可证合规性:分析和报告开源组件的许可证信息。

小结

假设你正在开发一个大模型,并且想确保代码库中没有未授权使用的第三方开源代码。你可以使用上述工具中的一个或多个进行以下步骤:

扫描代码库:使用工具扫描你的代码库,识别其中的所有开源组件。

分析许可证:检查每个开源组件的许可证,确保其符合项目的许可证合规性要求。

生成报告:生成详细的合规性报告,记录每个开源组件的来源、许可证类型和合规性状态。

修复问题:根据报告中发现的问题,更新或替换不合规的开源组件,确保项目的合规性。

通过这些工具的帮助,可以有效地管理和维护大模型项目中的开源组件,确保其合规性和安全性。当然,仅仅是借助工具是无法做到周密且严谨的,实际情况非常复杂,需要专业人士结合公司的开发需求来最终评估合规路径,如何设置不同开源资源的优先级和权重,如何在不同资源中取舍以便最大程度实现后续的开发商用意图,这些并不是单纯的工具可以完成的,所以“人机结合”在开源合规工作中体现的非常充分。

分享文章
阿来律师 AI分身
AI 分身