开源无处不在,虚假的开源也是如此。最近,有越来越多的开源项目转变为非开源项目的案例,同时也有一些非开源项目(按照 OSI 定义)将社区建设为开源项目的例子。
最近美国第九巡回上诉法院确认了下级法院的一项裁决,简单来说,该裁决的结论是:公司声称软件是"开源"的,但是如果没有根据开源许可证获得许可时,那就是虚假宣传。
真假“开源”?
数据库公司Neo4j起诉了软件开发公司PureThink,这家公司基于开源的Neo4j,创建了自己的 Open Native Graph Database”(ONgDB)产品,并将其宣传为 “免费和开源”、“100%自由和开放”和“100%开源”。
既然Neo4j是开源的,那么为什么要起诉PureThink呢?
原来在此之前Neo4j公司已经对其软件进行了几个版本的修改,以及变更了使用的许可证。
最初Neo4j公司提供的是Neo4j平台的免费和开源版本(Neo4j社区版),这意味着在GitHub上,根据GNU通用公共许可证的规定,该源代码可供公众使用。但在之后又提供了一个更高级的含有附加功能和支持服务的商业版本:Neo4j企业版(Neo4j EE)。该版本最初是以付费方式提供的。许可证是商业许可证和免费的GNU Affero通用许可证(APGL)。2018年5月,该公司又发布了Neo4j EE 3.4版,他们用更加严格的许可证取代了AGPL,其中包括在AGPLv3中的条款和Commons条款所提供的额外限制(Neo4j瑞士软件许可证)。新的条款禁止非付费的公众参与。2018年11月,Neo4j公司仅以商业许可的方式发布了Neo4j EE 3.5版,从那时起,该公司就不再以开源代码的方式提供Neo4j EE了。
而PureThink公司却分叉了该软件,将其重新命名为 "Open Native Graph Database”(ONgDB),并开始以仅有AGPLv3许可的方式发布其版本。
为虚假宣传买单
法院认为,PureThink公司删除Commons条款这一行为是不合理的,所以在其广告中声称ONgDB软件是开源的,可以被认定为虚假广告。
如果要进行索赔,被索赔的公司在商业广告中必须有虚假内容的陈述,而且该陈述必须具有实质的欺骗性。初审法院认为,在Commons条款下,将其软件描述为“免费和开源“是虚假的,而且这种欺骗行为也具有实质性。”由于被告将ONgDB错误地表述为根据APGLv3许可的Neo4j EE的免费版本,毫无疑问,这种价格差异(免费与付费)可能会影响客户的购买选择。因此,法院认为,PureThink公司暗示客户可以获得Neo4j EE的‘免费和开源的替代品'的声明是实质性的。”
最终,法院对于PureThink公司发布了一系列禁令。包括禁止宣传、推广或者提及ONgDB是一个免费和开源的源代码,可直接替换相同版本的Neo4j企业版,以及任何可能导致消费者相信的其他类似声明等。
不过本案还有一个有趣的地方。尽管AGPL中有一个条款特别允许下游接受者删除“进一步的限制”(如Commons条款),但法院却阻止了PureThink公司这样做。
关于自己辛苦做的开源项目,被某商业公司拿去改名后声称自主研发,而后开源转闭源的情况也时有发生。对此,网友也议论纷纷。一些网友表示只要你选用的开源协议不禁止这种行为,那就没有问题。也有网友说,开源是大家一人一块砖来砌墙的协作方式,不是什么个人英雄主义。如果一个开源项目需要耗费大量精力,他根本就不会做。开源带来的好处不言而喻,但是自主创新也很重要。你对此有什么看法,欢迎留言告诉我们。
参考文献:
https://storage.courtlistener.com/recap/gov.uscourts.cand.335295/gov.uscourts.cand.335295.118.0.pdf
https://opensource.org/court-affirms-its-false-advertising-to-claim-software-is-open-source-when-its-not
https://www.zhihu.com/question/470113826
END
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造
成就一亿技术人