夜雨聆风学习资料网

ARTICLE · 1119282

用了开源代码,为什么被要求把整个项目开源?——GPL"传染性"风险全解析

用了开源代码,为什么被要求把整个项目开源?——GPL"传染性"风险全解析

上个月一个做企业网关的创始人找到我,脸都白了。他的产品卖了三年,最近收到一封律师函,说他用了OpenWRT的代码,却没有公开自己整套网关系统的源代码,要求他立刻停止销售、公开全部源码,否则起诉。

他问我:黄律师,我就是编译了一下开源系统,加了自己的界面和功能,怎么就要把我整个公司的东西都公开?

这就是开源世界里最著名的"GPL传染性"。今天我把这件事讲透,顺便说几个最高法已经判过的真案子。

一、先分清四种主流协议:宽松型和传染型

开源不是一个东西,是一大堆协议。最常见的四种:

  • MIT:最宽松。你用它的代码,只要保留原作者版权声明,随便闭源、随便商用,几乎没人管你;

  • Apache 2.0:也很宽松,但多了一条专利授权条款——你用了它的代码,就不能反过来告它专利侵权;

  • GPL v2/v3:这就是"传染性"协议。你用了GPL代码做衍生作品,一旦分发(卖、送、给客户装),整个衍生作品的源代码都必须以GPL公开;

  • AGPL v3:GPL的加强版。连SaaS网络服务都算"分发"——用户通过浏览器用你的服务,你也得公开源代码。

一句话:MIT/Apache是"借你用,不问你",GPL/AGPL是"你用我的,就得把你的也给大家"。

二、"传染性"到底是怎么传的

很多人以为GPL传染就是"抄了一段代码"。其实司法上看的是"衍生作品"这四个字,具体有四种场景。

场景一:直接复制、修改GPL代码。这是最明显的。你把GPL项目的源代码拿过来改一改、编译成自己的产品去卖,整个产品就被视为GPL衍生作品,必须公开全部源代码,包括你自己写的那部分。

场景二:静态或动态链接。你没有抄代码,但是用GPL的库做了链接,把它和自己的程序打成一个可执行文件。主流司法观点认为,这种"单一进程"里的链接,也会触发GPL开源义务。

场景三:SaaS网络服务。普通GPL对纯网络服务暂时不触发——你在自己服务器上跑GPL软件、给用户提供在线服务,不分发副本,传统GPL不管你。但AGPL不一样,AGPL明确规定:用户通过网络和你交互,就算"分发",你也得公开源代码。做SaaS的公司用AGPL代码,要格外小心。

场景四:前后端分离。最高法在(2019)最高法知民终663号案中讲得很清楚:前端用了GPL代码,后端是独立部署的服务,前后端之间通过网络接口通信,那么后端代码不受GPL约束;但如果别人未经许可复制了你的后端代码,照样构成软件著作权侵权。

三、最高法已经判过的真案子

讲两个和我刚才说的那位客户几乎一模一样的案子。

第一个,(2021)最高法知民终51号。网某科技(苏州)公司在OpenWRT(受GPLv2约束)基础上二次开发出网关产品OfficeTen 1800。浙江亿某通信公司挖走了网某的前员工,做出相似网关产品。亿某抗辩称:你网某自己都是用GPLv2代码做的,你自己就不享有著作权,凭什么告我?最高法二审驳回了这个抗辩,维持苏州中院一审判赔50万元。这个案子确立的规则是:GPLv2是一种"许可",不是"剥夺著作权"——只要你遵守GPL,你对自己新增的原创代码仍然享有著作权,别人抄你的,照样可以告。

第二个,(2019)最高法知民终663号。北京某电子商务公司诉某信息技术公司案。最高法明确:前端代码用了GPL,不影响后端独立代码的著作权归属;后端代码是否受GPL约束,要看前后端是否形成衍生作品。未经许可复制后端代码,仍然构成侵权。

这两个案子放在一起,给所有用开源代码的公司两个信号:

  1. 用了GPL代码,不等于你自己的代码就归公了。只要你按GPL公开了衍生作品的源代码,你对自己原创部分依然有著作权,别人抄你,你能告;

  2. 但如果你用了GPL代码却不公开源代码,你自己就是违约、侵权,人家反过来要求你公开源代码、停止销售、赔偿损失,法院是支持的。

四、创业公司怎么避坑

我给做To B软件、SaaS、嵌入式产品的客户,一般四条建议:

  • 代码引入阶段就做扫描。用FOSSA、Snyk、黑盒扫描工具,把项目里所有开源依赖、对应协议列清楚,建立SBOM(软件物料清单);

  • 优先选MIT/Apache/BSD类宽松协议。非要用GPL,就把GPL部分做成独立进程、独立服务,通过网络接口和自己的核心代码通信,避免形成衍生作品;

  • AGPL能不用就不用。做SaaS的公司一旦引入AGPL组件,用户在线交互就要开源,代价极大;

  • 保留好自己原创代码的证据。Git提交记录、开发文档、需求文档、版本日志,这些是将来主张著作权、对抗"你自己就是GPL"抗辩的关键。

开源不是法外之地,GPL也不是洪水猛兽。关键是从第一天起就知道自己用了什么、遵守了什么、留了什么证据。

那位收到律师函的客户,后来我们帮他做了三件事:梳理产品里OpenWRT的使用范围、评估哪些部分需要开源、和对方谈合规和解。三个月后他把符合GPL要求的源代码按规范公开,产品没有下架,公司也没倒。

开源合规这件事,平时看是成本,真出事时是命。国庆假期有空,建议技术负责人把项目的开源依赖扫一遍,别等律师函到了才熬夜补。

我整理了一份《开源协议合规自查表》,涵盖常见协议的商用规则、GPL/AGPL传染场景、企业SBOM建立步骤,一共18项。需要的朋友,私信"开源"领取。

黄继保

北京知寰律师事务所创始人、主任律师

律师 · 专利代理师 · 商标代理人;

首都经济贸易大学法学院兼职硕士生导师

业务专长:

知识产权全链条服务,擅长AI算法、软件、数据合规、医疗器械等硬科技领域知产保护与争议解决;在京执业逾十八年,办案逾千件。

教育背景:

中南财经政法大学 法学硕士 

 吉林大学 理学学士

社会职务:

第十二届北京市律师协会专利法律专业委员会委员

历任公司法、商标法专业委员会委员

北京法学会知识产权法研究会会员

电话:13911525319

知寰律师事务所 - AI时代知识产权全链条保护专家

加入「知寰-AI时代知识产权全链条保护」交流群

与企业创始人、法务、技术负责人一起,交流AI与知识产权保护实务。

扫码进群,免费领取合规资料、在线答疑

相关学习资料