观韬视点 | 开源软件的商用化途径
北京观韬中茂律师事务所 李洪江 李泸
摘要:近年来,开源软件的热度不断攀升。开源软件不仅在云计算、大数据、人工智能、区块链等新兴技术发展中占据重要地位,在操作系统、数据库等基础软件的影响力也不断扩大。[i]对于企业来讲,如何合法利用开源软件进行商用是最为紧要的问题。为此,本文以MIT、MPL2.0以及GPL3.0三种对用户限制程度不同的开源软件许可证为例,详细分析开源软件的商用化途径。
一、开源软件的定义及类型
开源软件是指源代码公开,并且允许任何人学习、复制、修改、重新发布的计算机软件。[ii]其最大的特点就是保证用户在获得源代码之后,能够有权利将源代码及其修改文本继续发布,为此,开源软件通过开源软件许可证的方式来保障及约束用户的上述行为。
开源软件许可证实质是权利人将其复制权、发行权、修改权等附条件地许可给不特定公众的著作权许可使用合同。根据开源软件许可证赋予用户的权利和义务内容不同,可以将其划分为三种类型:
1、强著作权型许可证。该类许可证对于用户发布开源代码的限制最为严格。若一个软件包含采用该许可证发布的开源代码中的部分代码,则用户完整发布该软件时,必须整体适用该许可证。例如 AGPL、GPL许可证。
2、弱著作权型许可证。该类许可证对于用户发布开源代码的限制程度较低。若一个软件包含采用该许可证发布的开源代码中的部分代码,则用户完整发布该软件时,软件中使用了开源代码的部分必须遵循该许可证,其他部分仍可在其他许可证下发布。例如∶LGPL、MPL、CPL、EPL 等。
3、宽容性许可证。该类许可证对于用户发布开源代码的限制程度最低。宽容型许可证对已修改代码的许可方式没有任何要求,如∶BSD、Apache、MIT许可协议等。[iii]
由于不同开源软件许可证对于用户再发布开源代码的限制不同,故企业利用遵循不同开源软件许可证的开源软件的法律风险可能并不相同。本文将从上述三类对用户限制程度不同的许可证中分别选取一种为例,详细阐述企业利用开源软件进行商用的法律风险,以期较为全面地探讨开源软件的商用化途径。
二、开源软件的商业化途径
在实务过程中,企业拟将基于开源软件研发的产品进行商业化的途径大多为三种:
1、增值模块商业化。即企业研发人员自主研发增值模块,该部分增值模块不涉及任何开源代码,企业仅对该部分进行商业化盈利。
2、技术服务商业化。企业基于开源软件研发出产品后,通过为产品提供技术服务的方式进行盈利。
3、搭售适配服务器。企业基于开源软件研发出产品,但该产品需要与企业出售的服务器适配后才能使用,企业以此实现盈利。
针对不同的开源软件许可证,上述三种商用化途径的开源法律风险可能是不同的。为此,本文假设某企业希望对基于开源软件研发的产品进行商业化,其产品所涉及的开源软件许可证为对用户限制程度从低到高的MIT、MPL2.0以及GPL3.0三种许可证。企业基于该产品拟进行商品化的途径为增值模块商业化、技术服务商业化以及搭售适配服务器。下文详细分析在产品所涉及的许可证不相同的情况下,采用这三种商品化途径的法律风险。
三、开源软件商业化途径的法律风险分析
(一)开源软件遵循MIT许可证的情形
MIT许可证规定:特此授予任何人免费获得本软件和相关文档文件副本的许可,不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售软件的副本,并允许向其提供软件的人员这样做,但须符合以下条件:上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。
根据上述规定,只要用户提供版权声明和许可声明,就可以不受限制地使用遵循MIT许可证的开源软件,可见MIT许可证并不限制用户对开源软件的使用方式。即在企业研发的产品所包含开源代码遵循MIT许可证的情况下,该产品无论采用增值模块商业化、技术服务商业化,还是搭售适配服务器商业化的途径,在法律意义上均不存在开源的法律风险。
(二)开源软件遵循MPL2.0许可证的情形
MPL许可证是Mozilla基金会推出并广泛使用于其旗下软件的开源许可证,MPL许可证出现的最重要原因是,Netscape公司认为GPL许可证没有很好地平衡开发者对开源代码的需求和他们利用源代码获得的利益。[iv]其最新版本为MPL2.0。
1. 增值模块商业化的法律风险分析
MPL2.0许可证第2.1条规定:贡献者授予使用者全球性的、免费的、非排他性的版权许可:在贡献者许可的版权范围内,使用者可以使用、复制、提供、修改、展示、运行、发布或以其他方式使用其贡献。无论是在未经修改的基础上,还是作为更大作品的一部分。
MPL2.0许可证第3.1条规定:所有以源代码形式发布的涵盖软件,包括您创建或参与的任何修改,都必须遵守本许可证的条款。您必须通知接收者所涵盖软件的源代码格式受本许可条款的约束,以及他们如何获得本许可证的副本。您不能试图更改或限制接收者在源代码表中的权限。
根据上述规定可知,MPL2.0许可证仅要求遵循MPL2.0许可证的开源代码及其修改必须按照MPL2.0许可证的规定开源,增添的新文件可以闭源。在该情况下,企业采用增长模块商业化途径,在法律意义上并不存在开源风险。
2. 技术服务商业化的法律风险分析
MPL2.0许可证的3.5条规定:您可以选择向一个或多个覆盖软件的接收者提供担保、支持、赔偿或责任义务,并收取费用。但是,您只能代表您自己,而不能代表任何贡献人。您必须明确表示,任何此类担保、支持、赔偿或责任义务均由您单独提供,您在此同意赔偿每位贡献人因您提供的担保、支持、赔偿或责任条款而产生的任何责任。您可以包含针对任何司法管辖区的额外免责声明和责任限制。
由此可知,MPL2.0许可证并不禁止用户提供有偿的技术支持。因此,在企业研发的产品所包含开源代码遵循MPL2.0许可证的情况下,企业若采用定制服务商业化途径在法律意义上并不存在开源风险。
3. 搭售适配服务器的法律风险分析
根据MPL2.0许可证的3.1条规定以及开源许可证的产生的目的可知,开源协议仅限制用户使用开源代码的行为,而并不限制用户使用硬件的行为。因此,在企业研发的产品所包含开源代码遵循MPL2.0许可证的情况下,企业若采用搭售适配服务器途径在法律意义上并不存在开源风险。
(三)产品所包含代码遵循GPL3.0许可证的情形
1. 增值模块商业化的法律风险分析
GPL3.0许可证第五条规定:本授权下的作品和其它与之分离的单独作品组成的一个汇编作品,后者并非前者的自然延伸,与前者并未混合在一起,也未意图在某种存储或分发媒介上组成一个更大的程序,如果这种汇编作品及其版权限制,不影响单个作品的版权限制,则它被称为“软件集合包”,在“软件集合包”中含有本授权项下的作品,“软件集合包”中的其它软件作品不必适用本许可证。
根据上述规定,开源协议仅适用于依据开源软件所产生的衍生软件或者修订版本,而并不包括用户自主研发的软件。
最高人民法院在“北京闪亮公司、不乱买电子商务公司侵害计算机软件著作权纠纷案”(案号:(2019)最高法知民终663号)中认为:根据2007年6月29日发布的GPL协议第3版第5条关于“一个受保护程序和其它独立程序的联合作品,在既不是该程序的自然扩展,也不是为了生成更大的程序,且联合作品和产生的版权未用于限制编译用户的访问或超出个别程序许可的合法权利时,被称为聚合体。包含受保护程序的聚合体并不会使本许可应用于该聚合体的其他部分”的规定,闪亮公司所称GPL协议的“传染性”应当是指GPL协议的许可客体不仅限于受保护程序本身,还包括受保护程序的衍生程序或修订版本,但不包括与其联合的其他独立程序。本案中,虽然不乱买公司认可其前端代码中使用了GPL协议下的开源代码,但其主张权利的是后端代码,其后端代码是独立于前端代码的其他程序,并不受GPL协议的约束,无需强制开源。
根据上述规定及判决可知,开源协议的许可客体不仅限于受保护软件本身,还包括受保护软件的衍生软件或修订版本,但不包括其他独立软件。因此,在企业研发的产品所包含开源代码遵循GPL3.0许可证的情况下,采用增值模块商业化途径,如果增值模块属于独立软件的话,在法律意义上并不存在开源风险。但需注意的是,独立软件的判断在实务中仍是一个难点,企业需谨慎对待。
2. 技术服务商业化的法律风险分析
GPL3.0许可证第四条规定:如果满足:1、你显著地在每份副本里都附上恰当的版权声明;2、声明中,将“本许可证条款及添加的非许可条款(依照第7节)均适用于该代码”的内容保持完整;3、声明中,将“不含有任何担保”的内容保持完整;4、跟程序一起,给每一位接受者提供一份本授权许可证文本,则你可以通过各种媒体将程序未经修改的源代码进行传递。你在传递时,可以就每一份副本收取任意费用,也可以免费提供,你也可以提供有偿的技术支持或担保。
由此可知,用户在使用开源软件时,虽然需要遵守相关的开源协议规定,但是该开源协议并不禁止用户提供有偿的技术支持。因此,在企业研发的产品所包含开源代码遵循GPL3.0许可证的情况下,企业若采用定制服务商业化途径在法律意义上并不存在开源风险。
3. 搭售适配服务器商业化的法律风险分析
GPL3.0许可证序言规定:绝大多数的软件作品的授权许可证,都被设计为不允许共享作品、修改作品。相较而言,GPL3.0意在保证您拥有共享和修改一个程序的全部版本的自由,使得软件面向所有用户均保持为自由软件。开源软件基金,在大多数软件中都使用GNU通用公共授权许可证,许可证同样可以适在希望按照这种方式发布的任何其它作品上。
由此可知,开源协议仅限制用户使用开源软件,而并不限制用户使用硬件的行为。因此,在企业研发的产品所包含开源代码遵循GPL3.0许可证的情况下,企业采用搭售适配服务器商业化途径在法律意义上并不存在开源风险。
四、结语
随着全球开源软件的热度不断攀升,各类开源许可证的理解和应用成为企业首要关注的问题。若企业未依照相应开源软件许可证的要求使用开源软件,则可能涉及侵犯开源软件权利人的知识产权。本文通过对MIT、MPL2.0以及GPL3.0三种对用户限制程度不同的开源软件许可证的详细分析,认为在企业研发的产品所包含开源代码遵循MIT、MPL2.0以及GPL3.0许可证的情况下,企业研发的产品无论采用增值模块商业化、技术服务商业化,还是搭售适配服务器商业化的途径,只要符合开源软件许可证的要求,在法律意义上均不存在开源的法律风险。其他能够避免开源风险的开源软件商业化途径仍待进一步研究。
[i] 中国信息通讯研究院,《开源软件知识产权风险防控研究报告)(2019年)。
[ii] 中国信息通讯研究院,《开源软件知识产权风险防控研究报告)(2019年),第1页。
[iii] 中国信息通讯研究院,《开源软件知识产权风险防控研究报告)(2019年)。
[iv] 张平、马骁,共享智慧——开源软件知识产权问题解析,第59页。