祝建军:开源软件的著作权保护问题研究
内容提要
著作权专有权对软件的保护使得软件源代码处于闭源状态,很难参考借鉴他人软件,软件创新受阻,开源软件为了克服著作权保护的弊端应运而生,其本质上属于在开源许可证保障下的新型著作权许可模式。开源许可证为附解除条件的著作权许可合同。GPL许可证为不可撤销合同,著作权人选择了开源,就不得作出商业限制保留,亦不得撤销先前已经作出的许可证授权。在所有许可证种类中,GPL许可证最为严格,具有高传染性,对于在逻辑上与开源软件的源代码有关联且整体发布的衍生作品,只要有一部分受GPL开源许可证约束,则整个衍生作品都受GPL开源许可证约束而必须开源。用户若违反GPL开源许可证的约定,则其失去使用开源软件的条件,已获得的授权失效。著作权人可以选择违约救济或侵权救济,二者竞合,允许当事人择一救济方式维权。我国著作权法应重视对开源软件的规制,不断总结经验并完善相关制度,以促进我国软件产业稳步发展。
关 键 词
开源软件 开源许可证 附解除条件 著作权许可 GPL许可证 违约救济 侵权救济
引 言
人类在20世纪40年代中期研发并制造出计算机,随后计算机技术获得了极大发展,成为推动人类文明进步的重大技术创新力量。计算机技术包括硬件和软件两个方面,软件是配合硬件而发展起来的,其作用是驱动计算机实现一定的功能。计算机软件(以下简称软件)是指“为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列”。计算机技术的进步促进了工业和微电子产业的迅速发展,极大提高了生产力,刺激了世界各国经济的快速增长,国际社会的各项经济指标亦得到较大提升。为了激励软件技术创新,国际知识产权条约和世界各国版权法通常赋予软件开发主体以独占排他性的著作权专有权利,来有效维护和保障软件著作权人的垄断市场利益。软件著作权人基于法律赋予的专有权利,能够禁止他人未经许可使用其软件代码。由于早期软件研发多由高校或科研机构进行,研发人员研发软件时并没有太多考虑和关注知识产权保护问题。软件研发作为科学活动的组成部分,依赖于重复试验和不断试错,该特征决定了只有共享程序的源代码,才能促进软件研发不断进步。如此一来,软件著作权专有权保护与软件技术研发的共享和开源性特征产生冲突。在这种大背景下,开放源代码运动在20世纪80年代应运而生。开源软件诞生之初是为了抵制软件的知识产权专有权保护,但后来演变成为利用知识产权制度来推进开源软件运动的进一步发展,即开源软件从原来与知识产权制度的对抗转为依赖融合。开源软件的影响已遍及全球,我国的软件产业亦深受其影响。
在开源软件的著作权保护方面,我国一直处于理论探讨层面,鲜有实际案例产生。但最近深圳知识产权法庭和广州知识产权法院先后裁判的罗盒公司“VirtualApp插件化框架虚拟引擎系统”软件著作权侵权纠纷案(以下简称罗盒开源软件著作权侵权案),使得开源软件著作权保护问题成为目前知识产权领域备受关注的前沿、热点问题。与西方发达国家相比,我国的软件技术尤其是在高新技术领域还有所差距。利用开源软件学习和借鉴西方发达国家的先进软件技术,对促进我国软件产业的发展,提升我国软件的水平和实力,以及解决西方发达国家对我国一些关键技术采取“卡脖子”封锁的问题具有重要意义。鉴于此,本文拟以审理罗盒开源软件著作权侵权案遇到的新问题为切入点,对开源软件著作权保护问题进行深入研究,以期对该新类型案件的裁判和相关立法提供借鉴与参考。
一、开源软件著作权纠纷遇到的新问题
(一)罗盒开源软件著作权侵权案简介
罗盒公司享有VirtualApp软件的著作权。2016年7月7日,罗盒公司将VirtualApp软件的源代码在GitHub开源社区网站上发布,共507个文件,31097行,并在开源社区网站上逐步添加如下内容:2016年7月8日添加LGPL 3.0许可协议;2016年9月10日将LGPL 3.0许可协议更换为GPL 3.0许可协议;2017年1月24日添加“您无权免费使用VirtualApp项目”;2017年10月29日删除了GPL 3.0许可协议;2017年12月7日添加“VirtualApp开放源代码只能用于个人技术研究和开拓思路,当您需要将VirtualApp用于商业用途时,请购买商业授权”,并附上联系方式;2017年12月31日停止更新。VirtualApp开源项目的管理人为aslody。VirtualApp软件在GitHub开源社区网站上有VirtualXposed master和exposed两个分支,并在开源社区网站上均添加如下内容:“VAExposed是基于VirtualApp和EPIC在非ROOT环境下运行Xposed模块的实现……,本项目使用的VirtualApp不允许用于商业用途,如果有这个要求,请通过所留邮箱联系。”从2016年至2017年期间,VirtualApp项目有30多位源代码贡献者,其中,paulo-raca提交19次(增加721行,删除2622行),prife提交16次(增加274行,删除59行)。
GitHub开源社区网站《用户协议》约定,用户授予网站存储、解析和展示软件的权利,用户将页面和仓库设置为可公开查看,意味着授予GitHub上每个用户非排他、全球许可,允许每个用户通过GitHub服务使用、展示和执行该开源软件。GitHub网站《用户指引文件》约定,默认的仓库只有一个名为master的决定性分支,在提交给master之前,使用分支来实验以及作一些修改,修改好后,再将分支合并入master。GitHub网站《GPL V3协议》约定,该协议于2007年6月29日由自由软件基金会公司发布,是针对软件及其他类型作品自由的公开版权许可文件,用户可以复制发布该协议,但不得进行修改。该协议强调的是自由,确保软件发布者发布软件副本的自由,使用户在需要的时候获得软件的源代码,可以修改软件或将它的一部分用于新的自由软件。软件发布者必须把同样的自由给予软件副本的接受者,确保其获得源代码,向他们展示该协议条款以确保他们知道自己享有这样的权利。软件发布人可以对其提供的服务收费。用户可以通过任何媒介发布接受软件的完整源代码,发布版权通告,并随程序给接受者附上一份本协议的副本,可以免费或收费转发,也可以选择提供技术支持或品质担保来收费。发布修改过的源代码版本,必须带有醒目的修改声明及相应日期。必须在该协议明确授权下,否则不得传播或修改受保护的作品,其他任何传播或修改受保护作品的企图都是无效的,并将自动终止通过该协议获得的权利。一旦修改或传播一个受保护的作品,就表明接受该协议。软件发布者不可以对该协议授予或确认权利的行使施以进一步限制,比如,不可以索要授权费或版税,但可以基于提供的下载服务或提供副本而收费。软件发布者只要将软件开源,就不得随意撤销、删除GPL V3许可证协议,该软件源代码永久开源。
2018年9月,罗盒公司通过公证取证从“应用宝”“华为应用市场”等软件平台下载玩友公司研发并向用户提供的“微信视频美颜”软件,经委托鉴定机构采用反编译方式进行对比,该微信视频美颜软件与罗盒公司VirtualApp软件的源代码相似。罗盒公司以著作权侵权为由将玩友公司起诉至法院,请求法院判令其停止侵权、赔偿损失。因玩友公司已停止侵权,法院判令玩友公司赔偿罗盒公司经济损失及维权合理开支共计50万元。
(二)罗盒开源软件著作权侵权案引出的新问题
开源社区网站为软件开源提供平台,软件著作权人在开源社区网站上发布源代码,软件使用人通过遵守开源许可协议使用著作权人公开发布的源代码,开源许可协议是开源软件健康运行的基石。开源软件亦会引发著作权侵权纠纷,且与通常的软件著作权侵权纠纷不同。法院在审理罗盒开源软件著作权侵权案时,面临以下新问题。
软件著作权人将其软件的源代码在开源网站上公开发布后,可能还存在其他众多软件源代码的贡献者。当发生开源软件著作权侵权纠纷时,软件著作权人和其他众多软件源代码的贡献者谁有权提起维权诉讼?开源社区网站是否有权提起诉讼?软件著作权人在开源时声明对开源软件的商业使用进行限制保留,该声明保留条款的效力应如何认定?软件著作权人是否有权撤销先前已经授权他人使用其源代码的开源许可协议?利用开源软件进行其他商业软件开发,行为人能否对他人使用其软件源代码进行收费?同时,该行为人须将其商业软件进行整体开源还是仅须对其使用的部分开源软件的源代码进行开源?在现行法律制度下应如何界定开源许可协议的性质和效力?著作权人在使用人违反开源许可协议时,应获得怎样的法律救济?换句话说,应以违约还是侵权作为请求权基础提起诉讼?这些问题需要认真研究。
二、开源软件对著作权制度的针砭与改进
(一)开源软件的源起
开源软件是指开放源代码软件。开源软件运动起源于自由软件运动,正是因为看到了著作权专有权保护对软件创新所带来的消极影响,20世纪末美国麻省理工学院的软件开发工作者理查德·斯道曼(Richard Stallman)在一些企业的支持下先后成立了自由软件联盟工程(GNU)和自由软件基金会(FSF),在全世界发起自由软件运动。理查德·斯道曼认为,“软件共享的历史与计算机一样长久,如同人类自烹饪始就交换食谱一样”“用户之间复制软件不但不是盗版,而恰是体现了人类天性的互助美德”。自由软件运动倡导的观念是,软件在公开发布时应当同时公开发布源代码,人们对软件的复制、使用及修改应当是自由的,软件合作开发应有利于开源软件社区,而不是基于私人追逐商业利益的考量。自由软件运动给出该观念的理由是,软件代码获得著作权私权保护后可能会导致大量软件存在稳定、安全问题,大量技术娴熟的程序员因为软件源代码不公开而无法分析、发现计算机程序存在的瑕疵并有针对性地进行修改;软件相互间缺乏可兼容性,导致研发重复或创新动力受阻;软件领域技术更新变化的速度非常快,给予软件著作权50年保护期将严重阻碍软件创新。为了表达对软件著作权Copyright保护的叛逆,自由软件使用了与之相对的Copyleft一词。
此后,在自由软件运动的基础上产生了开源软件的概念。美国著名计算机程序员埃里克·史蒂文·雷蒙德(Eric Steven Raymond)担当起开源软件运动旗手的角色,其非常欣赏、敬重理查德·斯道曼的自由软件运动,但认为使用自由一词容易引起人们误解,使人们以为是免费的,从而导致与商业软件的严重对立。自由软件运动的目的并不是为了打败商业软件,而是为了动摇商业软件的主导地位,从而实现与商业软件共存。因此,他主张使用“开放源代码软件”替代“自由软件”的概念。由于开放软件的源代码是对行为事实的表述,属于相对柔性地对待软件著作权专有权保护问题,开源软件运动被人们所接受,许多商业软件商也开始加入开源软件的阵营。如此一来,开源软件运动获得迅猛发展。在软件著作权专有权保护日益加强的环境下,开源为促进软件创新开拓了广阔的自由发展空间。
(二)开源软件克服著作权制度对软件创新的阻碍
开源软件运动是为了克服软件著作权专有排他保护阻碍软件创新,而由软件开发工程师自发倡导实行的软件开源、自由复制、修改、使用及传播的新生事物。
根据著作权法的规定,软件著作权在软件作品开发完成后由权利人自动取得,软件作品开发完成日即为著作权取得日。软件作品著作权的取得不像专利那样须公开技术方案,并经国家主管机关授权才能取得。软件著作权人可以根据自己的意愿决定是否进行软件作品的著作权登记,登记不是取得软件作品著作权的条件,登记仅为推定登记的著作权人享有著作权的证据,允许社会公众通过举出相反证据推翻依据该登记推定的事实。根据《计算机软件著作权登记办法》的规定,申请软件著作权登记的,须提交该软件前后各连续30页的源代码及文档;软件著作权登记时,申请人可以申请将源程序、文档或者样品进行封存,除申请人或者司法机关外,任何人不得启封。可见,进行著作权登记的软件处于保密非公开状态。
软件著作权人可以通过市场交易的方式将其软件许可给他人使用,但在一般的软件交易模式中,权利人仅向使用人交付软件的目标代码,不会交付源代码,从而将软件紧紧掌握在自己手中。使用人获得软件的目标代码后,由于没有源代码,仅能将该目标代码安装在相应电子产品上,软件使用人无法对交付的软件进行阅读、学习,亦无法对软件进行改进从而提高相关技术领域的软件创新与软件水平。
当他人未经许可擅自复制、修改、传播软件著作权人的源代码时,软件著作权人通常依据著作权作为请求权基础来追究侵权人的法律责任。同时,由于源代码处于闭源封闭状态,软件著作权人也可以根据反不正当竞争法中保护商业秘密的法律规定,将源代码作为技术秘密,来追究行为人非法获取、披露、使用其源代码行为的责任。软件著作权人无论是采用著作权还是技术秘密来保护其源代码,均采用“接触加相似”的证明方法,以适应软件闭源封闭的法律属性。
由上可见,根据著作权法及反不正当竞争法中保护商业秘密的法律制度,无论是软件著作权的取得、权利行使还是权利救济,均按照软件源代码保密非公开状态进行制度设计,亦即软件著作权及技术秘密的专有排他保护制度,使得软件源代码处于闭源封闭状态。在这种法律保护的背景下,软件研发创新通常由各个市场主体在保密的状态下独立进行,很难参考借鉴他人研发的软件。开源软件运动正是看到了著作权专有权保护制度给软件研发及创新所带来的弊端,试图通过公开软件源代码及配套适用开源许可证的方式来鼓励和推动软件创新。
(三)开源软件是许可证保障下的新型著作权许可模式
前已述及,开源软件运动起源于自由软件运动。自由软件运动起初是批判、反对和对抗软件的知识产权专有排他保护的,以使社会公众能够自由地获取、修改、使用和传播软件源代码,从而表现出与知识产权垄断的反抗性。自由软件运动与现行知识产权保护制度的理念在一定程度上相悖,其不仅作为特定历史条件下的一种新思潮存在,而且在实践层面上亦付诸实施。开源软件的概念不像自由软件那样极端,其在承认和尊重软件源代码受著作权法保护的基础上,通过发放软件许可证的方式倡导软件源代码开放、自由和共享的理念。许多商业软件经营商开始加入开源软件阵营,从而产生了许多开源软件生态群。这为软件创新提供了较好的社会环境。
开源软件的倡导者认为,软件著作权不是一项天然的自然权利,而是立法赋予的法定权利,具有社会契约的属性。因此,可以采用许可证的契约方式来替代软件著作权的行使规则。在这样的理念支撑下,开源软件借助互联网技术快速发展起来。开源社区网站提供开源平台,软件作品的著作权人在开源社区网站上公开源代码,开源软件源代码的修改人在个人学习需求、提高声望、自由奉献等动机下修改软件,软件实施人在遵守开源社区许可证约定内容的前提下自由复制、修改、使用开源软件。如此一来,软件源代码通过开源成为可以自由传播的公共资源,开源软件社区协同开发的开放性模式降低了开源成本并促进了新软件的研发,从而增加了软件的使用价值,提高了软件的质量,形成了更快的软件创新周期。由此可见,开源软件是一种著作权许可的新类型经营模式,其承认软件作品的著作权仍归作者享有。在该前提下,通过开源软件许可证制度合理配置软件著作权人与实施人之间的权利、义务,使开源软件兼具著作权保护和源代码共享的双重价值。换句话说,开源软件的私权属性与社会公共属性实现了融合。这使得软件源代码之稀缺资源的配置在尊重开源软件创作与传播之间实现了平衡。
三、开源软件许可证的法律性质和救济模式
(一)开源软件许可证的种类及主要内容
开源软件是在尊重著作权法保护作者对其软件作品享有著作权的前提下,通过发放开源许可证来实现源代码开放、自由、共享的理念。开源软件创造的copyleft一词不应被理解为放弃著作权。因此,开源软件在性质上属于软件著作权许可的一种独特模式。在该模式下,开源软件不但没有放弃著作权,而且通过选择开源软件许可证寻求著作权保护。一些开源软件国际组织(例如自由软件基金会、Apache软件基金会等)制定了几十个开源软件许可证模式,例如GPL、LGPL、APACHE、MIT、BSD等。在所有模式中,GPL许可证约束最为严格,具有高传染性,著作权许可也最为充分,其要求对开源软件的任何修改及衍生品应用,都必须将源代码以GPL许可证进行发布,并且不得收取任何许可使用费。有些许可证的约束比较宽松,比如MIT、BSD许可证,其一般只要求用户公开原作者的许可证声明以确认原作者的著作权,对开源软件的修改及衍生品应用没有发布源代码的要求。LGPL许可证约束介于这二者之间,其一般要求对开源软件的任何修改都应将源代码进行发布,但对开源软件衍生品的应用则没有发布源代码的要求。开源许可证约束强度的大小,反映了开源软件国际组织成员的价值理念。那些坚持初衷,倡导开放、自由、共享之开源精神的人,必然会推崇GPL类强约束许可证;反之,则会推行MIT、BSD类弱约束许可证。
GPL许可证在所有许可证中最负盛名也最具有个性特点,其主要规定了13项条款,其中被许可人主要享有以下四项权利:按照自己的使用目的运行该代码程序;有自由获得源代码的权利,并在此基础上研究程序如何运行,可以按照自己的意愿对源代码进行修改;可以自由地散发该软件源代码的复制件;可以自由地发行该软件的修改版本,并将其向社会公众发布。被许可人在享有权利的同时,须履行如下主要义务:对GPL开源软件以及基于GPL开源软件再发布,均必须以GPL开源许可证进行再发布;再发布的时候必须保留完整的原著作权声明,并附带一份GPL许可证的拷贝;如果对部分源代码进行了修改,必须在被修改的文件内声明改动的内容和改动日期;发布源代码和派生软件时,不得收取软件许可费(必要的工本费除外),不得附加其他条款,并必须附上GPL许可证。
GPL许可开源软件与商业软件的根本区别在于:GPL开源软件的权利人将其软件著作权中的财产权许可给被许可人在全球范围内、非排他、以GPL许可证方式行使;一旦权利人将其软件在开源社区公开,其不得对被许可人基于GPL许可证授予的权利及行使作进一步的限制,比如,作出商业使用限制保留条款。开源不等于不能进行商业开发,换句话说,权利人并没有放弃以商业化方式促进开源软件的间接获利发展。开源软件只是意味着不能通过软件著作权授权许可本身来直接获取对价报酬,但可以对基于开源软件产生的衍生服务或衍生产品进行收费,例如提供软件支持服务、硬件捆绑、增值产品、广告业务及收取复制工本费等。这也是开源软件能够获得长期发展的动力之一。
综上,开源软件与商业软件并存,从而形成开源软件保护的copyleft模式与传统商业软件保护的copyright保护模式共存的局面。
(二)开源软件许可证的法律性质
对于商业软件来说,在一般情况下,当著作权人将其商业软件授权给他人使用时,双方会基于合意签订许可合同。从具体的签订方式来看,商业软件许可合同通常由软件著作权人事先单方拟定好,然后由软件使用人通过在合同文本上签字或者通过使用行为等方式形成合同关系。在许可合同约定的范围内,当任一方违反合同时,守约方通常会基于许可合同的约定追究违约方的法律责任。对于著作权人来说,其通常不会依据著作权法追究使用人的著作权侵权责任。商业软件许可合同由著作权人一方事先拟定,当双方发生许可合同纠纷时,使用人通常会以格式合同条款无效来抗辩,即主张提供格式合同条款的一方不合理地减轻自身责任、加重对方责任、限制或排除对方的主要权利。
开源软件许可证与商业软件许可证的差异在于:开源软件通过公开的开源许可证来约束软件著作权人与使用人之间的软件授权许可关系。开源软件许可证条款并非由软件著作权人或使用人事先制定,而是由开源组织事先制定的类似格式合同条款。正因为开源许可证条款并非由合同的一方当事人拟定,故对其通常不会出现格式合同条款的无效抗辩与审查情形。开源社区网站搭建开源软件交易平台,并将开源软件许可证在平台上公开发布。开源许可证是维护开源社区处于有序状态的保障性法律文件。当软件著作权人将其享有权利的软件按照平台的规定进行上传,即意味着该软件著作权人愿意按照平台规定的许可证将其软件进行开源许可,此为合同要约行为。而用户对平台上的开源软件进行使用、修改、发布,则意味着其以行为的方式承诺愿意按照开源许可证免费使用该开源软件,此为合同承诺行为。如此一来,双方通过行为的方式成立开源软件许可证合同关系,即开源软件著作权许可合同关系。合同缔结后,双方均应按照开源软件许可证的约定履行各自的义务,并享有相应的权利。开源社区并非处于绝对公有领域,其在理念上具有反抗传统知识产权之处,但在推行“开源+许可证”制度时,又依赖传统知识产权法和合同法等制度。
(三)违反开源软件许可证的法律救济模式
开源软件著作权人通过许可证约定使用人免费使用其开源软件的条件及所应承担的义务,当使用人违反该免费使用许可条件时,软件著作权人应基于违约还是侵权主张救济,值得研讨。
从比较法的角度看,开源软件最早产生于美国,美国法院审理开源软件案件的做法能够为我国处理同类案件提供参考经验。美国判例法对软件使用人违反开源软件许可证时的法律救济的认识有一个逐步发展的历程。美国为普通法系国家,州法与联邦法并存,合同法属于州法,版权法属于联邦法。美国法院在最初审理开源软件案件时,对权利人以版权侵权的诉因提起诉讼并要求获得禁令、损害赔偿救济的主张予以支持。比如,在美国麻省波士顿法院审理的MySQL AB v. Progress Software & NUSPHERE一案中,针对被告违反GPL开源许可证的行为,法院支持了原告提出的版权侵权禁令救济的请求。随着审理开源软件案件的逐步推进,有美国法院认为违反GPL开源许可证的行为属于违约行为,不构成版权侵权,对权利人提出的版权侵权禁令救济的诉讼请求予以驳回。比如,美国旧金山法院在审理Jacobsen v. Katzer一案中认为,GPL开源软件许可证在性质上为契约,软件使用人违反许可证约定,仅承担违约责任。但美国联邦巡回上诉法院在该案二审上诉审中认为,超出GPL许可证约束范围的行为构成版权侵权,权利人在此情况下可以通过版权侵权的主张寻求禁令救济。美国判例法发展到现在实行了新的解决办法,在软件使用人违反开源许可证的情况下,权利人既可以版权侵权主张禁令救济,也可以合同法寻求违约救济。例如,2017年4月,美国加州北部联邦地区法院在Artifex v. Hancom一案中认定,开源许可证是具有强制执行效力的合同,被告违反GPL开源许可证的行为,除可能构成版权侵权外,亦可能构成合同违约,允许原告主张版权法或合同法上的可能救济,且不能对其中任意一权利主张构成减损。
德国为大陆法系国家,与美国法相比,德国法在处理开源软件案件的救济方式上基本达成了共识。德国法认为,开源软件许可证是一种具有法律约束力的著作权许可合同,当软件使用人违反该许可证约定时,软件著作权人既可以向其主张违约责任,也可以向其主张著作权侵权责任。德国慕尼黑地区法院审理的Harald Welter v. Sitecom案和法兰克福地区法院审理的Harald Welter v. D-Link案均持该观点。以Harald Welter v. D-Link案为例,原告Welter是GPL-violations.org开源社区项目负责人,其继受取得的三项软件在开源社区发布并适用GPL开源许可证授权许可,被告D-Link公司研发售卖的存储器产品使用了原告Welter的三项软件,但未附上GPL开源许可证协议、完整的源代码、原作者著作权标示和无担保声明。原告Welter向被告D-Link公司发送警告信,要求被告D-Link公司停止侵权、披露信息、赔偿损失,被告D-Link公司认为原告Welter的GPL开源许可证无效,双方由此产生纠纷。审理该案的德国法官认为,根据《德国民法典》第305条规定,开源许可证条款的法律性质是特定的一般交易条款。根据《德国民法典》第151条的规定,GPL开源许可证无须由软件使用人承诺声明,双方即可形成合同关系,开源许可证具有法律效力。GPL开源许可证约定软件使用人在复制、修改、再授权或发布软件时应附上GPL开源许可证协议、完整的源代码、原作者著作权标示和无担保声明等有效条款,被告D-Link公司违反上述许可证条款的约定,其试图再使用原告Welter三项软件的行为无效,并将自动终止基于GPL开源许可证授权所享有的权利。根据《德国民法典》第158条的规定,该法律行为的效力在解除条件成就时终止。对原告Welter要求被告D-Link公司承担停止侵权、披露信息、赔偿损失的诉讼请求,法院予以支持。
四、我国著作权法处理开源软件纠纷的规则及启示
(一)我国著作权法处理开源软件纠纷的规则
处理开源软件案件涉及维权主体的确定问题。商业软件的源代码是封闭的,其软件著作权人通常为研发人或继受权利人,商业软件的著作权受到侵害后,其维权主体通常比较容易确定。而开源软件在开源社区网站上公开发布后,除了著作权人外,还可能存在其他众多软件源代码的贡献者。在罗盒开源软件著作权侵权案中,罗盒公司将其享有著作权的VirtualApp软件的源代码在GitHub开源社区发布之后,有30多位用户对软件的源代码进行部分修改。当罗盒公司对玩友公司提起著作权侵权之诉时,玩友公司抗辩认为,罗盒公司没有其他VirtualApp软件源代码贡献者的授权,无权以原告身份提起维权诉讼。法院认定,根据GitHub开源社区规则,开源软件的项目人将其源代码在开源社区公开发布后,GitHub注册用户和网站游客均可以获得该软件的源代码,而网站用户可以根据自己的意愿对开源软件的源代码进行修改,当注册用户将源代码内容进行上传,并向项目人发出请求,此时提交的有关源代码只存在于用户的“分支”中,而不能直接对项目人发布源代码的“主分支”进行修改。在通常情况下若注册用户对源代码仅作个别或极少部分修改,项目人通常不会将该源代码的修改进行“合并”操作,即不会将该修改的源代码内容用于“主分支”,此时注册用户无权以著作权人的身份提起维权诉讼。若注册用户对源代码进行了部分修改,而项目人根据其开发意图认可该源代码的修改则可以进行“合并”操作,即将该修改的源代码内容用于“主分支”,从而形成新的源代码版本。此时,该修改用户对修改的源代码部分具有实质性贡献。贡献者愿意上传修改的源代码,应视为允许项目人及其他用户使用其修改的内容。考虑到在通常情况下项目人对开源软件源代码的形成具有决定性贡献,且项目人将软件开源后,开源软件贡献者有可能人数众多,又分布在世界各地,若项目人对开源软件提起维权诉讼需要开源软件全体贡献者一致同意或授权,则维权诉讼在现实中根本无法提起。因此,开源软件的项目人有权提起维权诉讼。
关于开源社区网站是否有权提起诉讼的问题,本文认为,开源社区网站仅为开源软件提供运行平台,在我国目前民事诉讼法律框架下,其与开源软件相关纠纷不具有法律上的利害关系,故无权以原告身份提起诉讼。但从开源软件的未来发展来看,可以尝试采用著作权集体管理组织的模式使开源社区有权以原告身份处理开源软件纠纷。我国著作权集体管理组织在音乐作品、录音录像制品的授权管理方面具有较丰富经验,其代表著作权人作为独立的维权主体提起诉讼,一方面可以有效弥补个体维权能力不足的缺陷,另一方面代表众多权利人进行维权可以降低维权成本和社会治理成本。开源社区网站多由开源软件基金会成立,对开源许可证的法律性质及运行非常了解。为了提高维权质量和效率,可以探讨并尝试授权开源社区网站的运行人行使著作权集体管理组织的职能,以独立的维权主体身份提起诉讼。
法院处理开源软件案件应严格遵循开源软件许可证协议的约定定分止争。在罗盒开源软件著作权侵权案中,法院遵循了该规则处理纠纷。例如,关于软件著作权人声明对开源软件的商业使用作限制保留条款的效力问题,法院认定,罗盒公司在开源项目中声明“需要将VirtualApp用于商业用途时,请购买商业授权”,该商业限制保留条款与开源软件的开放、自由、共享理念及GPL 3.0开源许可协议存在本质冲突,因此,该商业使用限制保留条款对用户不具有约束力;关于软件著作权人是否有权撤销先前已经授权他人使用的开源许可协议问题,法院认定,开源许可协议属于永久不可撤销条款,即软件著作权人一旦选择开源,就必须接受GPL开源许可协议的约束,其无权撤销先前已经授权他人使用的开源许可协议;关于软件使用人须将其商业软件进行整体开源还是仅须对其使用的部分开源软件的源代码进行开源的问题,法院认定,GPL开源许可协议具有高传染性,对于利用在先开源软件的后续衍生软件,只要与开源软件有关联且整体发布,那么整个衍生软件均必须适用GPL 3.0开源许可协议发布。
处理开源软件案件涉及对开源软件许可证性质的认定及对违反约定的救济方式选择。在罗盒开源软件著作权侵权案中,法院认定,根据开源社区网站《用户协议》约定,用户将软件的源代码在开源社区存储发布,即意味着授予开源社区每个用户非排他、全球范围、允许通过开源许可证的约定使用该开源软件,双方形成附解除条件的非典型著作权许可使用合同,受我国《合同法》调整。一方违反开源许可证约定,另一方可以寻求违约救济或者侵权救济,二者竞合,允许当事人择一救济方式维权。违约救济的法律措施包括要求继续履行和损害赔偿。侵权救济的法律措施包括行为保全临时救济措施、停止侵权、消除影响、损害赔偿。违约责任的范围小于侵权责任的范围。罗盒公司选择侵权救济方式起诉玩友公司,故法院从侵权角度对案件进行审理。根据GPL开源许可证的约定,用户遵守许可证约定是其使用开源软件的前提条件,如果用户违反GPL开源许可证的约定,那么其使用开源软件的条件已不存在,用户基于GPL开源许可证的授权也自动终止,用户对开源软件的使用行为因失去正当的权利基础而构成著作权侵权。在罗盒开源软件著作权侵权案中,玩友公司对被控侵权软件的下载不收费,但会向用户收取会员费,以用于运营维护和技术支持,玩友公司向用户收取会员费的行为不违反GPL 3.0开源许可协议。但是,玩友公司未向用户开放被控侵权软件源代码的行为违反了GPL 3.0开源许可协议的约定,其对罗盒公司VirtualApp软件的使用行为失去权利的来源,构成著作权侵权,法院判决玩友公司承担停止侵权、赔偿损失的法律责任。从罗盒开源软件著作权侵权案来看,该案的裁判思维和裁判逻辑符合开源软件纠纷处理的国际通行规则。
(二)处理涉及开源软件纠纷的启示
从开源软件著作权侵权纠纷司法实践来看,有些企业对开源软件的理解和适用是不充分、不全面的。根据GPL开源许可证协议的约定,开源软件项目人不得对其开源软件作商业限制保留,亦不得随意撤销、删除开源许可证协议。这是GPL开源许可证约定的开源软件项目人须遵循的基本义务。例如,在罗盒开源软件著作权侵权案中,罗盒公司选择将其VirtualApp软件的源代码在开源社区公开发布,但却对开源软件作商业限制保留,并随后删除了开源许可证协议。这说明其对GPL开源许可证协议的基本内容不了解。由此带来的启示是:开源软件属于国际性软件创新与发展模式,企业若选择开源软件经营模式,应首先对开源软件的内容和运行有正确、全面的认识和了解,如盲目加入开源软件,不仅有可能无法实现其最初的目的,反而有可能陷入被动。
开源软件项目人在开源社区发布的开源软件必须属于其有权开源的软件。在司法实践中,有些开源软件项目人拿他人软件的源代码或对他人负有保密义务的源代码进行开源。该行为不但侵犯了他人的合法权益,而且还扰乱了正常的国际开源软件运行秩序,应予以关注和矫正。例如,在广东省深圳市中级人民法院审理的深圳花儿绽放网络科技股份有限公司(以下简称花儿绽放公司)诉浙江盘兴信息技术有限公司(以下简称盘兴公司)等侵犯商业秘密纠纷一案中,花儿绽放公司将其研发并采用商业秘密方式保护的有客多软件的源代码授权许可给盘兴公司使用,盘兴公司的员工却将花儿绽放公司的有客多软件的源代码发布到GitHub开源社区网站的存储库,从而导致该软件的源代码被GitHub开源社区用户复制泄露,花儿绽放公司以商业秘密受到侵犯为由将盘兴公司起诉至法院,法院判令盘兴公司承担侵犯花儿绽放公司商业秘密的法律责任。
开源软件在开源社区网站公开发布后,任何人均可以自由获得、使用开源软件的源代码,并可以按照自己的意愿对源代码进行修改及向社会公众发布。开源软件受开源许可证协议约束,故开源软件的使用人或修改人应遵守诚实信用原则,遵循开源许可证协议,从而使开源软件在社会公众中继续传播下去,让公众享受开源软件所带来的社会福祉,而不应随意破坏开源许可证协议。在司法实践中,有些企业从开源社区网站获取开源项目人的软件源代码后,在后续使用中并未遵守开源许可证协议,从而使开源软件的运行受到阻碍,类似行为应予制止。例如,在江苏省南京市中级人民法院审理的南京未来高新技术有限公司(以下简称未来公司)诉江苏云蜻蜓信息科技有限公司(以下简称云蜻蜓公司)等侵犯计算机软件著作权纠纷一案中,未来公司主张权利的主程序软件的源代码来源于受GPL开源许可证协议约束的开源软件源代码,未来公司在使用主程序软件时,并未遵守GPL开源许可证协议的约束,即没有继续进行开源。对于未来公司主张云蜻蜓公司侵犯其主程序软件著作权的诉请,法院认定,因未来公司违反了GPL开源许可证协议,导致开源软件授权人与未来公司之间的软件授权自动解除,未来公司基于GPL开源许可证协议获得的开源软件许可终止,其继续使用GPL开源代码系无权使用,故对于未来公司提出的云蜻蜓公司侵犯其主程序软件著作权的主张,不予支持。该案裁判的启示是:不遵守开源许可证协议约束的软件,可能无法获得著作权法保护。
在司法实践中,有些企业面对软件著作权人侵犯计算机软件著作权的指控,试图通过抗辩其使用的被控侵权软件来源于开源软件而免责,殊不知开源软件除了源代码公开并可以被他人自由复制、使用、修改、公开发布之外,使用人自身还必须遵守开源许可证协议的约束,否则无法免除其侵权责任。例如,在北京知识产权法院审理的数字天堂(北京)网络技术有限公司(以下简称数字天堂公司)诉柚子(北京)科技有限公司、柚子(北京)移动技术有限公司(两被告以下简称柚子公司)侵犯计算机软件著作权纠纷一案中,数字天堂公司指控柚子公司侵犯了其HBuilder软件中三个插件软件的著作权,柚子公司抗辩称,数字天堂公司主张权利的软件使用了受GPL协议保护的第三方软件的源代码,该软件为开源软件,任何第三方有权在GPL开源许可证协议授权下使用该源代码并构建衍生软件产品,因此,柚子公司的行为不侵权。法院认定,数字天堂公司主张权利的HBuilder软件中的三个独立插件,均处于独立文件夹中,该文件夹及根目录下并无GPL开源许可证协议文本,尽管HBuilder软件其他文件夹中包含GPL开源许可证协议,但该协议对三个插件软件并无拘束力,三个插件不属于开源软件的衍生产品或修订版本,柚子公司抗辩不成立,判决柚子公司侵权成立,责令其承担相应的侵权责任。
综上,处理涉及开源软件纠纷的审判经验及规则表明,企业只有全面、正确掌握开源软件的内容及运行机制,并诚信遵守开源许可证协议的约定,才能合法正当地借鉴他人开源软件的先进技术以提升自身软件的水平,并激发软件创新活力,从而促进我国软件产业稳步发展。
结 语
随着互联网、云计算、人工智能、无线通信等领域新技术的快速发展,开源软件生态系统已涵盖全球数以千万计的软件技术人员和商业软件群,全球运算速度最快的前五百名超级计算机使用的就是带有GPL开源许可证的Linux操作系统。同时,开源软件也与社会大众的日常生活息息相关,人们使用的安卓智能手机中的操作系统就是由开源软件发展而来。开放、平等、协作、共享的开源模式,成为全球软件技术和产业创新的主导模式。开源几乎已覆盖软件开发的全领域,全球97%的软件开发者和99%的企业使用开源软件,开源已成为软件产业创新的源泉和产业竞争的新赛道,基于全球的开源生态正加速形成。开源软件已成为全球高新技术背景下国与国之间新的竞争领域,其已进入促进相关产业技术发展和相应知识产权保护的高级应用阶段,不仅涉及一国知识产权保护,还涉及国际知识产权治理规则的确定与完善。因此,我国著作权法应重视开源软件所涉及的相关理论和实务问题,不断研究总结相关规则及经验,为开源软件提供完善的法律保护制度,从而促进我国软件技术创新和软件产业的发展。
- 索尼诉Datel软件著作权侵权案
- 涉“开源协议”软件著作权侵权纠纷案
- “自助创建网站”软件批量维权案
- 美摄诉抖音“抖音”软件著作权侵权案一审判决书
- 涉GPL开源协议争议的软件著作权纠纷案民事二审判决书