中文
EN
关于我们
业务领域
汇仲团队
汇仲荣誉
汇仲研究
新闻中心
联系我们
“开源”第一集:从自由的乌托邦来,到软件经济的主流去
作者:赵芳 汪若文 朱琪 2022-10-01

 

 

 

 

一、前言:开源协议的现实重要性

 

提到软件,法律人通常第一印象都是“copyright”,即著作权。但是,大家是否知道,在软件的领域,还存在一个与copyright相对的权利概念叫做“copyleft”,即著佐权?
 
202145日,美国最高法院公布了令世人期待已久的谷歌诉甲骨文案判决,认定谷歌对甲骨文(OracleJava SE应用程序接口的部分复制构成对甲骨文软件在法律上的合理使用。这个里程碑式案件审理的对象,就涉及我们今天要介绍的“开源软件”和“copyleft”,即著佐权。
 
事实上,著佐权这个概念离国内的软件行业和法律体系也并不遥远。顾名思义,“著佐权”就是与“著作权”相对的权利:著作权着重保护权利作品被作者独占享有的权利,而“著佐权”着重要求作品被公开分享。但同时,两者又相伴相生。例如,广州中院在下文提及的玩友案中认为,相对于著作权,自由软件所遵循的“著佐权”原则,表面上是叛逆版权,但实际上却一直建立在版权保护基础之上。
 
在国内,开源软件第一案当属2019年11月6日北京市高级人民法院审结的数字天堂案。该案由数字天堂(北京)网络技术有限公司起诉柚子(北京)科技有限公司、柚子(北京)移动技术有限公司。在终审判决中,法院第一次对依据《GNU通用公共许可协议》所产生的开放源代码衍生软件作品进行了法律解释。
 
此后,2021年4月,广州市中级人民法院又针对济宁市罗盒网络科技有限公司诉广州市玩友网络科技有限公司(“玩友案”)相关的开源软件归属作出终审判决。在著佐权于我国法律规定付之阙如的情况下,玩友案判决全面、详细地阐述了法院对GPL3.0开源许可协议性质和若干条款的理解,深入剖析了开源软件的著作权归属、如何认定开源软件侵权行为和法律后果等核心法律问题,对市场和司法体系理解和把握开源软件法律的适用和纠纷解决提供了指导和广阔的思路。
 
目前,全球开源生态发展势头迅猛,开源产业日渐成为资本市场的新风口。根据中国信通院发布的《开源生态白皮书(2021)》,我国虽然开源发展时间短,但是开源项目呈现爆发式增长。我国在全球最大开源平台GitHub上的贡献者数量已经达到了全球第二,仅次于美国。开源主体上逐渐从个人向龙头科技企业转变,适用领域上逐渐从最初的互联网科技向电信、金融等行业覆盖。软件使用上,开源技术已成为主流,2020年我国已经使用开源技术的企业占比88.2%[1]
 
面对如此庞大而蓬勃发展的开源生态产业,开源已不仅是计算机世界里的算法、数据、语法,更超越了它原生的乌托邦色彩,不再仅依靠参与者的自我激励机制和无偿奉献的利他主义实现其“开放、共享、自由”的理想。
 
考虑到这一现实,国家高度重视开源产业发展。“十四五”规划中首次提出了“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”的政策导向[2]。工信部也于2021年底发布《“十四五”软件和信息技术服务业发展规划》,提出要重塑软件发展生态,实现“到2025年建设2~3个有国际影响力的开源社区,培育超过10个优质开源项目”的目标[3]
 
上述情况均表明,目前开源协议的使用和应用已经深入我国人民生活的方方面面,急需法律人士深入加以了解和学习,以便更好协助使用开源协议的企业合法合规使用、降低争议风险。
 
为此目的,我们开发了本开源系列简介小文,拟就开源软件与自由软件的价值取向入手,介绍目前商业模式中常见的开源协议;接着再从我们最为擅长的争议解决角度为大家剖析目前少数的国内外案例,展望有关域外法律问题。我们希望,从法律人角度,这个开源简介系列不仅为大家带来有关开源软件的小知识,更能直接地从根源展示相关争议的起源、裁判者的司法考量方向,以协助大家总结和采取风险防范措施。
 
 

 

二、开源的起源--对技术自由发展的推崇

 
“开源”,是计算机科学与技术学科领域内的一个概念。通俗而言,开源指“公开软件源代码”。因此,开源软件(Open-source software)是一类与传统软件相异的软件类别。在开源软件下,用户可以自由获取生成计算机软件的源代码。但作为获取条件,用户需要遵守软件开发者公开源代码所要求用户遵守的开源协议规定,才能合法使用代码。在开源协议下,软件持有人会保留一部分与源代码有关的权利,在此前提下,允许用户免费使用、复制、修改和分发以提高软件质量。
 
目前,开源的自由,主要依赖于开放源代码首创行动组织(Open Source Initiative Association 简称 OSIA)所适用的开源许可协议,同时借助于法律的力量,获得保障、接受约束。因此,在企业开发、利用开源软件的过程中,必须首先从法律角度准确理解开源协议的产生、发展和现状,方能明确自身权利、义务,避免可能产生的风险。
 
开源软件的舞台由20世纪80年代美国软件工程师理查德.斯托尔曼Richard Stallman)拉开帷幕,缘起于他与个别软件厂商(如微软)间的权利博弈。当时,软件商业化模式逐渐成熟,微软引领软件走入版权(Copyright)时代,对软件开发技术实现垄断,阻碍了软件的交流、合作与发展。为打破这一局面,理查德提倡软件本就自由,应当回复其自由的本来价值,因此,他依托MIT建立自由软件基金会(Free Software Foundation, FSF),呼吁技术人员适用与版权完全相背的著佐权(Copyleft)授权方式,即,GPL公共许可证(General Public License)。
 
