13910160652
010-52852558
| |EN
首页 > 理论前沿 > 版权
  • 13910160652
  • ciplawyer@163.com

开源项目中贡献者请求权研究

日期:2024-07-04 来源:知识产权杂志 作者:黄菁茹 西北大学 浏览量:
字号:

内容提要


开源项目的商业化已经趋于成熟,贡献者的经济利益日益重要。根据贡献形式、贡献程度、贡献使用条件的不同,开源项目的贡献者形成了较为复杂的请求权体系。开源项目贡献者的合同请求权与著作权请求权是最常见的核心请求权,涉及众多贡献者与著作权归属、开源软件作品性质与贡献者权利范围、违反许可证的违约责任与损害赔偿计算、违反闭源保密协议进行开源的责任认定、免费定价是否构成低价竞争等问题的讨论。开源项目贡献者可能存在权利滥用情形,开源项目不是简单的免费或者收费模式,而是更加复杂的授权与商业模式,需要公平有效的司法裁判规则。


关 键 词


开源贡献者 著作权侵权 合同违约 权利滥用 


随着开源项目商业化的发展与人工智能生成代码的兴起,目前90%以上的应用程序是使用第三方开源代码构建的。中国信息通信研究院发布的《开源生态白皮书》显示,我国在全球最大开源平台GitHub的贡献者数量已经达到了全球第二,仅次于美国。开源与闭源作为软件商业化的两种模式,其行为表象虽然是源代码的公开与不公开,并涉及使用源代码是否需要付费,但从法律关系上看,本质上二者是不同的授权模式。在开源项目中,无论源代码是否开源以及需要付费,在商业应用的环境下,源代码的使用行为都需要付出相应商业对价。闭源软件的授权模式是传统的著作权保护模式,根据《著作权法》第52条和《计算机软件保护条例》第23条等相关规定,侵权行为主要表现为未经权利人许可,对权利人的软件源代码进行复制、发表、登记及署名等情形。实际上,闭源软件的著作权人除了授予购买者使用权之外,通常没有其他的权利。开源软件是开放源代码软件(open source software)的简称,一般指向公众开放源代码,并允许用户根据不同许可证的授权情况自由使用、修改、分发内容的软件类型,与闭源软件相对应而存在。


开源项目贡献者请求权是开源项目需要解决的首要法律问题。基于开源项目的特殊性,开源项目贡献者请求权的基础受到许可证内容、贡献内容与著作权法的关系等因素的约束,因此开源项目贡献者请求权体系以合同请求权、著作权请求权为核心构建。由于计算机软件源代码具有多重知识产权的表现形式,结合相应的商业行为,开源项目贡献者还会形成商标、专利等知识产权请求权和反不正当竞争权益请求权。 


一、开源项目贡献者的认定


开源项目的贡献者通过开源许可证对源代码的著作权进行许可,贡献者享有的权利通常需要结合许可证的内容进行认定,因此明确开源许可证的授权属性和合同效力是认定贡献者权利的前提。然而开源项目由众多贡献者合作完成,因此需要在著作权法的视角下考察贡献者的贡献内容,以进一步明确主要贡献者的身份和享有的著作权范围。


(一)开源项目的实质是著作权的二次授权


开源软件看起来是一种“开放源代码”的行为,但其本质是一种基于合同的授权与使用条款。首先,开源软件对于源代码的授权是通过开源许可证的形式与使用者达成约定。开源许可证虽然是开发者在撰写代码时的单方声明,但其符合合同成立生效所要求的构成要件,无论是从法理上还是现有的司法判决,开源许可证都被认可具有合同效力。在中国涉开源软件第一案“罗盒案”中,法院认定开源许可证具有合同效力,主要原因在于法院认为在中国法下,开源许可证GPL3.0协议的内容具备合同特征,属于广义的合同范畴,其格式化的条款明确了使用相关开源代码的方式,授权内容符合中国著作权法的规定,因此该许可证具有合同效力。而使用者的使用行为视为承诺,并获得来自初始授权人的授权,无需另外签订书面合同,并将开源协议归类为附解除条件的著作权合同。许可内容是贡献者对使用者的著作权使用许可,如果使用者违反许可证规定,则著作权许可的前提条件就不复存在,使用者获得的著作权许可授权将自动终止,相关使用行为构成著作权侵权行为。其次,开源许可协议的“强”或者“弱”可以理解为对使用者使用行为约束的“多”或者“少”。例如,宽松的开源许可证允许软件使用者实施作者的著作权,而无须分发相同的许可证。此类许可证包括BSD、MIT和Apache许可证。较“强”的开源许可证要求所有衍生作品使用相同的许可证或者在某些条件下使用相同的许可证,此类许可证包括GNU系列许可证、MPL和EPL许可证。这些许可证的相似之处包括提供广泛的著作权授予,要求使用者保留著作权声明,并且向使用者提供带有代码的许可证副本,以及使用者在后续的二次开发等使用过程中应当遵守相应的许可证条款。


