某科技公司核心产品上线半年后,收到了某开源项目权利人的律师函,主张该公司违反GPL许可证条款,要求公开全部衍生源代码并赔偿经济损失200余万元。
引发诉讼的,是一名研发人员从GitHub复制的一段底层通信模块代码。代码能跑,测试通过,产品上线——没有人意识到,这背后绑定着一份具有法律约束力的开源许可协议。
这不是孤例。随着国内司法实践对开源许可证法律效力的逐步明确,开源代码合规已从“技术问题”上升为“法律风险问题”,对以软件为核心资产的技术型企业构成实质性威胁。

开源协议是合同,具有法律约束力
开源许可证(如GPL、MIT、Apache 2.0等)并非“授权声明”或“免责函”,而是一种附解除条件的格式化著作权许可合同。权利人以许可证为载体,在保留著作权的前提下,向不特定使用者授予特定范围内的复制、修改、发布等权利;使用者通过“使用行为”完成对许可证条款的承诺,合同即告成立。
一旦使用者违反许可证约定的义务(如未开源衍生代码、未保留版权声明等),许可自动终止,使用者丧失合法使用权。此后的复制、分发行为即构成著作权侵权,适用《中华人民共和国著作权法》第五十三条之规定。

典型案例:违反GPL协议的法律后果
罗盒公司诉玩友公司案(国内早期开源协议司法裁判典型案例)
罗盒公司在GitHub上发布“Virtual App”项目源代码,采用GPL V3协议。玩友公司在其开发的商业APP中使用了该代码,但未按GPL V3要求公开相应衍生代码的源代码,亦未保留原著作权声明。
法院认定要点:
GPL V3协议属于附解除条件的民事法律行为,被告未履行开源义务,授权自动失效;
授权失效后继续使用,构成对原告计算机软件著作权的侵害;
判决被告停止侵权,赔偿经济损失及合理开支共计50万元。
该案确立了重要裁判规则:违反开源协议,侵权责任成立,不以权利人自身是否完全合规为前提——最高人民法院在二审中亦维持了这一认定逻辑。

实践中,以下三类情形导致企业涉诉的风险最高:
| GPL“传染性”未隔离 | ||
| 许可证文本未保留 | ||
| 许可证兼容性忽视 |
需要特别警惕的是:GPLv3/AGPL的“传染性”覆盖基于原代码的衍生作品。若核心商业逻辑代码与GPL代码存在“密切耦合”或“函数调用依赖”,在司法实践中存在被认定为整体构成“衍生作品”、从而被迫全部开源的实质性风险。
合规建设的实务建议
对于以软件为核心竞争力的技术型企业,应从以下层面构建开源合规能力:
1. 建立事前审查机制
引入开源代码前,须明确记录:来源地址、具体版本、许可证类型及版本号;
建立企业级开源许可证“白名单/黑名单/灰名单”制度,划定红线;
对高风险许可证(GPL、AGPL)设置独立审批流程,由法务与技术共同评估。
2. 实现发版前自动化扫描
在CI/CD流水线中嵌入SCA(软件成分分析) 工具,发版前自动扫描开源组件及许可证;
重点关注许可证冲突、传染性范围、声明保留义务等项目。
3. 落实代码隔离策略
确需使用强传染性许可证组件的,应设计独立进程/服务调用的架构方式,通过RPC/API通信而非代码链接,以降低被整体认定为“衍生作品”的风险。
4. 规范声明保留
产品分发时,须完整保留所有开源组件的版权声明、许可证全文、免责声明;
建议统一归集至产品文档的“第三方开源组件声明”章节,确保可追溯。
5. 提升团队法律意识
定期开展开源许可证法律培训,使研发团队明确“能用 ≠ 随便用”;
建立开源代码引入的操作规范与违规问责机制。
结语
开源代码的便利性不应遮蔽其法律属性。每一个GitHub仓库的“Clone”按钮背后,都对应着一份具有合同效力的许可条款。对于将软件视为核心资产的技术型企业而言,开源合规不是“法务的成本”,而是“风控的底线”。
在司法实践日趋成熟的当下,与其在收到律师函后仓促应对,不如在产品研发的前端建立合规防火墙。这既是保护公司商业利益,也是对开源社区创作成果的基本尊重。
免责声明:本文内容仅为法律知识科普与实务经验分享,不构成任何形式的法律意见。具体合规决策及风险应对,请咨询具有相关专业资质的执业律师。
夜雨聆风