此后,二十几年发展的事实已经证明,正是对于“自由”的尊重,对于技术发展的追求,开源软件从“非主流”地位逆势而上,变成了主流,甚至动摇了坚守版权阵地的微软等软件巨头。总结开源软件成功的经验,可以归纳为三个主要原则:第一,开源坚持开放,鼓励最大化参与创作与协作;第二,尊重作者权利,同时保持程序完整性;第三,坚守独立和中立,避免任何可能影响独立和中立性的事务。[4]
 
那么,开源软件是如何从自由价值出发,实现经济与技术发展目的的呢?不同于传统的封闭式源代码的版权保护方法,开源软件的许可证规定用户可以获取源代码。源代码是包含软件设计构思和技术秘密的代码,公开源代码意味着这部分知识产权成果的自由共享。但是,作为对价,使用者或后续开发者必须遵循许可证约定,并且,其“自由”地使用、修改、再发布代码均应在符合相应许可证要求。[5]但与此同时,开源软件并不排斥赢利。开源软件仍然允许软件开发者用符合开源模式的方式收费并赢利
 
因此,考虑开源软件的合法应用,最为关键的是需要了解不同开源协议有哪些关键约定、相应权利义务如何,以及违反开源协议可能造成什么后果。

 

 

三、常见的开源协议类型
 
目前行业内使用的开源协议类型众多,经OSIA组织认定的已达115种。市面上最常见的开源协议(或许可证)主要包括GPLLGPLBSDBerkeley Software Distribution)、MITMassachusetts Institute of Technology)、ASLApache Software License)。事实上,所有的开源协议本质上都是允许商用的,但是根据限制条件的强弱,开源许可证对使用者就修改后的软件发布时是否需要公布源代码提出了不同的要求。下文根据各有关开源协议官网整理了相关许可证的使用指引。
 
需要指出的是,官网作出的开源协议有关说明或指引,其出发点在于指导适用、创作软件代码的人如何应用相关许可证,而非从风险防范角度指出应当如何遵守开源协议,也并未指出有关违约或侵权的责任。我们之所以仍然需要了解开源协议本身,一方面,这直接解决开源协议“是什么”的问题;另一方面,法院在处理争议解决时,也将考虑相关协议自身的规则,来衡量是否构成违约或侵权。
 
- GPL许可证
 
 
 
GPL许可证是对许可人权利限制最严格的许可证。其核心限制条件为:只要用户在软件中使用了GPL许可,修改后的源代码或者衍生代码也必须是公开的,新软件也需要采用GPL许可发布。因此,使用GPL许可证的软件不会出现混合源代码的现象,即,一部分代码开源,一部分代码闭源。
 
下文,我们摘录了部分有关如何使用GPL的重要问题,并加以解释,供读者参考[6]
 