开源软件是通过许可证的方式与使用者进行源代码和著作权使用的合同约定,根据开源许可证内容的不同,约定内容也不同。开源软件并不意味免费使用著作权或者放弃著作权,开源协议通常是一种附条件的免费使用著作权协议。以GPL系列许可证为例,要求使用者的衍生作品或者二次开发作品必须使用相同的许可证,可以被视为一种附解除条件的协议。如果使用者在二次开发的过程中没有使用相同的许可证,或者违反了GPL许可证条约,那么其最初的使用行为将构成侵权行为。


(二)开源项目贡献者范围较宽泛


根据开源软件的贡献者贡献内容的重要性、时间顺序等,可以对其进行多种分类。对于贡献者来说,每个开源社区或者开源项目差别都比较大。开源参与者从一个项目转移到另一个项目时,通常会发现不同项目的术语、规范和沟通方式完全不同。开源项目通常有如下几类主体。


原始作者,即开源项目的原始创建人或者企业。原始作者会在社区中首先发起一个开源项目。


所有者,即对项目的存储库或者所有成果拥有管理所有权的人。开源项目的管理者通常并不总是与原始作者相同,可能是后续的软件开发者或者购买方。


维护者,即负责推动愿景和管理项目组织方面的贡献者。维护者通常来源于开源项目的原始作者或所有者。


贡献者,是一个较为广泛的用词,任何一个为开源项目作出贡献的人,无论贡献的大小与创新程度高低,都称之为开源项目的贡献者。在其内部,可根据贡献程度不同分为核心贡献者、非核心贡献者、新贡献者。核心贡献者是项目中拥有丰富经验和权威的核心贡献者,可以指导其他贡献者。相比核心贡献者,非核心贡献者的经验较少、权威较小,但其对开源项目的定期贡献和发展至关重要。新贡献者经验最少,但通过指导,其可以成为定期贡献者。


社区成员,是使用该项目的人,即对于项目没有任何贡献,但可能会积极参与对话或表达对项目开发方向的人。使用者通常会对获取的开源项目进行二次开发,并进行商业使用。


为开源软件作出贡献是一种较为宽泛的说法,这里的“贡献”并不仅仅是指对核心代码的贡献,而是各式各样的贡献,包括编程、用户界面设计和测试、网页设计、错误分类、可访问性设计和测试、用户体验设计、代码测试以及安全审查和测试等。没有编码技能的参与人也可以多种方法成为开源项目的贡献者,例如文档编写和编辑、翻译、项目管理、活动组织和协调、营销、发布管理、社区管理,以及公共关系和外展等。


开源项目参与者身份的区分,有助于法院在案件审理中明确权利范围。开源项目的参与者根据项目参与的时间、管理权限、贡献程度、使用方式不同而具有不同的身份,因此开源项目的权属在个案纠纷中都具有一定的复杂性,众多贡献者都有可能具有著作权法意义上的“作者”身份。而这些“合作作者”所享有的权利有些是通过开源许可协议约定,有些是根据著作权法等法律规定。这导致了开源项目所产生的应用程序很难像闭源软件一样由一个权利主体享有软件著作权的全部内容。权利主体以及范围的复杂性,在开源软件的商业化领域显得尤为突出。


二、贡献者著作权请求权分析


开放源代码软件是在著作权法下通过许可证体现的开放、自由和共享理念,它的法律基础是著作权许可。开源软件因为其创新的基础与载体是计算机源代码,因此贡献者或者权利人通常以著作权人的身份进行维权。但是,开源软件代码的贡献者作为一个较为广泛的概念,当出现纠纷特别是著作权纠纷的时候,会带来比较复杂的法律问题。我国著作权法对于合作作品的规定主要涉及权利归属与行使方式,这些规定应用到开源领域则主要涉及对开源项目著作权性质的认定和对贡献者权利范围的界定。


(一)开源项目主要贡献者可否享有著作权


开源软件创作的方式通常符合合作创作的要求,因为发起人或者管理者在创建开源项目后,后续的贡献都是基于完成该项目这一共同目标,用统一的符合该项目的规范方式进行创作,最后经过管理者审核认可后进入该项目。该创作过程符合共同创作的行为,但开源软件的权利人往往是项目的管理者,很难集结所有的合作作者一起进行诉讼。在此种情况下,法院在审理该类案件时需要首先考虑的问题就是谁有权提起开源软件著作权侵权诉讼。


