观韬知产观察 | 开源协议GPL3.0的性质与侵权风险
作者:李洪江 李嘉俊
前言:时至今日开源社区已引领开放创新和数字创新实践前沿超过二十载,并正以其独特的方式重塑着数字经济时代下人类社会的组织生产模式与价值逻辑。据报告显示,当前已经有超过90%的IT领导者都在使用企业级开源,国内超过八成的软件开发中使用到了开源技术。《国民经济和社会发展第十四个五年规划和二〇三五年远景目标纲要》首次将“开源”纳入顶层设计,开源经济俨然成为各界关注的焦点。开源理念创造巨大经济效益的同时,也对传统的知识产权保护制度提出了挑战。本文将介绍开源软件的发展历史、价值追求、GPL许可证文本,并结合国内的司法裁判观点探讨有关开源的法律问题。
一、自由软件运动与GPL3.0的诞生
目前,计算机程序被纳入著作权法的保护范畴并被世界范围普遍接受。20世纪80年代,美国电话电报公司(AT&T)推出的操作系统UNIX被世界各地的学者与开发人员广泛使用。彼时的AT&T通过著作权保护对UNIX实行专有,其源代码也逐渐走向封闭。为了应对软件闭源的垄断效应,理查德.斯托曼(Richard Stallman)发起了自由软件运动,其核心理念是,软件的用户应该拥有运行、复制、分发、研究、修改和改进软件的自由。他还倡导了GNU计划,并在次年创办了对开源产业影响深远的自由软件基金会(Free Software Foundation, FSF)。
GPL 3.0是由自由软件基金会发布的一种自由软件许可证,其旨在确保软件保持自由发布,同时提供对开发者和最终用户的保护。GPL 3.0 是 GPL 许可证的第三个版本,旨在解决前两个版本中出现的一些法律和技术问题。
二、GPL3.0的许可模式
每次分发 GPL 程序时,接收者会自动依据相关 GPL 条款从每个上游许可人处获得一个许可证。只要分发的作品中包含其他版权所有人的素材,这些版权所有人就都是上游许可人。这相当于是一个三维(而非线性)许可权利。该作品的每个接收者都默认或直接从每位许可人处获得许可。
这一自动向下游授予许可的机制是 Copyleft 得以运行的核心。每个许可人独立授予许可,而且每个许可人都有权在遭到侵权后独立终止该许可。在 GPL2.0协议下,受到侵犯的许可会自动终止,而在 GPL 3.0 协议下,违反许可证协议的一方可能在许可终止前进行补救。侵权方的下游用户只要未侵权,其获得的许可就仍然有效,因为他们是从所有的上游权利人处直接获得许可,而不依赖于分发软件的侵权方所授予的许可。基于相同原因,任何侵权人即使再获得一份该程序副本,也无法获得任何新许可权利。也就是说,一旦该程序的任何上游许可人终止了授予侵权人的许可,该侵权人就无法再自动获得新许可,即使再获得一份该软件也不允许。
三、GPL3.0的著佐权“触发器”
大多数开源义务都是通过分发(distribution)触发的。依据GPL3.0,如果发布软件的副本,无论以免费还是以收费的模式,须确保副本的接收者也能收到或者得到源代码。“传播(propagate)”作品指使用该程序做任何如果没有许可就会在适用的版权法下直接或间接侵权的行为,包括复制,分发(无论修改与否),向公众提供等;但不包括在电脑上运行或者私下的修改。也就是说“传播”的边界大于“分发(distribution)”。“发布”作品指任何让其他方制作或者接收副本的传播行为;仅仅通过电脑网络与一个用户交流,且没有发送程序副本的行为不是发布。
GPL3.0的基本许可部分将被许可人分为了两种:不发布受保护作品的被许可人,可以无条件地制作、运行和传播作品;发布受保护作品(无论修改与否)的被许可人则需要满足GPL3.0规定的条件(提供修改声明、随程序附带源代码等)。
四、GPL 3.0的性质
早期我国就有学者提出:开源许可证属于合同,认为 GPL在内容和形式上都具备合同的法律特征,适用 GPL 进行许可的行为首先是一种民事法律行为,其次源代码的接收者通过使用源代码的行为做出了承诺并与发布者达成合意;最后,GPL 在形式上具备合同的法律特征,属于书面合同。[1]也有学者认为,缔结履行 GPL 的行为属于负担债务的行为,在具体当事人中产生约束力,符合合同成立的一般要件,权利人发行源代码并附加 GPL 协议可以被视为邀约,源代码接收者下载使用、修改或传播著作权人所公开源代码的行为则为承诺,且承诺作出即产生法律效力,合同即告成立。
我国互联网行业在2000年后迅速进入高速发展期,几与欧美同步,GPL 协议的效力很快进入我国司法审查的视野,贡献出“不乱买公司诉闪亮公司案”“数字天堂诉柚子移动案”以及“罗盒”系列案等经典案例。 2019年11月初,数字天堂公司诉柚子公司等侵犯计算机软件著作权纠纷案,由北京高院二审作出终审判决,被称为中国 GPL 诉讼第一案。[2]深圳知识产权法庭祝建军法官认为软件著作权人将其享有权利的软件按照平台的规定进行上传,即意味着该软件著作权人愿意按照平台规定的许可证将其软件进行开源许可,此为合同要约行为。而用户对平台上的开源软件进行使用、修改、发布,则意味着其以行为的方式承诺愿意按照开源许可证使用该开源软件,此为合同承诺行为。如此一来,双方通过行为的方式成立开源软件许可证合同关系。 [3]在后续涉及 GPL 协议的判例中,法院进行了更多的探索。在罗盒公司诉风灵公司案中,法院指出开源许可证具有合同性质,可认定为授权人与使用者订立的著作权协议,属于我国合同法调整的范围。[4]入选2021年中国法院十大知识产权案件的罗盒公司诉玩友公司案中,法院直接对开源协议的效力做出了认定,认为协议内容具备合同特征,属于广义的合同范畴,是授权方和用户订立的格式化著作权协议。[5]
五、GPL3.0传染性约束范围的司法审查
在我国最早涉及GPL的案件-柚子公司等与数字天堂公司著作权纠纷案中,法院在认定涉案插件是否开源软件时,以涉案插件所在文件夹中不含有开源许可证文本为由,否定了涉案插件为开源软件的衍生软件。案件上诉后,二审法院同意了一审法院有关开源软件和开源许可证的认定。该判决仅根据开源协议所在的文件夹位置否定了GPL传染性的适用,引起了诸多争议。在不乱买公司案件中,法院认为原告主张权利的后端代码独立于开源的前端代码,无需强制开源。[6]在罗盒案中,就开源协议的传染性问题,法院作出了如下的分析:如果程序的一部分是独立的、非衍生的,那么这部分软件独立发布时可以不受GPL3.0协议约束。要避免开源代码传染其他代码,国际上已有行业先例,比如谷歌公司将其发布的安卓系统分为多个独立的不同层级框架,对每个层级适用不同的开源协议。若无法回避许可协议之间的冲突,也至少应当采取简单的编程接口连接,降低软件源代码运行时的融合程度。而案涉软件既没有采取类似的隔离措施,也没有证明案涉的源代码是独立的,所以案涉软件受GPL的传染性约束,应当承担开源义务。[7]在2023年判决的网经公司诉亿邦公司等侵害计算机软件著作权中(该案涉软件适用GPL2.0),被告抗辩原告在案涉软件中使用第三方开源代码而并未履行开源义务,最高人民法院基于“合同相对性”原则,认为不宜审查原告是否违反其与第三方之间的GPL协议;即便原告违反该等GPL协议导致涉案软件存在权利瑕疵,也不影响原告寻求被侵权的权利救济。被诉侵权人根据开源协议提出不侵权抗辩的情况下,软件开发者自身是否违反GPL2.0协议和是否享有软件著作权,是相对独立的两个法律问题,二者不宜混为一谈,以免不合理地剥夺或限制软件开发者基于其独创性贡献依法享有的著作权。[8]
可以看出,我国司法界倾向于认可开源协议的效力,在审查开源协议使用者的义务时更加注重实质,提出了审查“展示方式、所用技术、分工”以及“修改软件在逻辑上与开源代码的关联性”等关键标准来判断开源协议传染性的约束范围。
[1] 马治国,朱建:开放源代码软件通用公共许可证的法律性质[J].科技进步与对策。
[2] 北京高级人民法院 (2018) 京民终 471 号民事判决书。
[3] 祝建军.开源软件的著作权保护问题研究。
[4] 广东省深圳市中级人民法院(2019)粤 03 民初 3928 号民事判决书。
[5] 广州知识产权法院(2019)粤 73 知民初 207 号民事判决书。
[6] 最高人民法院(2019)最高法知民终 663 号二审民事判决书。
[7] 同注释5。
[8] 最高人民法院(2021)最高法知民终51号民事判决书。