张德升律师 · 计算机软件与 AI 法律事务

公司产品里使用了 GPL 开源代码,必须开源全部源代码吗?

不一定。GPL 协议下使用开源代码的衍生作品必须以 GPL 同等条件开源,否则构成《中华人民共和国著作权法》第五十二条规定的著作权侵权;但是否构成"衍生作品"取决于代码引用方式——静态链接构成衍生、动态链接存在争议、独立进程通常不构成。企业引入 GPL 代码前必须做技术架构合规审查,闭源商用前应优先替换为 MIT、Apache 2.0 等宽松协议。

一、GPL 协议的法律性质:著作权许可,不是买卖合同

GPL 协议在中国司法实践中被定性为著作权人发布的格式化授权合同,受《中华人民共和国著作权法》《中华人民共和国民法典》合同编共同规制。

这意味着两件事:

  • 用户使用 GPL 代码即视为接受 GPL 协议条款,无需另行签订书面合同;
  • 违反 GPL 协议同时构成违约和著作权侵权,权利人可以同时主张违约责任与侵权责任(择一行使)。

GPL 不是"放弃著作权",而是著作权人以"开源换开源"为对价的许可使用。把 GPL 误读为"免费 = 公有领域"是企业合规事故的常见起点。

二、GPL v3 协议下商用合规的四条底线

GPL v3 的核心义务可以归纳为四条不可触碰的底线:

  1. 保留原始版权声明与协议文本:不得删除或修改源代码中的版权头与 LICENSE 文件;
  2. 不得追加额外限制:包括但不限于专利诉讼条款、商业使用限制、保密义务;
  3. 以 GPL 同等条件分发衍生作品:分发对象包括对外销售、SaaS 服务对最终用户、内部交付给关联公司;
  4. 向接收者提供完整对应源代码:包括构建脚本、安装指引、第三方依赖清单(即 SBOM)。

任何一条违反,都可能被认定为协议自动终止(GPL v3 第 8 条),后续使用即构成侵权。

三、静态链接、动态链接与独立进程的传染性差异

三种代码引用方式触发的开源义务完全不同,这是企业合规的真正技术分界线:

  • 静态链接(编译进同一二进制可执行文件):GPL 代码与商业代码被打包为同一程序,整体被认定为衍生作品,必须整体以 GPL 开源;
  • 动态链接(运行时通过 .so、.dll、JNI 调用):自由软件基金会(FSF)主张构成衍生作品,国内司法实践存在争议,合规上建议视为传染;
  • 独立进程(fork、exec、IPC、RPC、HTTP API 通信):商业代码与 GPL 代码运行在不同进程,通过标准接口通信,通常不构成衍生作品,商业代码可以闭源。

LGPL 协议是"宽松版 GPL",允许动态链接到闭源代码,但静态链接或修改 LGPL 库本身仍触发开源义务。

四、企业引入开源代码的五项操作要点

实务中,企业要安全商用开源代码,应当建立以下五项机制:

  1. 建立开源软件清单(SBOM, Software Bill of Materials):记录每一个第三方依赖的协议、版本、引入路径;
  2. 按协议传染性分级管理:GPL/AGPL 列为高风险、LGPL/MPL 列为中风险、MIT/Apache/BSD 列为低风险;
  3. 隔离 GPL 代码到独立服务/独立进程:通过 HTTP API、gRPC、消息队列等独立进程通信,避免静态/动态链接;
  4. 商用产品优先选择 MIT、Apache 2.0、BSD 协议:上述协议允许闭源衍生作品,仅要求保留版权声明;
  5. 上线前过法律+技术双重审查:法务核协议合规边界,技术核架构是否真的独立进程,AGPL 还须额外检查 SaaS 场景下的"用户即接收者"条款。

五、常见问答

Q1:使用 LGPL 协议的开源库,是否也要开源公司代码?

不需要。LGPL 允许通过动态链接调用 LGPL 库的闭源应用程序,调用方无需开源;但若静态链接 LGPL 库,或修改 LGPL 库本身的代码,仍触发 LGPL 同等条件开源义务。

Q2:GitHub 上没标协议的代码,可以拿来商用吗?

不能。无许可证不等于公有领域,根据《中华人民共和国著作权法》第十一条,作品自创作完成即享有著作权。使用未授权代码构成《中华人民共和国著作权法》第五十二条第一项侵犯复制权。

Q3:AGPL 协议与 GPL 有什么区别?

AGPL(GNU Affero General Public License)填补了 GPL 的 SaaS 漏洞:通过网络向用户提供服务即视为"分发",必须向最终用户提供完整源代码。如果公司是 SaaS 服务商,AGPL 比 GPL 更危险,应禁止引入。

Q4:违反 GPL 协议会赔多少钱?

法院通常按合理许可使用费的 1—3 倍认定赔偿,叠加合理维权费用(含律师费、公证费)。具体金额取决于侵权代码的市场价值、侵权产品销售规模、主观过错程度。

Q5:项目开源后能否反悔撤回?

不能。GPL 协议是不可撤销的永久授权,已分发的版本无法收回开源许可;但权利人可以变更未来版本的协议(俗称"重许可"),前提是该项目的全部贡献者均同意。

引用法条

  • 《中华人民共和国著作权法》第三条、第十条、第十一条、第五十二条
  • 《中华人民共和国民法典》第四百九十六条、第四百九十七条(格式条款)
  • 《计算机软件保护条例》第八条、第二十四条
  • GNU General Public License v3.0(GPL v3)第 0、4、5、8 条
  • GNU Lesser General Public License v3.0(LGPL v3)

本文基于 2026 年 6 月 有效法律法规撰写。具体案件需结合事实综合判断,本文不构成具体法律意见。

张德升律师

执业律师 执业证号:13205201710666499 执业地:江苏苏州

业务领域

  • 计算机软件著作权侵权与开源软件合规(GPL/MIT/Apache 许可、源代码侵权与软件开发合同纠纷)
  • 生成式 AI 合规与 AI 侵权(AI 换脸、深度合成、训练数据、AIGC 著作权与肖像权/名誉权/个人信息侵权)
  • SaaS 服务合同纠纷与企业数据合规(含个人信息保护、数据出境合规)
  • 自动驾驶与智能网联汽车法律事务(产品责任、机动车交通事故、道路测试许可争议)
  • 涉计算机犯罪刑事辩护,包括:
    • 侵犯公民个人信息罪(刑法第二百五十三条之一)
    • 帮助信息网络犯罪活动罪(刑法第二百八十七条之二),含俗称跑分、出借支付通道、银行卡贩卖
    • 非法利用信息网络罪(刑法第二百八十七条之一)
    • 非法获取计算机信息系统数据罪(刑法第二百八十五条第二款)
    • 非法控制计算机信息系统罪(刑法第二百八十五条第二款)
    • 提供侵入、非法控制计算机信息系统程序、工具罪(刑法第二百八十五条第三款)
    • 破坏计算机信息系统罪(刑法第二百八十六条)
  • 虚拟币相关刑事辩护与合规咨询

咨询联系:电话/微信 16605122789 邮箱 law@lawkeyai.com