在“罗盒案”中,被诉侵权的广州市玩友网络科技有限公司认为,涉案软件有32位贡献者,涉案开源程序项目是不可分割使用的合作作品,原告起诉的权利基础存在瑕疵。法院查明,该开源项目管理者首先在网站上传其独立编写的软件项目初始源代码,并选择适用某一种开源许可授权协议,其他用户通过自由浏览并获取该项目源代码。根据项目管理者创建的主分支,其他用户可以基于主分支创建自己的分支并自行修改维护。其他用户基于其创建的分支提起“创建拉取请求”,即申请将其分支中的修改合并入主分支中,由项目管理者决定是否同意其他用户的“创建拉取请求”,若同意则将该分支合并入主分支中,则该用户成为主分支的贡献者。上述方式是常见的开源项目贡献者提交贡献的模式。如果机械地适用著作权法,则需要32位合作作者共同主张著作权。考虑到开源项目的特殊创作方式,最终法院认定开源项目管理者拥有初始版本的源代码,该代码量占整个涉案软件代码量的绝大部分,因此其他贡献者提交的代码并未对涉案软件著作权产生实质影响。被告也未举证证明其他贡献者提交的代码是否属于具有独创性表达的创作,仅根据贡献者的代码数量无法确定其他贡献者的合作作者身份,开源项目的最主要贡献者的管理者有权单独起诉。


主要贡献者的管理者具有单独诉权的裁判规则在一定程度上解决了开源软件权利人维权困难的问题。这一规则仅适用于类似“罗盒案”的特殊情形,即开源项目的主要贡献者将著作权转让给了管理者,并且不存在其他具有较大贡献的合作作者。如果主要贡献者是多个,并且实际经营开源项目的企业并没有进行著作权转让,三者是否都可以单独的身份提起诉讼存在争议。尽管很多开源项目的管理者在接受贡献者的贡献时,都会通过协议的方式获得贡献者授权维权同意,但该协议并不排除贡献者以自己的名义维权。


因此,主要管理者通常为负责经营开源项目的企业,其作为开源项目最直接的利益关系人,具有独立的诉权是符合立法精神的。但是,当管理者不能代表主要贡献者时,其拥有独立的诉权是否意味着其他主要贡献者丧失了代表开源项目起诉的权利,抑或者如果多个主要贡献者都可以依据自己具有独创性的表达部分进行起诉,对于毫不知情的使用者来说,这是否构成权利人滥用权利的情形。这一问题,在处理开源项目批量维权的诉讼中就显得尤为迫切。


(二)开源项目作为不可分割的合作作品对权利主体的影响


《著作权法》第14条第2款规定,合作作品的著作权由合作作者通过协商一致行使;不能协商一致,又无正当理由的,任何一方不得阻止他方行使除转让、许可他人专有使用、出质以外的其他权利,但是所得收益应当合理分配给所有合作作者。根据该条款的规定,在开源项目领域,合作作者的身份是平等且一致的,并未区分贡献程度的大小。如果贡献小的合作作者与项目管理者无法协商的情况下,是否可以单独发布自己的贡献内容,该发布是否会影响原开源项目的整体运营。以上问题,在现行法律中并没有明确的规定,只能在个案中由法院进行判定。在某种程度上开源项目著作权“碎片化”的特点,与电影作品著作权具有一定的相似性,但也有本质区别。首先,电影作品中的每个具有独创性的作品都具有独立的表达形式,例如编剧写的剧本、词曲作者写的电影音乐等都可以成为独立的作品。但是开源项目中贡献者的表达形式是源代码,从著作权法的角度看,每一段源代码并不都具有独创性,即贡献者并不一定享有著作权。其次,电影作品的众多著作权人独立行使各自权利的时候,通常并不影响电影作品的传播。例如,电影的词曲作者可以对其音乐作品单独授权。但开源项目中有些类似补丁的小贡献者如果单独授权其源代码,或许会对原开源项目的安全性、市场竞争力等产生一定的影响。因此,现行的电影作品或者其他作品中有关合作作者的司法裁判规则很难类推到开源项目中。


开源软件合作作者各自行使权利时,可能更多依赖于合同约定以及竞争法相关规定。随着开源项目的普及以及各类纠纷的出现,开源许可证以及相关的合同不断更新调整,约束了参与项目人的行为和贡献者的行使方式。但是仅仅依赖合同的约定会存在较大的问题,因为许可证作为一种格式条款,其效力可能存在瑕疵。同时许可证之间也可能存在矛盾,因此最终有赖于从竞争法角度考量合作作者的权利行使。例如,贡献者协议已经被广泛地应用于开源项目中,当贡献者为一部作品作出贡献时,他们是否是共同作者?以及他们是否真的将著作权许可给了更大的贡献者?类似这样的问题在开源项目的贡献者协议中通常都有一些基本的约定。但作为格式条款协议,相关条款的约束力有赖于其约定的合理性,如果出现法律规定的无效格式条款,其条款或许就不具有约束力。开源项目构建的很多惯例和实用手册都旨在解决作者身份和许可状态的模糊性,但这些常见的“作者文件”本身又带来了更大的模糊性。一些项目表面上将对项目作出贡献的人员与拥有该项目部分著作权的人员进行了区分,但“作者文件”往往很少明确声明其对所列举的作者进行了法律性质上的区分。在个案中,法院需要进一步明确开源软件的作品性质与著作权法上规定的合作作品是否类似或不同。在评估作者是否对作品拥有著作权时,项目贡献者具有什么样的权利,是否可以取得类似于“电影制片者享有著作权”的身份与权利?在面对市场竞争秩序时,上述问题的讨论不仅要考虑著作权法的立法精神,还要从竞争法角度进行考量和判断。由于涉及公共利益与竞争秩序,开源项目作者身份的认定已经不仅是著作权归属的问题。如果难以细化作品性质与贡献者的权利范围,对于贡献者行使权利的方式可以类推适用反不正当竞争法有关商业道德的规定。


