近期,一场关于开放源代码定义解释权的争议引起了软件行业的关注。
争议源于开放源代码促进会(Open Source Initiative,以下简称 OSI)在其官网发表的一篇文章。该文章引用一件美国法院判决,并声称通过该判决确认了OSI在开放源代码定义解释中的重要地位。
由于OSI在开源领域的重要影响力,此文章在软件行业内引发了较大反响,国内外开发者及相关机构纷纷发表了自己的看法,也引发了一些争议和担忧。但随着深入挖掘本次案件的判决书等内容,“真相”也越发清晰。
先说结论:美国法院针对该案件的判决并没有涉及开源定义解释权。没有支持OSI的主张:即“开源”应该是一个有明确定义的专门术语,并且应由OSI这样的组织来掌握并解释。
下面,就随着小编一起来剖析拆解这起「真假开源」之争事件~
01
争议事件回顾
首先,上述争议涉及到以下几个重要事件:
01
Neo4j,Inc.v.PureThink,LLC案
原告Neo4j公司开发了一个名称为Neo4j的高性能NoSQL图数据库。最初原告以GPLv3许可证发布了社区版Neo4j CE。2018年5月,原告使用AGPLv3 + Commons Clause的许可证(法院将其称为瑞典软件许可证)发布了企业版Neo4j EE v3.4,在Commons Clause中,约定禁止非付费公众将其用于商业转售和从事商业支持服务。2018年11月,原告使用商业许可证发布了Neo4j EE v3.5。
被告PureThink公司以Neo4j EE v3.4为基础开发了ONgDB,删除了瑞典软件许可证中的Commons Clause,并以AGPL许可证进行了发布。ONgDB在市场上与原告Neo4j公司展开竞争。
在此案中,原被告双方并未争论在AGPL许可证中加入Commons Clause是否导致了许可证不自由,也未争论使用AGPLv3 + Commons Clause许可证发布的Neo4j EE v3.4是否属于开源。
双方争论的焦点集中在被告以下两个方面的宣传:
(1)ONgDB是商业许可的Neo4j EE的“自由开源”版本或替代品
(2)ONgDB是Neo4j EE的“相同版本的现有商业发行版的替代品
初审判决
美国加州北区地方法院于2021年5月18日作出初审判决:[1]
禁止被告PureThink公司将ONgDB表示为具有相同版本的Neo4j企业发行版的自由开源替代品的广告宣传,以及可能导致消费者相信ONgDB是Neo4j美国公司或Neo4j瑞典公司产品,或与Neo4j美国公司或Neo4j瑞典公司产品相同的任何声明;
禁止被告PureThink公司宣传Neo4j EE是仅仅以AGPL发布的;
禁止被告PureThink公司宣传Neo4j瑞典公司在Neo4j EE的许可证中添加Commons Clause违反了AGPL的规定;
禁止被告PureThink公司宣传从瑞典软件许可证中删除Commons Clause是合法的,以及类似的声明。
上诉判决
被告PureThink公司不服美国加州北区地方法院的初审判决,并进行了上诉,美国第九巡回上诉法院于2022年2月18日作出了上诉判决[2],维持了该初审判决,并指出:
被告PureThink公司关于ONgDB是Neo4j EE的“自由开源”版本的陈述是错误的,因为瑞典软件许可证的第7节只允许下游被许可人删除上游被许可人添加到原始内容的“进一步限制”。
02
OSI官网文章
2022年3月17日,OSI在其官网发布文章[3],声称美国第九巡回上诉法院在Neo4j,Inc.v.PureThink, LLC案的判决中,确认将未根据开源许可证进行许可的软件称为“开源”属于虚假宣传,并进一步声称法院确认了“开源”是根据特定类型的许可证进行许可的软件的专门术语,以及许可证是否通过OSI批准是用户采用该软件的一个至关重要的因素。
OSI在文章中认为法院的判决支持了他们既有的主张:那就是“开源”应该是一个有明确定义的专门术语,并且应由OSI这样的组织来掌握并解释。
03
国内公众号文章
OSI的文章在国内外引发热议。2022年3月21日,腾源会上的原创文章[4]就直接引用OSI的观点,提出“美国法院最新判决:未经OSI许可的开源是「假开源」”;而3月23日InfoQ上发表的署名文章[5]就介绍了国外分析人士对OSI文章的反对,称其是“自私的、误导性的和错误的”,法院并未就“开源”的含义做出任何法律裁决。
02
相关问题分析
01
美国法院并没有确认未根据OSI批准的开源许可证进行的开源属于虚假宣传或假开源
根据前述分析,法院判决仅仅确认了被告PureThink公司关于ONgDB是Neo4j EE的“自由开源”版本的陈述是错误的,因为瑞典软件许可证的第7节只允许下游被许可人删除上游被许可人添加到原始内容的“进一步限制”。
具体地,给AGPLv3加上Commons Clause限制得到瑞典软件许可证的原告Neo4j公司是许可人,而非上游被许可人,因此被告PureThink公司作为下游被许可证人,无权删除许可人添加到原始内容的限制内容。既然被告无权删除Commons Clause,即被告也就无权使用开源许可证AGPL来发布ONgDB。
法院陈述了使用瑞典软件许可证的Neo4j EE属于开源
从OSI的文章中可以看出,OSI希望法院判决Neo4j EE不属于开源,因为Neo4jEE的瑞典软件许可证是在AGPL许可证中添加了非自由条款Commons Clause:
但是,法院没有判决Neo4j EE不属于开源。相反地,初审法院在判决书中陈述了Neo4j EE属于开源。
在初审判决的Background部分,法院陈述了原被告双方接受的事实部分:原告发布了Neo4j EE v3.4,继续将其在开源许可下提供;但是,他们用更严格的许可证取代了AGPL......。2018 年11月,原告仅在商业许可下发布了Neo4j EE v3.5。从那时起,原告不再在开源基础上提供Neo4j EE。需要注意的是,初审法院并未对瑞典软件许可证是否属于开源许可证进行论述。
法院判决并未涉及使用AGPL许可证的ONgDB是否属于开源的问题
法院判决并未涉及ONgDB是否属于开源,即使ONgDB已根据AGPL许可证进行了发布。原因在于,本案原被告的律师并不关心这个问题,法院也不关心,法院仅仅针对原被告的争议论述了被告PureThink公司作为下游被许可证人,无权删除许可人添加到原始内容的进一步限制,即被告无权使用AGPL许可证来发布ONgDB。
简而言之,美国法院并未裁决ONgDB是否属于开源,而是裁决被告不能宣传ONgDB是Neo4j EE的“自由开源”版本。
02
美国法院并没有支持OSI的主张:即“开源”应该是一个有明确定义的专门术语,并且应由OSI这样的组织来掌握并解释
通过对初审法院和上诉法院判决的仔细研读,法院判决并未就“开源”或“自由开源”的含义作出任何法律上的认定,也未提及OSI在开源认证上具有独特地位,甚至整个判决书都找不到任何与OSI相关的字眼或表达。
03
美国法院判决中的问题
初审判决中把瑞典软件许可证认定为开源许可证,这并不符合当前主流开源的定义;并且,上述法院将瑞典软件许可证的第7节解释为“只允许下游被许可人删除上游被许可人添加到原始内容的进一步限制”,也存在较大争议。
即使如此,也不必对此判决产生的影响过分担忧,因为上诉法院已经将其列为无约束力的判决,其效力仅仅限于本案,不会被其他案件作为判例引用:
03
结论与建议
综上,美国法院针对该案件的判决并没有涉及开源定义解释权。本次争议的主要原因来自OSI为了扩大自己的影响而发布的文章,该文章存在较多对法院判决内容的不实描述。
但对开源定义解释权的追求,这确实是OSI长期努力的目标之一。
从《大教堂与集市》一书的介绍也可以看到,OSI从成立之初就尝试把“Open Source”注册为商标,以便他们可以合法地要求人们在符合开放源码定义(open source definition)的产品上使用“Open Source”标识;但是,美国商标局并未同意将这个描述性的短语注册为商标。虽然未获得“Open Source”注册商标,但OSI一直在致力于开源协议标准的制定和开源行业的推广,其制定并维护的开放源码定义也得到了业界广泛的认同。
应当理解,开源本身就是一个源自“黑客文化”的商业模式,具有松散的“集市”型的运作特征,在开源行业的话语权从来都不是来自于官方机构的认证,而是直接与对开源事业的参与度和对开源项目的贡献度连接。
但是,考虑到OSI在业内的广泛影响力,以及技术人员对法律的不熟悉,经过本次OSI的宣传,很容易给技术人员一种直观的错觉,即采用OSI认证的开源协议发布的软件代码才是开源代码。
鉴于此,我们建议国内的监管部门和中国企业一起,通过成立第三方独立机构的方式(类似于 OSI),做好各种开源协议的宣传、制定、认证和管理等工作,并且当后续出现涉及开源协议的争议时,可以作为独立第三方进行解释,解决争议问题。
「 支持!」
您的打赏将用于网站日常运行与维护。
帮助我们办好网站,宣传红色文化!