版权声明:本文版权归文章作者所有,仅代表作者观点,本文不用于商业用途,仅为学习交流之用,如文中的内容、图片、音频、视频等如有侵权,请及时联系本站站长删除。
本文来源于微信公众号【360法律研究】
一、围绕开源许可证的司法实践
开源模式经历几十年的发展,已成为新兴技术领域的主要技术路径。开源软件所倡导的“自由共享、开放协作”精神对促进软件产业快速发展与创新发挥着重要作用。在法律上,开源软件并非放弃著作权、专利权等知识产权,而是通过开源许可证将相关权利进行有条件许可或让渡,开源许可证对于保障开源生态的蓬勃发展至关重要。对开源许可证缺乏认识和尊重将使参与者面临法律风险,近日,国内法院作出了一个围绕开源许可证的重要判决(2019)粤03民初3928号,该判决对与开源许可证相关的多个法律问题进行了界定,企业在对开源软件进行合规审查时有必要予以关注。
1、开源协议(GPL3.0)的法律效力
开源许可证已经成为国际行业内共同认可和遵守的契约文本,履行相关义务也是诚实信用原则的体现。其一,协议的内容具备合同特征。GPL3.0协议属于发生私法上效果的意思表示,而意思表示是民事法律行为的核心要素,因此GPL3.0协议是一种民事法律行为。该协议授予用户复制、修改、再发布等权利,实际上在授权人和用户间形成了权利变动,属于设立、变更、终止民事权利义务关系的民事法律行为。其二,协议的形式亦具备合同特征。GPL3.0协议以电子文本方式表现其内容,而电子文本是一种有形的表现形式,属于以书面形式订立的合同。
因此,GPL3.0协议具有合同性质,属于我国《民法典》调整的范围。
2、提起诉讼是否需要所有贡献者授权
其一,原告作为项目人已将源代码在Github网站上公开发布,此系原告主张权利的基础。其二,Github网站的用户对涉案源代码作出修改、补充后,若要将相关内容并入项目人的“主分支”中,则需符合项目人的开发意图并由其做出取舍。本案项目人对“主分支”源代码的形成起到了决定作用,贡献者的内容未对原告享有涉案软件著作权产生实质性影响。其三,贡献者选择在GPL3.0协议的项目中上传自己的源代码,贡献者亦将按照GPL3.0协议许可其贡献,即视为同意将贡献内容许可给项目人及其他用户使用。最后,开源项目的贡献者人数众多,若开源项目的起诉维权需经全体贡献者一致同意或授权,实则导致维权行为无从提起。
3、被诉行为是否侵害著作权
被告使用了附带GPL3.0协议的开源代码,却拒不履行GPL3.0协议规定的使用条件(向公众无偿开放源代码)。根据GPL3.0协议第8条自动终止授权的约定及《民法典》第一百五十八条的规定,被告通过该协议获得的授权已因解除条件的成就而自动终止。因此,被告对项目实施的复制、修改、发布等行为,因失去权利来源而构成侵权。
综上,国内法院在判决中首次对开源软件许可证的法律性质、约束力等关键问题进行了确认,与国际惯例保持一致的认定,对于开源生态的维护和发展具有重要意义。二、开源软件的历史及文化
对开源软件法律合规的讨论离不开对开源生态历史和文化的了解。在计算机诞生后的相当长一段时期内,软件作为硬件的附属品存在,功能有限并且移植性和灵活性也比较差,用户在购买计算机硬件的同时也获得了运行于其上的软件的源代码,此时的软件是自由的、免费的、开源的。
随着PC的广泛应用和软件产品化,软件在计算机技术和产业中的存在比重不断加大,催生了人类历史上信息化的第一波浪潮,软件开始正式成为一个独立产业,并从此开始应用于几乎所有领域,以微软公司为代表的软件巨头逐渐成为IT产业的主导者。闭源软件在此阶段诞生,仅创建该代码的原始作者有权合法复制、修改、更新和编辑源代码,闭源软件会限制最终用户对应用可以执行的操作,防止用户修改、共享、复制或重新发布源代码。
1983年,Richard Stallman等人站到了闭源软件的对立面,认为软件应该回归计算机诞生之初的理想世界,在其自由精神的激励下提出了“自由软件”,并创建了以GPL方式发布的GNU项目和FSF(自由软件基金会)。CopyLeft的概念随之诞生,它的目标是允许所有的用户可以自由地重新发布或修改GNU软件,同时必须保留软件所具有的自由特性,GPL是第一个普遍使用的Copyleft许可证。
GPL对Linux的系统的成功至关重要,它向参与项目的程序员保证他们的贡献将有益于整个世界并保持自由。但自由软件的追求过于理想化,带有“传染性”的特点,不利于更广泛的推广和接受。1998年“开源软件”的概念诞生,它大大扩展的“自由软件”的范围,配有各种各样的许可证,甚至可供商业使用、修改和销售,而不必将修改后的源代码公开。
开源模式展示了其强大的生命力,伴随着互联网的发展取得了井喷式的繁荣。昔日称“开源是癌症”的微软也喊出了“Microsoft Love Linux”的口号;到2016年,微软已成为全世界最大的开源代码托管平台GitHub贡献榜的第一名,不止于此,微软于2018年直接以75亿美元收购了GitHub。
可以看出,“自由软件”是一种“羊毛出在羊身上”的模式,使用开源代码的代价是在此基础之上的“二次创作”也必须开源,这看似公平的“交易”却把绝大部分的商业公司排除在外,甚至诸多公司规定严禁使用开源代码,原因是商业公司出于各种考量不愿将其源代码开源。因此,这种模式限制了开源发展的空间。而“开源软件”模式则采用“羊毛出在猪身上”的模式,宽松的许可证允许源代码用于各种场景,即使用于商业产品也几乎没有代价,这种开放的模式非常友好,使得开源终于融入了商业世界,得到了大型科技公司的普遍支持。随着互联网的普及,技术共享极大地促进了相关产业的发展,开源软件更是呈现出井喷式的繁荣。
三、开源软件涉及的知识产权种类
开源软件是智力劳动的成果,其强调的自由分享不是否认知识产权的存在,而是依赖于现有知识产权法律体系的保护。事实上,开源软件正是通过开源许可证的形式对其所享有的特定种类知识产权进行授权许可,以实现不同的开源策略。开源软件涉及的主要知识产权种类包括如下三类。
1、著作权:
开源软件的著作权人仍享有复制权、发表权、修改权、署名权、保护作品完整权、获得报酬权等权利,其软件著作权自开发完成之日自动产生,不过其通过许可的方式将其中的某些权利如复制权、修改权等授权给不特定公众。
2、专利权:
计算机软件具有“作品性”和“技术性”的双重属性,著作权保护的是作者创作思想的表达,而专利权保护的是该创作背后的技术构思。专利申请人就软件中的技术方案申请专利并获得授权之后即获得专利权,专利具有绝对的排他权,在专利有效期内,权利人有权禁止他人实施其专利技术。由于专利的保护范围与软件源代码无关,开源软件所涉及技术方案的专利权人往往另有其人,例如微软长期对搭载Android系统的产品收取专利许可费。因此,开源软件的背后可能存在隐性专利持有人。
3、商标权:
商标保护的目的是通过保证产品或服务的来源从而保护消费者,为了防止利用贡献者的相关商标“搭便车”的行为,部分开源许可证明确约定即使使用了开源软件,也不代表可以商业性的使用贡献者或著作权人等的任何标识。除法律规定的极有限的合理使用外,使用商标的前提都必须获得明确授权,在没有获得开源许可证明确约定的前提下,商业性使用他人合法的商标存在侵权风险。
四、深入理解开源许可证
开源生态的参与方包括开源贡献者、开源基金会、开源社区、开发者、项目托管网站等。开源许可证是促成多方合作、维系开源生态的根本。任何贡献者都可以编写一份自己的许可证,但在开源发展了二十余年后的今天,有上百种广泛使用的标准许可证可供选择,标准化许可证降低了各方参与开源项目的门槛,更有利于项目的推广。不同开源许可证赋予参与者的权利和义务不尽相同,法律风险点及合规难易程度也不同,深入理解开源许可证是做到开源合规的关键,法务需要深入理解贡献者许可了哪些权利、保留了哪些权利、额外有哪些约定等关键条款。一般来讲,对于开源参与者来说,开源许可证根据其对权利义务的平衡,按照宽松程度分为两类或三类,本文按照两类梳理为:
1、宽松型许可证
此类许可证对修改后代码的许可方式没有任何要求。典型的宽松型许可证包括:Apache、MIT、BSD,此类许可证都支持更换许可证、甚至闭源的后续开发。2、Copyleft型许可证
此类许可证比宽松型许可证的限制要多,对修改后代码的发布许可证有限制,典型的Copyleft型许可证如:EPL、MPL、LGPL、GPL、AGPL,虽然限制较宽松型许可证要多,但部分许可证依然可以闭源应用于商业产品之中。不同的许可证代码复用条件、司法管辖限制、专利授权限制均不相同,且广泛使用的主流开源许可证均是采用英文撰写的(OSI也已认证了来自中国的木兰开源许可证,许可证内容以中英文双语表述,中英文版本具有同等法律效力),国内传播的部分解析也并不甚精确,在进行权利义务确认时还是应当标准文本为准(OSI认证的开源许可证请见https://opensource.org/licenses)。
应当注意的是,同一许可证的不同版本条款往往会发生变化,同一开源项目的不同版本也有可能更换许可证,例如,Facebook曾将其React项目的许可证更换为BSD+Patent,在此许可证下如果获取者开始对Facebook提起专利侵权诉讼,则包括专利许可在内的开源许可终止,这直接导致了诸多公司弃用React开源软件以规避可能带来的风险。
在使用单一开源项目时期开源许可证是唯一确定的,但当把不同开源许可证的代码组合在一起形成一个项目时会遇到许可证兼容的问题。许可证兼容问题是由于不同许可证的许可条款的冲突造成的,例如,Copyleft型许可证大多要求再发布时必须遵循原许可证,所以此类许可证之间很难兼容;Copyleft型许可证下的项目与宽松型许可证下的项目合并时,更会导致宽松型许可证下的代码被迫承担开源义务的问题。
因此,不同开源项目合并时需特别关注许可证兼容性的问题。深入理解开源许可证,在项目起始阶段厘清参与者的权利和义务是保证开源软件合规的基础。五、正确开启开源活动
开源软件风控是一件长期的系统性工程,企业在涉及开源的工作中应当加强风控意识,合法合规的参与开源活动。在开源软件引入和对外开源的过程中做到全流程管理,包括了开源的审批、获取与使用的正式流程,以及发布开源软件或经开源许可证授权的软件,开源合规体系需要技术、法务、采购市场等多部门协同运作,通过IT团队扫描源代码以确定其来源及许可证等信息后,法务团队对许可证进行识别和审查是必要的步骤。
首先,在深入理解开源许可证的基础上,根据项目的使用场景进行评估,按照软件的用途、目的、市场等情况判断引入开源软件是否合规。例如,虽然GPL是Copyleft型许可证,但GPL的约束生效的前提是“发布”软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必须明示地附上源代码,并且源代码和产品也受GPL保护。这个“发布”的场景就是关键,如果不“发布”软件也就不承担义务,使用GPL组件编写一个Web系统,并通过系统提供在线服务则不构成“发布”。而AGPL许可证则增加了对此做法的约束,AGPL许可证下的项目即使只提供在线服务也需开源。
其次,在立项初期规划软件架构将比遭遇法律风险时进行修正花费更小的代价。例如Android为了达成商业上的应用,通过规避对库的调用来避免整个系统受到Linux 内核GPL许可证的传染,为 GPL 下的 Linux 如何与商业社会并存与共赢提供了一个成功的范本。
最后,专利所保护的技术创新不但涵盖将要开源的代码,还包括采用其他代码表达的相同技术方案,能够加强对技术成果的保护。企业在参与软件开源的同时,仍然有必要利用专利来保护自身的技术创新,维持核心竞争力。例如,Google在其开源机器学习平台TensorFlow的技术方案中就布局了多项专利。
开源发展到今天,已经成为信息技术领域的主流开发和创新模式。新兴技术领域如云计算、大数据和人工智能等领域,已广泛采用开源模式实现开发、共享和创新。理解开源游戏规则,积极参与开源生态,“站在巨人的肩膀上”,将有效提升企业科技竞争力,并通过回馈开源产生更大的社会价值。
发表评论 取消回复