(三)开源项目作为汇编作品对权利主体的影响


开源项目有可能是贡献者独立完成的小作品集合而成,因此存在开源项目被认定为汇编作品的情形。此时,需要协调著作权人之间的关系。首先,《著作权法》第15条规定,汇编作品是指汇编若干作品、作品的片段或者不构成作品的数据或者其他材料,对其内容的选择或者编排体现独创性的作品。在开源项目领域,根据该条款,开源项目是否应由独立的库或者软件作为组成分支,独立的库和软件是否就等同于著作权法意义上的若干作品、作品片段、数据或者其他材料?虽然独立库或者软件只要满足形式上的独立,就可以基本满足汇编作品的构成要件,但是还需要区分该独立的库或者软件是否属于独立作品、作品的片段、数据或者其他材料,因为不同的属性会影响汇编作品权利人行使权利的方式。《著作权法》第15条规定,汇编作品的著作权由汇编人享有,但行使著作权时,不得侵犯原作品的著作权。如果独立的库或者软件被认定为独立的作品或者作品的片段,则汇编作品权利人在行使权利时,还需要考虑原作品的著作权。但如果被认定为不具有独创性的数据或者其他材料,需根据实际情况判断汇编作品权利人如何合理使用这些材料,以及可能涉及哪些权利义务。汇编材料没有著作权的情况或许会涉及不正当竞争的问题,可以参考我国有关大数据保护的反不正当竞争判例加以规制。


开源项目开发过程清楚展示了汇编工作的完成稿。例如,贡献者经常会将一个预先存在或者完成的库完整添加到某个开源项目中,这一行为看起来符合法律有关汇编行为的定义。但是,是否所有这样的行为都会被视为是一种汇编行为,如果都被视为汇编行为,那很可能会出现“每个演员都是电影的汇编作者”的不合理结论。因此,虽然表象上开源项目的创作形式符合汇编作品的法律规定,但本质上与汇编作品权利的行使方式存在较大区别,各国或地区的法律实践似乎也比较排斥汇编作品认定规则。


(四)提交贡献的方式对共同创作意愿的影响


贡献者对于开源项目的贡献方式是以“拉取请求”的形式进行。在“拉取请求”的过程中,贡献者需要复制整个项目并将其连同贡献者的修改一起重新发布为新版本。作为提交新贡献的一部分,贡献者需要将开源项目中包含的所有许可证文档应用到新的内容中。如果贡献者不是通过“拉取请求”而是通过其他方式,例如电子邮件的形式贡献代码,那么开源项目的许可证适用就存在争议。例如,法院可能会根据电子邮件的上下文、行业惯例等得出结论,认为通过电子邮件贡献者已将作品许可给项目管理者。如果开源项目管理者通过其他方式收到的贡献没有附带许可证,那么贡献者的身份是否是合作作者、贡献者是否可以行使许可证中约定的行为等均存在法律上的争议。


所以,对于合作作者行为的规范,著作权法仅规定作品是否可被分割,无法解决现实中因为贡献程度不同而存在的较为复杂的合作作者问题。随着贡献者协议在开源项目中的普及,该协议成为合作作者行为规范的主要依据。此外,竞争法作为调解市场竞争关系的法律规范,可以成为解决开源项目中合作作者利益纠纷的规范依据。


(五)违反开源项目协议可能构成著作权侵权


根据我国《著作权法》第49条和第51条的规定,侵犯著作权的行为主要是未经权利人许可实施的一系列行为。但在开源项目领域中,结合开源许可证的特性,这一原则演变为遵守许可证的规定就意味着获得了贡献者的著作权许可,违反开源协议就意味着自始未获得贡献者的著作权许可,则后续对于开源源代码的使用行为都可能构成直接侵权行为。如在“罗盒案”中法院将涉案许可证认定为附解除条件的合同。


