GPL抗辩在软件著作权侵权案件中的应用——以网站内容管理系统CMS为例
作者 | 李维朝 江苏瑞途律师事务所
编辑 | 布鲁斯
一、引 言
在软件著作权侵权判定时,一般先将公有领域代码、表达形式有限的代码、第三方开发的代码等排除。近年来随着业界研究的深入,就第三方开发的代码来说,又演化出了开源软件抗辩,在开源软件涉及的众多开源许可证中,又以GNU GPL为主要抗辩突破口。
GNU GPL许可证(General Public License)是自由软件基金(Free Software Foundation)发布的“著佐权”许可证,以自由、共享为宗旨。GPL许可证影响广泛,一大批软件以GPL许可证发布,尤其以Linux操作系统为代表,对软件行业产生了深远影响。
GPL许可证虽然为国外行业组织所发布,但近年来我国法院通过司法判例确认了其法律效力。在罗盒诉玩友案[1]中,法院对GPL许可证的法律性质和效力进行了详细阐述,该案是我国第一起维护开源软件权利人法律权益的案件。在笔者代理的未来诉云蜻蜓案[2]中,未来公司主程序软件被GPL代码“传染”,应当以GPL许可证对外发布,但未来公司没有遵守GPL许可证,法院对未来公司软件著作权不予保护,该案是我国第一起GPL抗辩获得法院支持的案件。
GPL抗辩比较新颖,如何进行GPL抗辩为各界所关注,本文以网站内容管理系统CMS为例进行详细阐述。
二、网站内容管理系统CMS介绍
网站内容管理系统,即Content Management System,英文缩写是CMS,采用统一的信息组织的方法,即分类(Taxonomy)对同一类型的信息进行分类。每一类信息都可以进行新建(Add)、查看(View)、编辑(Edit)和删除(Delete)四种不同的操作。除了使用分类的方式组织信息以外,又采用了统一的用户和权限管理对信息的使用进行控制[3]。简单地说,CMS系统用于搭建网站,编辑网页内容。
在M公司诉河南某协会软件著作权侵权案件[4]中,M公司以《最终用户授权许可协议》对外发布企业建站系统,要求用户在网页的底部注上“Powered by XXX(http://www.XXX.cn)”等信息,法院认定被告侵犯了M公司署名权。该案判决作出以后全国出现了几千起案件,引起了笔者关注。
很多网站内容管理系统CMS以PHP语言编写,因PHP语言的特性,只能以源代码的形式对外发布软件,M公司的企业建站系统同样如此,这为笔者近距离分析提供了便利。本文以企业建站系统V5.3.19版本为例[5](以下简称“样本软件”。其他版本需要另外分析,不在本文分析之内),探讨进行GPL抗辩的可行性。
三、样本软件中的GPL声明及“传染”论证
1、样本软件中的GPL声明
笔者在全文查看样本软件后,在样本软件中发现多处开源声明,开源许可证涉及GPL 2.0、GPL3.0、LGPL、MIT等[6]。例如,在路径为“\app\system\admin\templates\web\theme\tips\js\simpletooltip.min.js”的源代码中包括开源声明“Distributed under GPL-3.0 license”,即,以GPL V3协议发布(以下将该部分代码简称“GPL自由程序”)。
2、样本软件中M公司自有代码与GPL自由程序之间的关系以及“传染”问题
不可否认的是,样本软件除了GPL自由程序之外,还包括M公司开发的自有代码,两者共同构成了样本软件。在判断样本软件是否因包含GPL自由程序而被“传染”为GPL软件而受到GPL许可证约束时,需要考虑M公司自有代码与GPL自由程序之间的关系,判断两者是否高度牵连融合为一整体。
(1)M公司自有代码与GPL自由程序融合构成了样本软件
安装样本软件,如“样本软件的管理界面”所见,可以正常运行,在“新手指引”一栏包括基本信息、配置栏目、调试外观、发布内容等项目。点击“调试外观”进入“调试外观界面(删除GPL自由程序前)”,通过页面左上角的按钮可以上传图片,上传的图片在右侧部分展示,用户可以实时看到自己上传的图片在网页页面中显示的效果。接下来把GPL自由程序删除,刷新一下界面,就出现“调试外观界面(删除GPL自由程序后)”所示页面,可见左上角的按钮不见了,一直显示“正在努力加载”。
样本软件的管理界面
调试外观界面(删除GPL自由程序前)
调试外观界面(删除GPL自由程序后)
从上述验证可知,样本软件的运行依赖于GPL自由程序,不能脱离GPL自由程序而存在。删除GPL自由程序后,样本软件管理网站所必备的特定功能就没有了,不能再编辑修改网页。同时,GPL自由程序是以源代码的形式存在于样本软件,M公司没有采取技术措施将自有代码与GPL自由程序隔离,从而将其自有代码与GPL自由程序隔离成两个独立的软件,而是任其构成有机整体。
(2)样本软件属于GPL V3协议规定的受保护的作品(covered work)[7]
GPL V3协议第0条规定,受保护的作品(covered work)是指未经修改的程序(The Program)或基于本程序的作品(work based on the Program)。本程序(The Program)是指根据本许可证许可的任何受版权保护的作品。基于本程序的作品指的是本程序或任何受版权法约束的演绎作品,包含本程序或本程序的一部分的作品,可以是原封不动的,或经过修改的和/或翻译成其他语言的程序。
因M公司自有代码与GPL自有程序融合构成了样本软件,样本软件成为基于GPL自由程序的作品,属于GPL V3协议规定的受保护的作品。
3、GPL V3协议不需要书面签署,是诺成性的[8]
GPL V3协议第9条规定,如果你修改或传播受保护的作品,那么表明你接受本许可证。第10条规定,每次你传送受保护的作品,接收者都自动从原许可人处获得一项许可,即根据本许可证运行、修改和传播该作品。
从GPL V3协议的条文可知,GPL V3协议的诺成是以实践行为作出的,只要接收者修改或传播受保护的作品,即表明接收者接受了GPL V3协议。M公司将GPL自由程序纳入样本软件,M公司以实际行动接受了GPL V3协议,样本软件整体受GPL V3协议约束,M公司应当遵守GPL V3协议。
4、获取样本软件的接收者得到的许可
GPL V3协议第5条规定,你可以以源代码的形式传送基于本程序的作品,或基于本程序的修改的内容,你必须把整个作品作为一个整体向任何获取副本的人按照本许可证许可。
M公司将样本软件上传至网络,供广大用户下载使用,M公司向他人传送样本软件,即已表明其同意以GPL协议的条款向接收者授权,所有获取样本软件的接收者,都依据GPL V3协议获得了M公司的许可。
四、M公司违反GPL V3协议的可责性
GPL V3协议第5条规定,你可以以源代码的形式传送基于本程序的作品,或基于本程序的修改的内容,除满足第4条外还需满足以下所有条件:a)作品必须带有醒目的修改声明及相关日期;b)作品必须带有醒目的声明,指出它是在本许可证以及任何符合第7条的附加条件下发布的;c)你必须把整个作品作为一个整体向任何获取副本的人按照本许可证许可。
M公司没有按照GPL V3协议要求作出声明,没有以GPL V3协议对外发布样本软件,而是以《最终用户授权许可协议》对外发布,将受GPL V3协议约束的自由软件转变为专有软件,违反了GPL V3协议,不具有正当性,对M公司违反GPL V3协议的行为给予侵权法上的保护,势必虚置GPL协议的相关规定,破坏开源秩序,对于通过GPL协议让开源软件自由传播与使用产生不利影响。因此,M公司的软件著作权应当不予保护。
违反GPL许可证的类型主要有两类,一类是违反形式义务,如没有按照要求进行声明,没有明确以GPL许可证对外发布软件。M公司的行为就属于这一类。另一类是违反开源义务,没有公开源代码。在未来诉云蜻蜓案中,未来既违反了形式义务,又违反了开源义务。
五、M公司《最终用户授权许可协议》的效力
1、GPL V3协议对增加附加条款的具体限制
GPL V3协议在序言中强调,大多数软件和其他实用作品的许可证旨在剥夺你分享和更改作品的自由。相比之下,GNU通用公共许可证旨在保证你分享和更改程序所有版本的自由——以确保它仍然是所有用户的自由软件。
GPL V3协议第5条规定,你必须把整个作品作为一个整体向任何获取副本的人按照本许可证许可。本许可证及符合第7条的附加条款一起适用于整个作品及其所有部分,无论软件是以什么形式打包的。
第7条规定,你可以(如果你获得该材料的版权所有者的授权)通过以下条款补充本许可证的条款:a)与本许可证第15条和第16条不同的不提供担保或限制责任;或b)要求在该材料或包含该材料的作品所显示的适当法律声明中保留特定的合理法律声明或作者署名;或c)禁止歪曲该材料的来源,或要求以合理的方式标记该材料的修改版本以区别于原始版本;或d)限制为宣传目的使用该材料的许可人或作者的姓名或字号;或e)拒绝授予商标法下使用某些商号、商标或服务标记的权利;或f)要求任何向接收方传送材料(或其修改版本)时附加了合同预设责任的人向该材料的许可人和作者作出赔偿,这些合同预设责任直接强加给了这些许可方和作者。所有其他非许可性附加条款均被视为第10条所指的“进一步限制”。
第10条规定,你不能对行使本许可证下授予或确认的权利强加任何进一步的限制。例如,你不能对行使本许可证下授予的权利强加许可费、使用费或其它费用。
2、M公司《最终用户授权许可协议》中的权利限制条款内容
M公司在《最终用户授权许可协议》中对获得样本软件的接收者的权利作了进一步限制,主要包括:(1)禁止商业使用,未经许可不得用于商业用途;(2)禁止重新分发,不得将样本软件及其修改版本用于重新分发;(3)广告要求,使用样本软件,需要在网页页脚处注明“Powered by XXX(http://www.XXX.cn)”。
3、M公司《最终用户授权许可协议》属于GPL V3协议规定的“进一步限制”
(1)关于禁止商业使用条款
GPL V3协议在序言中强调:当我们谈论自由软件时,我们指的是自由使用,而不是免费使用。我们的通用公共许可证旨在确保你有分发自由软件副本的自由(如果你愿意,可以收取费用)。
GPL协议并非反对商业运作,而是不允许就自由软件本身收费,任何人都可以自由使用软件,包括围绕自由软件来提供有偿的服务,诸如,就转移软件副本所花费的成本(如制作光盘)、提供担保、提供专业技术服务(如技术支持、培训、咨询等)进行收费。GPL协议对围绕自由软件进行商业化运作的要求是:遵守GPL协议的规定。
自由软件基金会在其官网《GNU许可证常见问题》[9]一文中指出,禁止商业使用的限制与GPL协议相冲突,GPL V3协议第7条只允许非常小的例外,限制用户使用目的的许可证不是“著佐权”许可证。
《GNU许可证常见问题》
从GPL协议的规定来看,禁止商业使用条款不属于第7条规定的6种允许添加的附加条款,而是属于第10条规定的“进一步限制”。
(2)关于禁止重新分发条款
承前所述,GPL协议的宗旨就是确保接收者分享和更改程序的自由,尤其是授予接收者复制、分发和/或修改软件的法律许可。禁止重新分发条款直接与GPL V3协议相冲突。该条款也不属于允许添加的附加条款,而是不允许添加的“进一步限制”
(3)关于广告要求条款
很多网页底部都有这样的内容:“版权所有XXX1公司;技术支持XXX2公司(www.xxx2.com)”,或者“版权所有XXX1公司;Powered by XXX2公司(www.xxx2.com)”。该内容表明相关网页的著作权归XXX1公司,网站由XXX2公司开发。XXX2公司之所以要将其公司名称和网址写在网页的底部,目的在于提高XXX2公司被搜索到的几率,提高知名度,本质上起到广告作用。
GPL协议不允许添加广告要求条款,包含广告要求条款的许可证与GPL协议不兼容。
自由软件基金会在其官网《GNU许可证常见问题》一文中关于“为什么原始的BSD许可证和GPL不兼容”解释道:因为原始BSD许可证[10]强加了一个GPL没有的条款,就是,要求对程序做广告的条款,该条款属于GPL V3协议第10条的“进一步限制”,因此它和GPL不兼容。
《GNU许可证常见问题》
自由软件基金会创始人Richard Stallman在《BSD许可证的问题》[11]一文对此进行了详细阐述:“1991年之前的BSD许可证有一个特别的问题:‘令人反感的BSD广告条款’。它的要求是每个提到该软件的广告都必须包含一个特定的语句:‘本产品包含由加州大学伯克利分校及其贡献者开发的软件’。”“想象一下,如果一个软件系统需要75个不同的句子,每个都要指明不同的作者。要做这个广告,你大概会需要一整页广告版。这看起来是一个荒谬的推论,但是它实实在在地发生了。在1997版的NetBSD中,我数到了75个这样的句子。”
从Richard Stallman的文章可以看到,广告条款之所以这么令人反感,原因在于当每个作者都要求在特定位置打上广告,这将使得实现起来非常困难,甚至需要“一整页广告版”。如果将广告打在网页上,那么每个网页将不能展示所需要展示的内容了,整个页面都将是广告。因此,“在1999年6月,经过2年的讨论,加州大学从BSD许可证中删除了该条款。因此,现在的新BSD许可证没有这个广告条款。”
同样的广告条款也出现在Apache 1.0协议中,该1.0协议要求声明必须包括“本产品包括Apache软件基金会(http://www.apache.org/)开发的软件”,该广告条款因与GPL协议不兼容而被摒弃,在Apache 1.1版本和Apache 2.0版本中已经删除。
同样地,“Powered by XXX(http://www.XXX.cn)”并非署名,而是广告要求,不属于GPL V3协议允许添加的附加条款,而是不允许添加的“进一步限制”。
综上,GPL V3协议的宗旨是实现自由、共享,所允许添加的附加条款仅限于协议中明确列举的6种,超出这6种情形的都属于第10条禁止添加的“进一步限制”,属于无效条款。
六、GPL V3协议对样本软件接收者的约束
GPL V3协议第2条规定,根据本许可证授予的所有权利均在本程序的版权条款内授予,并且在满足所述条件的情况下不可撤销。本许可证明确确认你无限制地运行本程序的未经修改版本的许可。……仅当满足后文所述条件时,其他各种情况下的传送才是允许的。
第9条规定,接收或运行本程序的副本无需接受本许可证。
从GPL V3协议的条款可知,运行GPL软件没有任何限制,甚至接收或运行GPL软件不需要接受GPL协议的约束,除非向下游接收者传送GPL软件。也就是说只要没有传送GPL软件,GPL协议对接收者不做任何限制,接收者不需要履行GPL V3协议第3条及后续条款规定的义务。自由软件基金会在其官网《GNU许可证常见问题》一文中明确指出,如果只是复制并运行GPL程序,并不向他人分发或输送,GPL对此没有任何约束。
《GNU许可证常见问题》
对于样本软件这种网站内容管理系统CMS来说,用户通常不会修改样本软件本身,只会创建、修改前端页面的内容,同时,由于网站内容管理系统CMS对使用方来说是工具,一般只是复制和运行,不会向下游接收者传送,不会触发GPL协议的约束作用,尤其是第3条以后的条款的约束。
七、对于违反GPL协议的软件给予侵权法上的保护,对软件行业发展的危害性
1、自由软件精神与GPL协议解释原则
(1)自由软件精神突出之处在于自由与共享
在计算机编程初期,程序开发者通常会公布其源代码,并让其他人免费获取。随着软件产业的发展,出现了商业软件,商业软件开发商与使用者之间一般都会设立软件使用许可协议,用户接受协议是使用软件的前提,而获得许可的前提是支付费用购买软件产品,用户通常只获得了使用权,无法修改和完善软件。自由软件运动先驱Richard Stallman认为这割裂了人类互助的天性和基本的自由,无法真正享受数字技术带来的独有的共享精神,因此发起了自由软件运动。
自由软件的“自由”体现在四个方面[12][13]:(1)以任何目的运行计算机程序的自由。(2)研究计算机程序如何运行并根据自己需求进行修改的自由。(3)再次传播复制件的自由。(4)改进计算机程序并向公众发布该改进后的计算机程序的自由。
GPL协议是自由软件精神的具体实践。GPL协议核心思想是促进软件的自由传播、自由修改、自由使用。用户不可以在使用一个受GPL许可证保护的软件基础上,加入一些专有软件,构成一个更大的软件,一个GPL软件的所有部件都必须遵循GPL的规定。用户不可以将一个GPL软件加以修改,然后将修改的部分变成专有软件,用户的创造或增值软件应该公开给社会共享。[14]
(2)GPL协议解释原则
诚然目前的主流观点认为GPL协议是软件著作权许可合同,但是,对GPL协议的解释是否就完全按照合同来解释呢?应当是否定的。完全按照一般性合同来解释,只考虑合同相对人的利益,这实质性地会破坏开源秩序,违背自由软件精神。
有观点认为,软件所有人没有以GPL协议对外发布软件,即使该软件符合GPL协议有关“成为一个整体的受GPL协议约束的作品”的条件,也不会被“传染”为GPL软件,对于其违反GPL协议的行为,由原GPL程权利人去追究,至于下游接收者使用该软件的行为,软件所有人有权追究,下游接收者不能根据GPL协议获得许可。
该观点忽视了自由软件运动所要实现的目标——自由与共享。GPL协议设计这么复杂的条款无非是为了促进软件的共享,确保任何人都可以自由实施。需要注意的是,自由实施并非仅仅自由实施原GPL程序(即GPL协议中的“本程序”),而是包括自由实施基于程序的作品,基于程序的作品既包括对原GPL程序修改形成的程序,也包括将原GPL程序原封不动地纳入到程序中。为实现这一目标,GPL协议规定一旦接收者修改或传播受保护的作品(包括未经修改的原GPL程序和基于程序的作品),就意味着接收者接受了GPL协议,必须将整个作品作为一个整体向任何获取副本的人按照GPL协议许可。GPL协议授予了接收者自由,无论接收者有没有修改,当接收者传送时也必须将同样的自由传递给下游接收者。
GPL协议在软件行业广为流传,事实上成为开源秩序的“宪法”,遵守GPL协议即可自由实施是行业共识。当一个软件属于GPL协议规定的受保护的作品,接收者即可根据GPL协议自由实施,这是对GPL协议应有的理解。在我国法院审理的涉GPL协议的软件著作权案件中,法院都认可了符合“成为一个整体的受GPL协议约束的作品”的条件时,即被“传染”为GPL软件。[15]
对GPL协议的解释不能局限于合同理论,应当结合自由软件运动发展的历史背景和追求的目标,进行历史性、目的性的体系化解释。
2、“十四五”关于开源软件的规划与开源秩序构建
《“十四五”软件和信息技术服务业发展规划》指出,开放、平等、协作、共享的开源模式,加速软件迭代升级,促进产用协同创新,推动产业生态完善,成为全球软件技术和产业创新的主导模式。开源已覆盖软件开发的全域场景,全球97%的软件开发者和99%的企业使用开源软件,基础软件、工业软件、新兴平台软件大多基于开源。开源开辟了产业竞争新赛道,基于全球开发者众研众用众创的开源生态正加速形成。到2025年,建设2-3个有国际影响力的开源社区,培育超过10个优质开源项目。
目前,成立了开放原子开源基金会等开源组织,包括OpenHarmony、OpenEular在内的三十多个开源项目正在开放原子开源基金会主持下运作,覆盖操作系统、存储、安全、云原生、超算、人工智能、区块链、工业软件、浏览器内核等重点领域;发布了木兰开源许可证并获得OSI(Open Source Initiative)认证;开发了包括Gitee、AtomGit等开源代码托管协作平台。整个软件行业围绕“十四五”规划,汇聚优秀开源人才,面向重点领域布局开源项目,构建开源软件生态,完善开源软件治理规则,普及开源软件文化,在全国各大高校开展开源规则培训活动,积极参与全球开源治理,力争构建开放、自由、共享、协同、贡献、合规的开源秩序。
3、对违反GPL协议者予以保护的危害
无论是成文法还是司法判决,都是对价值观的引导。自由软件秩序的价值观就是自由与共享。正如未来诉云蜻蜓软件著作权侵权纠纷一案中法院[16]所指出的:“对原告未来公司违返GPL协议的行为给予侵权法上的保护,势必虚置GPL协议关于源代码持续开源的相关规定,对于通过GPL协议让源代码持续开源传播产生不利影响。”对违规者予以侵权法上的保护,势必会破坏开源秩序,导致法律价值观错乱,起到了负面效应。人人都违反秩序,将自由软件据为己有,开源软件又如何发展呢?谁又愿意将自己开发的软件贡献给社会呢?贡献给社会的意义在哪呢,给违规者去谋取不正当利益吗?
有观点认为,没关系啊,可以由原GPL程序的权利人去追究它的侵权责任啊。提出该观点的人对目前的涉GPL协议诉讼情况不了解,纵观全球,提起诉讼的主要有两类:一类是自由软件基金会等行业组织,充当卫道士角色,另一类就是不遵守开源秩序,用开源软件谋取不正当利益的。
当前,开源秩序主要是遵循行业惯例,应当维护良好的行业惯例,打击违规者,尤其是本身破坏了开源秩序的情况下还谋求不正当利益的主体。
八、结 语
开源软件发展已有几十年时间,国外业界对开源许可证已深有研究。开源软件在我国软件行业应用非常广泛,但是,开源许可证对法律界来说仍是新生事物,对其研究远远不足。本文通过案例分析的形式对GPL抗辩进行一些粗浅的介绍,限于作者的软件技术水平和对GPL许可证的浅显理解,难免错漏。希望有更多同行加入对开源许可证的研究队伍中,加强研究力量,构建中国开源法律秩序,为“十四五”规划做出贡献。
注释
[1] (2019)粤73知民初207号,广州知识产权法院审理,该案获评为2021年中国法院十大知识产权案件。
[2] (2021)苏01民初3229号,南京市中级人民法院审理,该案获评为2022年江苏法院知识产权司法保护十大典型案例、2022年南京法院知识产权司法保护十大典型案例。
[3]https://baike.baidu.com/item/%E7%BD%91%E7%AB%99%E5%86%85%E5%AE%B9%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/1584841?fr=ge_ala#5,最后访问时间2023年8月3日。
[4] (2021)最高法知民终1547号,最高人民法院审理,该案获评为2021年中国法院五十件典型知识产权案例。
[5] 下载地址v.metinfo.cn。
[6] GPL 3.0对权利人的限制最多,因兼容性问题,即使有其他许可证,在没有采用技术隔离措施的情况下,只能以GPL 3.0对外发布。
[7] https://mp.weixin.qq.com/s/ElHD9M8RJFBzwVNB8s-h8g,陈成、戎宸翻译,李维朝审校,最后访问时间2023年8月3日,本文引用的GPL条文中文译文都来自该翻译文本,英文查阅地址为https://www.gnu.org/licenses/gpl-3.0.html。也有将covered work翻译成“涵盖的材料”或“涵盖的作品”,本文认为该翻译不准确,且让读者难以理解。GPL V3许可证将其定义为包括未经修改的本程序以及基于本程序的作品。GPL许可证通过版权法体系来达到其目的,任何受GPL许可证约束的软件都受到版权法保护,同时也受到GPL许可证的保护,因此,受GPL许可证约束的软件,本质上就是受到GPL许可证保护的软件。
[8] 本文不再详细阐述,可参见(2019)粤73知民初207号、(2021)苏01民初3229号。
[9] https://www.gnu.org/licenses/gpl-faq.html,最后访问时间2023年8月3日。
[10] BSD许可证有加州大学伯克利分校发布,广告条款是指要求注明“本产品包含由加州大学伯克利分校及其贡献者开发的软件”。
[11] https://www.gnu.org/licenses/bsd.html,最后访问时间2023年8月3日。
[12] 《软件与互联网法》,马克·A.莱姆利等著,张韬略译,商务印书馆,2014年,第485-486页。
[13] 《共享智慧——开源软件知识产权问题解析》,张平、马骁著,北京大学出版社,2005年,第9-10页。
[14] 《共享智慧——开源软件知识产权问题解析》,张平、马骁著,北京大学出版社,2005年,第53-54页。
[15] (2019)粤73知民初207号,(2021)苏01民初3229号。
[16] (2021)苏01民初3229号,南京市中级人民法院审理。
(本文仅代表作者观点,不代表知产力立场)
图片来源 | 网络