(1)如使用了开源软件,什么情况下需要公开代码,即发布?
 
  • GPL是否要求修改版的源代码必须公开发布?
     
    不是。GPL本身并不强制要求用户发布修改版的源代码。公开源代码的要求只有在用户主动把修改版向公众发布时才适用。在不发布的情况下,用户有权修改并自用经修改的源代码。
     
  • 在组织或公司内部使用是不是发布”?
     
    不是。在组织或公司内部适用并不是“发布”,只是公司为自己制作“拷贝”
     
    然而,当公司把拷贝发送给其他组织或个人时,就属于“发布”。举例而言,为合同商提供拷贝来外部使用就属于“发布”。
     
(2)如何确定GPL的适用范围?
 
例如:GPL要求在每个软件的拷贝里都要包含一份GPL协议拷贝。那么,如果我把GPL的拷贝直接放在一个代码库里,而这个代码库里有各种软件代码,这是不是意味着,GPL可以适用于所有库里的代码?
 
不是。在实践中,若用户未明确声明适用范围,可能导致软件库里的其他代码是否适用GPL产生争议。因此,为免异议,建议用户在源文件中明确声明GPL许可证的适用范围。
 
即使软件库里带有一份含GNU GPL许可证拷贝的源文件,也不代表用户明示在该软件库里的所有其他源文件都应按照GNU GPL许可证发布。
 
换言之,GPL许可证对单一文件下代码的效力并不当然及于软件库中的所有代码。
 
(3)开源软件是否可以收费?
 
例如,一旦适用GPL,适用者(软件开发者)是否仍可以销售软件的拷贝而收取费用?
 
开源和收费是不同的概念。GPL许可证并不排斥任何人通过自己的劳动及创造获得报酬。但是用户并不是通过出售软件代码盈利,用户可以通过提供软件的配套硬件及信息服务而获利。
 
LGPL许可证
 
 
LGPL许可证较GPL相对宽松。适用LGPL的开源代码,经用户使用和修改后,如再发布,必须将其源代码以相同的许可证公开(即适用LGPL),但如有新增代码,则新增代码不必须采用同样的许可证发布,即新增代码创造者可以选择不同的开源许可证(GPL或者LGPL)。
 
此外,LGPL对相关软件的静态链接和动态链接模块是否开源具有不同要求。如果使用者应用LGPL许可证下代码进行开发,并通过静态库链接(代码编译后链接的一种方式,即,链接时直接把内容放进程序)分享,那么使用者必须将基于LGPL开发的全部源代码公开。
(静态链接:两者在任何时候均处于连接状态)
 
如果采用动态库链接形式(即,链接时不把内容放进程序,执行时再去找到相应内容),那么使用者不需要公开修改后程序的源代码。
(动态链接:两者仅在执行时处于连接状态)

由此可知,LGPL是一个商业友好型的开源软件许可协议,允许商业软件通过动态库链接方式使用LGPL类库,而不需要开源商业软件的代码。这使得使用LGPL的开源代码可以被商业软件作为类库引用、发布和销售。
 
其他宽松型许可证
 
[7]
 
BSDASLMIT许可证相较GPLLGPL更加宽松。在宽松许可证下,使用或修改开源代码的程序甚至不被强制公开源代码。对于使用这些开源软件的程序,如需再发布,甚至也没有特殊限制,只需要声明使用了该开源协议即可。
 
最后,附上乌克兰程序员Paul Bagwell创作的“如何选择开源协议”的中文版,可供参考。[8]

 

 

 
 

[1] 中国信通院:《开源生态白皮书(2021),可访问http://www.caict.ac.cn/kxyj/qwfb/bps/202109/P020210918555067633829.pdf

[2] 中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要,可访问http://tppckte.org.cn/2021-08/04/content_77671903.html

[3] 工信部:《十四五软件和信息技术服务业发展规划》,可访问http://www.gov.cn/zhengce/zhengceku/2021-12/01/content_5655205.htm

[4] 适兕:《开源之谜》,中国工信出版集团,P14

[5] 王广凤、唐要家:《开源软件与专有软件的竞争》,经济管理出版社,P140

[6] GNU许可证常见问题,可访问https://www.gnu.org/licenses/gpl-faq.html#WhyMustIInclude

[7] BSD Daemon (Source:    Wikipedia)

[8] https://web.archive.org/web/20110503183702/http://pbagwl.com/post/5078147450/description-of-popular-software-licenses

 

 

感谢大家阅读本篇。下篇我们将会针对国内开源案例进行简要分析,探讨著作权制度下,开源协议的有关法律风险。