类似这样的规则也是国际普遍认可的裁判规则。在Jacobsen v. Katzer案中,法院讨论了免费软件的著作权所有者可以在多大程度上控制另一方对其作品的修改和使用。Jacobsen根据开源公共许可证Artistic License 1.0提供代码供公众下载,Katzer 将其复制到自己的商业软件产品中,但没有标明代码的来源。Jacobsen认为许可条款定义了代码的潜在使用范围,超出这些限制的使用就侵犯了著作权。但Katzer认为许可条款本质上是契约性的,应仅限于根据合同法执行。美国联邦巡回上诉法院最终认定,许可条款除了根据州合同法具有可执行性之外,也是美国联邦著作权法下可执行的著作权条件。由于Katzer未能遵守许可条款,在衍生软件上附加所需的著作权声明,因此其对代码的使用构成了著作权侵权。该案明确了某些违反开源许可的行为侵犯了著作权。


自由软件基金会(Free Software Foundation)诉思科系统公司(Cisco Systems)案是运行开源软件的自由软件基金会以使用者违反开源许可证为由提起的著作权诉讼。2008年,自由软件基金会对思科系统公司提起诉讼。自由软件基金会认为思科系统公司销售的产品违反了自由软件基金会的著作权许可条款。这些程序中的大多数根据通用公共许可证GUN 2.0获得许可,还有一些程序根据GNU较宽通用公共许可证获得许可。自由软件基金会声称其受著作权保护的代码存在于多个产品模型和相关产品的程序中,要求法院禁止思科系统公司进一步分发包含自由软件基金会著作权代码的产品,并要求思科系统公司赔偿其从销售这些产品中获得的所有利润。2009年5月双方宣布达成和解协议,其中包括思科系统公司任命一名董事,确保被诉产品遵守自由软件许可证。


上述三起案件都是使用者在商业化的过程中,因违反了贡献者在许可证中对于商业使用的规定,使得使用者不再获得使用代码的著作权授权而构成了侵权的案件。著作权的请求权基础在于使用者是否基于许可证获得了授权,并涉及两个法律问题,即许可证的合同效力以及使用者的行为是否符合许可证的约定。另外,如果许可证是一种协议,则使用者违反许可协议后,权利人可以选择以著作权侵权或者违约为由进行起诉。两种诉由的区别在于证据准备的难易以及赔偿数额的计算。


三、贡献者合同请求权分析


如前文所述违反开源许可证可能同时构成合同违约与著作权侵权,通常权利人可以自行选择任意一种救济方式。诉由不同,损害赔偿的计算方法也不同。基于著作权请求权获得经济救济是侵权赔偿,基于开源许可违约请求权获得经济救济通常是损害赔偿。本文重点讨论如何计算损害赔偿,同时关注使用者违反免费许可证的要求进行商业使用的情形。开源社区许可证协议可以有效消除参与者对项目价值观和生产模式的模糊认知,进而影响项目参与者的构成及其可能的知识贡献。因此,应当谨慎地处理开源许可证的合同效力和违约责任。


(一)未签署开源许可证的合同效力认定与损害赔偿计算


2017年的Artifex Software, Inc. v.Hancom, Inc.案是在开源社区具有一定的影响力的案件。Artifex是PDF解释器Ghostscript的软件开发商和许可方,韩国企业Hancom生产的办公软件中将Ghostscript合并到Hancom的文字处理软件产品中。该产品由Artifex根据商业许可证以及GNU通用公共许可证GPL向外分发。根据该许可证的规定,如果使用者在未购买商业许可证的情况下使用该软件,则该用户接受GPL条款。Hancom认为其未与原告签署GPL协议,因此不存在合同关系。法院认为,Hancom并未获得商业许可,其在商业行为中使用该软件的行为视为同意了GPL许可,从而双方达成了合同。最终双方达成了和解,但是法官有关违反开源许可证构成违约责任以及损害赔偿数额的计算方式,为贡献者以合同为请求权基础获得救济提供了有效的路径。该案对开源项目贡献者与使用者的合同关系问题进行了以下三个层面的法律探讨。


第一,违反免费使用许可证是否意味着签署了商业使用许可证。随着开源项目商业模式的发展,贡献者在兼顾商业利益与公共利益的过程中,对开源项目的许可模式从单一的许可模式逐渐发展为根据用户的行为而自行选择商业使用许可证以及非商业使用许可证的模式。通常使用者会使用免费版的开源项目,但不遵守免费许可证的要求,即未将其产生的衍生版产品免费贡献给开源社区,而是将该开源项目进行商业化的“闭源”使用。这意味着使用者未签署商业使用许可证,不存在违反商业许可证的行为。使用者虽然违反了免费许可证的约定内容,但免费许可证是基于公共利益,难以找到受到损害的主体进行主张与维权。这类行为是开源社区中最受道德谴责、最损害开源社区利益的行为,但法律上存在救济困难。因此,在该案中法院采取的以违反免费许可证的行为视为签署商业使用许可证行为的裁判规则是有效且公平的。合同法中的合意,原则上应指双方当事人意思表示一致,对合同条款在客观上意思表示一致。使用者签署商业许可的意愿并不是直接表达的,而是基于使用者明知商业许可证的存在,但故意选择将免费许可证进行商业使用的行为视为意思的表达,以及要约的达成。


