最近几年,开源热度不断攀升,其影响力已从操作系统、数据库等基础软件上,扩展至云计算、移动互联网、大数据、人工智能、区块链等领域,开源技术逐渐形成技术主流,在新兴技术发展中占据重要地位。企业在开发上述领域的项目过程中,或多或少都会使用/参考开源代码。笔者在与企业的朋友交流过程中,经常被问及这个问题:既然代码是开源的,那我们使用开源代码有侵权风险吗?
广义的开源软件是指源代码公开,并且允许任何人学习、复制、修改、重新发布的计算机软件。狭义的开源软件特指符合开源软件促进会(OSI,Open Source Initiative)发布的许可证而定义的开源软件。
OSI对开源的定义一般包含如下原则:自由分发、公开源代码、允许衍生、作者源代码的一致性、无歧视、许可协议的再分发、技术中立等等。
OSI获得广泛认可,已经成为开源运动事实上的标准。OSI可以对“许可协议符合开源定义”进行认证,只有符合认证的方可使用“Open Source”商标,经认证的开源许可协议超过80种,常见的包括,例如:BSD-2-Clause、Apache V2、GPL V2、GPL V3等。除此之外,很多开源软件使用的许可协议未经OSI认证,例如,BSD-4-Clause、Apache 2.0+Commons Clause等。这些未经认证的许可协议可能在常用许可协议中修改某些条款或增加某些限制性条款。由于未经OSI认证的开源许可协议数量众多、条款纷繁复杂,使用这些许可协议的开源代码将面临较高的不确定风险。
业界很容易把开源软件与其他类型的软件混淆:
1、源代码公开的软件不一定是“开源软件”
例如,微软公司的部分产品退出了政府安全计划源代码协议,用户确实可以看到源代码,但不能修改、无偿使用,因此不属于开源代码。如前所述,判断某软件是否为开源软件,还是要看软件许可协议如何规定软件的使用、发布、复制、修订等的规定。
2、开源软件不是公有软件
公有软件是明确放弃版权的软件,然而,开源软件依然受著作权法保护,只能在满足许可协议的情况下使用。
3、开源软件不等同于免费软件
开源软件通常是免费的,但免费的软件不都是开源软件。
4、开源软件不等同于自由软件
自由软件一般特指以GPL类具有强传染性的许可协议发布的软件,其对再发布的要求比通常开源协议的要求更为严格。自由软件不允许使用GPL类许可证的开源代码的软件,在修改源代码后闭源出售,因此可以认为自由软件是开源软件的一个子集。
理解开源协议是认识开源软件知识产权问题的关键所在。每个开源软件发布时,都会附带一个开源协议。开源协议将特定权利赋予用户,同时也会规定用户使用开源软件时必须遵守的规则。
从已有的司法判决来看,2006年德国的Welte诉D-Link案、2017年Artifes诉Hancom案中,法院都认可开源协议为许可合同,也即:开源协议是与版权、专利、商标等一系列权利、义务相关的格式合同,且使用开源软件开始即自动生效的许可合同。
按照许可协议所规定的再分发原则的不同,许可协议可分为三大类:
1、强著佐权(Copyleft)型许可协议(或强传染型许可协议)
强著佐权型许可协议明确修改版本必须以同一许可协议再发布。如果许可协议要求一个软件包含该协议下部分代码,再发布时也必须作为整体适用该协议,则该协议为强著佐权型许可协议,常见的AGPL、GPL类协议均为此类协议。
2、弱著佐权型许可协议(或弱传染型许可协议)
如果协议规定,软件包含该协议下部分代码,完全发布时某些部分必须适用该协议,其他部分可在其他协议下发布,则该协议为弱著佐权型许可协议,如LGPL、MPL、CPL、EPL等协议。对于遵循弱著佐权许可协议的软件,发布者可以向开源代码添加闭源软件,使之商品化销售。
3、宽容型许可协议
宽容型许可协议对修改代码的许可方式没有任何要求,如BSD、Apache、MIT等。对于遵循宽容型许可协议的软件,发布者可按照自己的需求,把自己的软件重新以商业许可协议或其他兼容的许可协议发布。
似乎,宽容型许可协议比强著佐权和弱著佐权型许可协议的商业友好度要好,但是,我们不能仅仅以商业友好度来判断开源许可协议知识产权风险的大小。例如,有些宽容型许可协议,比如BSD、MIT并未明示专利许可,专利侵权的风险反而更大。应该说,不同的开源许可协议,合规的难易程度不同,知识产权的风险点也不相同。
由于开源软件模式的特殊性,其知识产权问题较为复杂,需要厘清开源软件知识产权风险的种类和来源。
1. 著作权侵权风险
著作权侵权风险主要来源于两个方面:
1)开源软件使用者没有按照开源许可协议的规定使用开源软件,从而导致著作权侵权
每个开源许可协议都详细规定了开源软件使用者的权利和义务,使用者必须按照许可协议的要求进行复制、分发。如果使用者没有按照规定使用开源软件,例如,使用GPL许可协议的代码在发布软件时没有提供源代码,就属于违约行为。
深圳中院(2019)粤03民初3928号济宁罗盒诉福建风铃创景软件著作权侵权一案中,法院认为,被告福建风灵公司拒不履行 GPL3.0 协议规定的使用条件。根据 GPL3.0 协议第 8 条自动终止授权的约定及《民法总则》第一百五十八条的规定,被告福建风灵公司通过该协议获得的授权已因解除条件的成就而自动终止。被告福建风灵公司对 VirtualApp 实施的复制、修改、发布等行为,因失去权利来源而构成侵权。
2)开源代码的贡献者将自己不具有著作权的代码提交开源社区,使得开源软件本身存在版权瑕疵
绝大多数开源许可协议都有免责、不担保条款,开源软件的用户如果使用了版权瑕疵的开源代码,需要自己承担风险。
2、专利侵权风险
1)内部专利侵权风险
开源软件的贡献者以个人名义对其中某项技术申请专利,并向开源使用者发起专利诉讼。有些开源协议,例如Apache V2明示了专利许可要求且存在专利报复条款,内部专利侵权风险较小。然而,也有些许可协议,例如BSD、MIT等没有明示专利许可,开源代码贡献者存在提起专利诉讼并收取专利许可费的可能性。
2)外部专利侵权风险
不受开源协议约束的第三方向开源软件使用者发起的专利诉讼。例如,微软曾表示Linus使用了微软的专利。应该说,此类风险与是否开源无关,且难以规避。
3、商标侵权风险
1)未经OSI认证,不可使用“Open Source”商标
2)未经授权使用开源贡献者的商标
绝大部分开源软协议都不包括商标授权,甚至明确规定不得使用贡献者商标。例如,Apache V2协议规定:“本许可协议并未授予用户使用许可协议颁发者的商号、商标、服务标记或产品名称,除非为合理和惯常的方式描述作品来源和复制通知文件有关内容所需”。
在使用开源软件时,还会面临信息安全、商业纠纷、技术垄断等其它方面的知识产权风险,篇幅所限,不再赘述。
One-stop legal services, with you every step of the way.