本文为作者向无讼阅读独家供稿,转载请联系无讼阅读小秘书(wusongyueduxms)
开源协议是涉及开放标准、共享代码资源和协作开发计算机程序的合同,以自由、共享的理念为基础,旨在确立一种法律机制,以授权使用者在满足一定条件的情况下可以免费使用、改进软件,并最终增加社会福利。Linux操作系统是在开源领域特别成功的案例,可谓改变了网络空间的历史,Android、特斯拉电动汽车的开源等也受到了人们的广泛关注。与现实世界中的广泛使用形成鲜明对比的是,对于开源协议的性质以及违反开源协议的法律后果,仍存在诸多误区。在本文中,笔者希望通过对开源协议的商业模式、授权要点以及违反后果的分析,在一定程度上澄清这些误区。
一、开源?闭源?--不同的商业选择
将开源软件与免费软件等同,进而认为开源软件的开发者不追求任何的商业利益,是一个常见的误区。实际上,开源并不意味着放弃知识产权,这也可以直接从协议的许可条件中看出。此外,不少开源软件的开发者对许可采取双重标准,对满足开源协议中规定的许可条件的情况给予免费许可,而对其他使用行为则发放商业性许可,这样的事实也间接证明了开源与闭源的区别并不在于商业性与非商业性的区别,而在于实现商业性的途径有所差异。
具体说来,开源协议对商业性的追求主要通过两方面来实现,一是提升效率,二是扩大市场份额。通过开源的方式,众多软件开发领域的优秀人才能够共同参与软件改进的过程,相对于考虑到商业秘密泄露的闭源开发,这种聚拢人才的方法显然有助于漏洞的及时发现及软件的及时更新,也有助于提升软件的潜在市场。此外,免费许可对后续开发者的吸引力主要在于减少重复劳动成本,这同样有助于扩大软件实际使用的市场份额,并在此基础上搭配销售负载软件和硬件、收费技术服务作为利润来源。总而言之,开源以一种迂回的方式间接实现商业追求。
二、开源协议的主要许可条件
开源协议的本质是软件著作权许可协议,因此被许可方必然要受到许可条件的限制,总的来说,值得注意的许可条件主要体现为如下四点:其一,明确要求在发布的软件中附上原授权协议。开源的本质在于共享,在软件中发布协议将最大程度扩展共享范围。因此,即便是给予使用者很大自由度的开源协议(如BSD协议)也会要求在源代码中附上原授权协议。其二,是否要求公布源代码、是否允许闭源。例如,根据GPL协议,后续所有使用该源程序的软件开发者均需根据GPL协议把自己编写的源代码进行公开。大多数开源协议都不允许闭源,以最大限度实现开源软件的传导性,但也有一些例外情况。如Apache2.0协议就允许对修改后的软件进行闭源。其三,是否要求修改后的软件也在原开源协议下发布。在此方面最为典型的是GPL协议,修改后的代码需要开源并在GPL协议下发布,从而最大限度实现开源协议的传导性。其四,是否允许商业性使用衍生代码。如GPL协议就未禁止商用行为,但允许商用的效果也要结合协议的其他部分来理解,如果在允许商用的同时,还要求开发衍生性商用软件的被许可方不能组织其他使用者的免费分发行为,则允许商用并无意义。
三、与开源协议相关的著作权案例
正如前面所指出的,开源协议本质上是软件著作权许可协议,但该协议本质上具有格式合同的特点,其可执行性需要通过司法实践来确立。遗憾的是,笔者目前尚未在国内判决中看到明确对开源协议作出阐释的案例。在浙江阿凡提电子商务有限公司、天津市网城天创科技有限责任公司侵害计算机软件著作权纠纷二审民事判决书中,被告以PHP软件适用开源协议提出了抗辩,但被法院以“软件使用手册的开源性质CC许可证并不等同于软件的许可证”为由驳回。无独有偶,在数字天堂(北京)网络技术有限公司与柚子(北京)移动技术有限公司等一审民事判决书中,北京知识产权法院也以涉案软件的插件部分并无使用开源协议项下的代码为由,驳回了被告基于开源协议提出的抗辩。鉴于上述情况,本部分将主要介绍一些与开源协议的著作权问题相关的国外案例。
总的来说,涉及开源软件的著作权案例并不常见,因为开源本身就意味着共享精神,对停止侵权等禁令救济有天然的排斥性。在涉及开源协议的违规时,软件开发者通常会向违规使用者发出通知,一旦在规定的时间内实现合规,则除要求维权成本的补偿外,一般不再追究其他法律责任。下面,笔者将结合为数不多的案例,从违反开源协议的性质认定和损害赔偿计算两个角度来分析相关案例。
1.违反开源协议的性质认定
2004年由慕尼黑法院判决的HaraldWeltev.Sitecom案件是第一个对开源协议性质作出阐释的案例。该案中被告使用了发布在GPL协议下的开源代码创作衍生代码,却并未按照协议的要求附上开源协议、亦未公布源代码,遂被原告诉至法院。在诉前禁令的审理中,法院明确认定违反开源协议的行为将导致协议终止,此时既可追究违反协议的合同责任,亦可追究版权侵权责任。
2008年判决的Welte./.SkypeTechnologiesS.A.案的特殊之处在于被控违反开源协议的SkypeTechnologiesS.A.提出了反垄断诉讼,认为开源协议的许可方实施了滥用市场支配地位的垄断行为。在该案中,慕尼黑上诉法院指出,即便认定GPL协议的规定存在违反反垄断法的情况(这种情况几乎不可能),也不能豁免被告遵守GPL协议的义务。最终,该案以Skype撤回诉讼告终。该案判决再次证实了开源协议的可执行性。
同样于2008年判决的Jacobsonv.Katzer案,可谓是开源软件领域的里程碑案例。在该美国案例中,被告违反了JMRI开源许可证的条件,未在改编后的软件中显示版权声明、亦未提供源程序,遂被以侵犯版权为由诉至法院。地区法院在该案中认为本案主要涉及的是违约问题,不涉及版权侵权,但最终二审法院推翻了上述裁决。二审法院认为,开源协议中对被授权方的限制性规定同时也是版权授权条件,因此原告既可追究被告的违约责任,亦可追究其侵权责任。之后的Artifexv.Hancom案也得出了类似的结论。
总结来看,对于违反开源协议的行为,主流的观点是既可以追究著作权侵权责任,亦可追究合同违约责任。
2.违反开源协议的损害赔偿计算
在2017年的一起案件中,德国两个层级的法院对违反开源协议的损害赔偿问题进行了分析。该案原告发布的在GPLv2开源协议下发布的软件被被告大学使用,但被告大学并未按照GPLv2协议的要求公开相应的源代码,遂被诉至法院要求赔偿。德国波鸿地区法院一审支持了原告要求赔偿损失的诉求,因根据《德国著作权法》第97条第2款的规定,损害赔偿可以以侵权人在获得许可的情况下应合理支付的许可使用费来确定,为方便计算具体的数额,法院还要求被告提供软件使用的时间和用户数量。被告大学不服判决提起上诉。哈姆地区高等法院首先肯定了大学的行为构成侵权,但基于两个理由推翻了一审法院关于损害赔偿部分的判决:其一,如被告的使用行为合乎GPLv2协议的约定,则无需支付任何费用;其二,原告并未采取商业许可与开源许可并存的双重策略。法院指出,在上述情况下,只能认定许可费用为零。
四、一些需注意的问题
通过上述分析可以发现,开源软件使用中的合规问题至关重要。对于开源协议的许可方而言,是否选择开源以及选择何种开源协议主要出于商业利益的考量,在此不再赘述,只是从损害赔偿的角度考虑,可考虑采取商业许可与开源许可并存的策略,从而缓解有权要求停止侵权却无权获取赔偿的尴尬局面。此外,通常来说,开源协议一旦选择便无法撤回,即便版权人对修改后的软件不再进行开源授权,对之前的授权也不会产生回溯性效力,因此需要尤为慎重。
对于软件开发商而言,如决定要使用开源软件,则应当首先对使用的风险进行全面的评估。尤为值得注意的是,开源软件本身可能就存在着侵权问题。美国联邦巡回上诉法院在今年3月的判决中认定谷歌在Android系统中对甲骨文软件中部分代码的使用构成侵权,这个案例无疑具有警示作用--如果开源协议项下发布的软件本身存在侵权,协议的授权并无意义,使用方仍旧面临着停止使用、赔偿损失的风险,这也会使之前的努力付诸东流。此外,开源协议中都会也会有免责条款,声明无质量保障,因使用开源软件产生的相关后果自负等,这些都是需要注意的风险。总的说来,确保遵循开源协议中的每项授权条件是核心,开源绝不意味着免费,更不意味着无需承担任何著作权侵权风险。
编辑/杜倩如