第二,许可证通常不涉及违约金等条款,在认定使用者违约后,通常是以损害赔偿的方式进行补偿。如何计算损害赔偿的数额是开源项目领域特殊的法律问题。开源项目的许可证不涉及违约金条款,因此开源许可证作为开源项目的基础协议,违反该协议主要承担损害赔偿责任,即债务人不履行合同债务时依法赔偿债权人所受损失的责任。其本质是合同一方当事人因违反合同约定而给另一方带来利益损害,另一方因此应当获得金钱救济。基于开源项目的特点,法院参考了原告可能从商业许可协议中获得商业许可费的价值来计算被告的损害赔偿金额。虽然Hancom辩称其签署的是免费许可协议,违反免费许可协议不会造成金钱损失。但法院认为,任何人包括法院都不能将商业许可的条款强加给Hancom,但其使用商业许可证的费用是实际存在的,是使用者在商业使用中应当支付的费用,也是开源项目贡献者事实上存在的经济损失。这样的计算方式有利于开源项目的软件提供商,即如果有些使用者试图通过免费的开源许可证获得源代码,并在违反商业许可条款的前提下进行商业使用,则开源项目的软件提供商可以通过合同违约强制执行商业许可条款。


第三,责任承担的方式是否包含强制执行许可证共享的要求,即开源项目的许可人是否可以要求被许可人基于免费许可证共享衍生作品的源代码。这个问题在案件中并没有形成明确的裁判规则,但是法院提出了只有在损害赔偿难以计算或不充分的情况下,才可以支持强制使用者对其源代码进行操作的请求,同时明确应当慎用这种救济方式。因为开源项目的许可人愿意根据免费许可证提供源代码的核心原因在于,使用者须根据免费许可证共享衍生作品的源代码,以便其他人可以进一步推进和开发开源。基于合同的违约金虽然让贡献者获得了一定的金钱救济,但实际上难以弥补因使用者无法共享衍生作品而带来的公共利益的损害。因此,将免费许可证中“强制共享”的义务留给公共利益受损的情形,是在开源项目中予以适用的特殊规则。著作权法不包含开源义务,因此该强制措施应当仅限于基于合同请求权的范围,而不应当适用著作权请求权的范围。


(二)违反开源项目保密协议赔偿数额的计算


SCO诉IBM开源项目合同违约案主要涉及的法律问题是违反保密协议应如何认定损害赔偿。2003年3月,SCO宣布以10亿美元的索赔起诉IBM,并声称IBM将SCO的商业机密转让给Linux。这一数额后来从10亿美元上升至50亿美元。SCO还对Linux用户发起诉讼,一度对该系统的使用构成了一定的威胁。SCO声称自己是UNIX系统的所有者,1998年IBM和SCO联合其他企业创建了“Monterey”项目,2001年IBM退出了该项目,并收购了部分参与此项目的企业。随后IBM在自己的操作系统中使用了SCO的部分代码,并把该项目的部分知识产权贡献给了Linux。SCO认为IBM将属于它的资产交给了开源Linux代码库。这场诉讼持续了近20年,最后法院判决IBM赔偿SCO 1425万美元。


该案让我们看到未来可能会产生一种常见现象,即原始贡献者与后续衍生品贡献者之间因为贡献度与商业成功度不同而产生的利益分配纠纷。开源项目贡献者同时作为闭源项目的贡献者,在分享贡献的同时可能会侵害闭源软件的利益。如何看待“开源”行为本身所带来的损害,特别是如果闭源项目本身并不成功,即不具有较高的商业价值,但经过其他参与者支持后,在违反保密协议的情形下进行了开源,从而获得了较高的商业价值,继而如何衡量这种情况下闭源贡献者的损失。此种情况涉及原始贡献者的保密条款与衍生品贡献者使用方式之间的矛盾与法律判断。在考虑违反保密条款的损害赔偿时,可能会出现两个考量因素:第一,原始贡献者的保密条款限制了软件在闭源模式下的商业价值;第二,衍生品贡献者违反保密条款对软件采取的开源模式,不仅使贡献者获得了商业成功,而且给社会带来了更大的公共利益。如果后续衍生品贡献者的贡献度以及商业化成功的程度超越了原始贡献者,则应审慎看待原始贡献者应当获得的利益和享有的权利。如果尊重原始贡献者的贡献,则可能产生阻碍更好衍生品的出现;如果不尊重原始贡献者的贡献,是否会降低原始贡献者对开源项目的贡献热情,甚至出现鼓励闭源软件的参与者违反保密规定进行开源尝试的效果。因此,在违反保密条款的情况下,损害赔偿的认定不仅是原始贡献者经济上的考量,而且需要根据原始贡献者的贡献程度、衍生品贡献者的贡献程度、软件开源带来的公共利益、贡献者基于公共利益所表现出来的善意与恶意等情形对损害赔偿进行综合认定。


四、贡献者其他请求权分析


由于计算机程序保护的特殊性,计算机软件可以通过多类知识产权获得不同程度的保护,因此开源项目的贡献者可能基于其贡献而获得专利请求权、商业秘密请求权、商标请求权等知识产权请求权。基于开源项目商业化过程中的竞争行为,开源项目的贡献者可能享有以不正当竞争权益为基础的请求权。开源项目的贡献者还有可能违反反垄断法或者反不正当竞争法等。


(一)商标请求权、专利请求权、商业秘密请求权


知识产权请求权的基础首先是知识产权的权利范围与稳定性。开源项目的贡献者除了可以获得著作权以及许可证的请求权外,还可以将开源社区的名字、要素、图形等符号注册成商标,获得商标权请求权。例如,谷歌作为安卓系统的主导企业,涉及安卓机器人的形象、Android等文字图形符号,为获得商标法保护,谷歌都注册了商标。除了软件著作权之外,源代码贡献者还可以将源代码所代表的程序的技术方案申请发明专利,或者将软件、程序的界面设计等申请用户图形界面设计(GUI)外观设计专利。关于商业秘密的请求权涉及的载体更为广泛,只要是符合商业秘密保护的构成要件,即不为公众所知悉,具有商业价值,并经权利人采取相应保密措施的技术信息、经营信息等商业信息,均可以获得商业秘密请求权。虽然,开源的基本属性是开放源代码,但是贡献者在撰写代码的时候生成的相关文件,以及签订贡献者协议保密条款的材料或者信息可以获得商业秘密请求权。


基于知识产权的特点,开源项目贡献者的知识产权请求权的权利范围具有不稳定性。例如,开源项目贡献者如果以专利权作为请求权基础,则要考虑计算机程序可以获得专利权授权的范围与稳定性;如果以商业秘密作为请求权基础,则要考虑采取保密措施的范围以及材料载体的秘密性;如果以商标权作为请求权基础,则要考虑使用者的商标使用方式,若是在代码中的指示性使用或者描述性使用,则商标权请求权不在贡献者请求权范围内。概括来说,若开源项目贡献者涉及其他知识产权请求权,则涉及的各类知识产权是独立的体系,具有独立的权利内容与稳定性。随着开源许可证的发展,越来越多的许可证将专利权、商标权等知识产权增补入开源许可证。


(二)反垄断、反不正当竞争权益请求权


开源项目贡献者通常是权利人的角色,在开源项目的商业竞争中有可能基于对开源项目享有的竞争优势而获得反不正当竞争权益的请求权。实践中目前已有相关案例,因此相比开源项目贡献者请求权的研究,更为迫切的法律问题是规制开源项目贡献者可能存在的权利滥用行为以及违法垄断行为。


1.免费开放源代码的行为是否构成低价竞争需要综合判断


Wallace v. FSF案是开源项目对于开源中免费行为是否构成低价竞争的典型案例。Wallace起诉自由软件基金会操纵价格,他认为免费的Linux使他无法通过销售自己的操作系统来获利,因此自由软件基金会主导的开源项目违反了反垄断法。Wallace指出,根据自由软件基金会的通用公共许可证GPL要求,贡献者免费提供源代码的行为应当被认定为利用垄断地位进行低价定价。法院认为,自由软件基金会的通用公共许可证GPL是鼓励而不是阻止自由竞争和计算机操作系统的分发,可以直接传递给消费者更多的益处。这些益处包括更低的价格、更好的准入和更多的创新,支持作者和内容创作者免费提供其创作的权利。因此,自由软件基金会的通用公共许可证GPL不违反反垄断法。


总体上,应当从反垄断法和反不正当竞争法两个层面去考量开源项目免费开放源代码的行为是否构成低价竞争。首先,在反垄断法领域,上述案件中法官认为基于通用公共许可证GPL免费的定价行为并未违反反垄断法,但这并不意味着所有免费定价的开源项目,或者基于通用公共许可证GPL的免费定价行为都会被认定为不违反反垄断法。虽然,很少的开源项目能像Linux操作系统一样在市场上具有较为广泛的影响力和应用价值。但是,如果具有市场垄断地位的闭源软件通过免费的开源插件与应用进行搭售、非法联营等滥用市场垄断地位以及排除竞争者的行为,依然可能构成违反反垄断法的行为。其次,关于不正当竞争领域,随着免费版的开源小插件、小程序等小型软件的增多,利用开源版软件免费的特性进行不正当竞争的行为会越来越多,其表现形式也会更加复杂。因此,免费开放源代码行为是否构成低价竞争,需要结合具体的使用形式与应用场景进行综合判断。


2.开源项目贡献者批量维权可能会构成权利滥用


Geniatech v. McHardy案是Linux内核开发人员McHardy就不遵守GPL许可条款向多家Linux发行商提起诉讼的案例,由于涉嫌权利滥用,McHardy最终选择撤回诉讼。这被视为反对开源社区著作权恶意诉讼行为的实质性胜利。McHardy一直致力于为Linux内核提供与网络相关操作的贡献。Geniatech是德国消费品制造商的代表,被起诉的设备是其制造的一系列采用Linux操作系统的卫星电视接收器。法院经过审理认为,尽管McHardy可能拥有衍生作品的权利,但他没有提供足够的证据证明其对贡献享有著作权。Geniatech提交了相关文件证实McHardy主要目的是寻求金钱收益,而不是为了提高开源项目的许可合规性。McHardy曾就许可证违规问题与约80家企业接洽,并可能在活跃期间净赚200万欧元或更多。


我国开源软件权利人权利滥用情形日益显现。在上海卓卓网络科技有限公司(以下简称卓卓公司)诉江阴摩尔口腔医院有限公司侵害计算机软件著作权纠纷案中,法院认可了GPL的“传染性”,要求被告不得侵犯原告的署名权,在网页底部添加原告网址链接,并赔偿卓卓公司经济损失及合理维权开支共800元。该案件虽然看起来是有关开源协议有效性的问题,但较低的合理开支以及案件相关的信息都指向了卓卓公司作为开源软件的权利人,可能存在权利滥用的情形。越来越多的开源软件,例如,微信小程序等简单功能软件,通常先以开源免费的形式占据市场,随后通过著作权登记发起大规模诉讼,以获得高额利润。在现有的法律体系下,该类行为可能会因违反反不正当竞争法中商业道德的规定而构成权利滥用。


开源项目贡献者批量维权的滥用行为与其他知识产权通过诉讼维权的滥用行为具有相似的特点。


首先,诉讼对象都是不具有研发实力的经营主体。在我国的案件中,开源项目贡献者选择向不具有软件开发能力的商业主体进行起诉,因此被告无法对开源项目贡献者主张的源代码侵权行为进行实质性抗辩,只能以合法来源抗辩试图避免赔偿责任。但开源项目贡献者通常会给开源商业版的软件以较高的定价,导致被告难以适用合法来源进行抗辩,最终因无法举证,以及担心面临较高的赔偿以及合理开支而被迫接受定价。在德国的案件中,原告选择存在轻微违法开源许可证行为的经营主体,例如,选择归属缺陷、源代码书面报价缺乏或不充分,或者最终用户协议与开源许可证相冲突的商业实体进行诉讼。


其次,开源项目贡献者解决法律纠纷的重要目的是与商业实体达成许可合同。在德国的案件中,许可合同的核心在于商业实体停止或者承诺停止侵权活动,如果有继续侵权行为,则强制按许可合同付款。约定的基础在于,德国法院之前的判例认为此类侵权行为的赔偿费用约为25万欧元,因此商业实体认为侵权赔偿金额较大,易与原告达成一致。在中国的案件中,达成许可合同的核心在于商户无法与开源项目贡献者进行价款与交易的商讨,被迫高价购买开源项目贡献者提供的开源商业版软件。


综上,开源项目贡献者的批量维权可能会构成权利滥用,但是通常具有隐蔽性,因为批量维权的结果通常是维权人与被诉人之间的保密协议。而权利滥用需要在批量维权协议的基础上予以认定,因此很难出现大量用户联合起来对抗权利滥用的情形。这就使得开源项目贡献者的批量维权行为很容易成为一种新的商业模式,这种商业模式既是由法律体系的具体情况促成的,又是根据法律体系的具体情况量身定制。权利人利用开源软件进行权利滥用是一种需要警惕的新型形式,主要体现在权利人滥用基于图片、字体、外观设计、商标等的著作权、专利权以及商标权。这一现象已经引起了社会的高度关注。


结 语


中国作为信息技术开源发展的后发国家,在发展过程中面临着诸多问题。在开源项目商业化繁荣的时代,贡献者基于其贡献享有较为复杂的请求权内容与范围,同时也存在权利滥用的现象与趋势。但无论贡献者主张的是何种请求权的法律基础,都面临保护贡献者的创新成果、维护开源项目贡献创新的秩序以及保护消费者权益的多重价值考量。开源项目绝不是简单的免费或者收费模式,而是更加复杂的授权与商业模式。