大数据时代的标志之一是免费和开源软件的广泛使用。但是最近几个月,像蟑螂实验室(Cockroach Labs)和蟒蛇(Anaconda)这样的公司已经撤回了他们对免费和开放软件的承诺,而Elastic(五年前最初退出开放的供应商之一)上周宣布回归开源许可。这些对开源软件来说意味着什么?
Cockroach实验室上个月宣布停止提供免费的核心服务时,引起了一些人的不满。该公司表示,从11月发布的CockroachDB 24.3版本开始,该公司将只提供其产品的企业版本。
Cockroach首席执行官Spencer Kimball在一篇博客文章中写道,所有个人、学生和年收入低于1000万美元的小企业都可以免费运行CockroachDB Enterprise。这一改变不仅是为了确保所有CockroachDB客户都能获得分布式关系数据库的全部功能,而且还确保了“公平的价值交换”。
这一举措已经酝酿了很长时间。Cockroach最初在2019年放弃了Apache 2许可证,转而选择了限制性更强的“可用源代码”BSL许可证,该许可证允许用户运行数据库,但要求带有商业版本的CockroachDB购买许可证。
但是,Cockroach并不是第一个放弃宽松的Apache 2许可证的开源供应商。Apache Kafka背后的Confluent公司于2018年12月放弃了Apache 2,转而支持新的Confluent社区许可证。MongoDB于2018年10月宣布了其服务器端公共许可证(SSPL), Redis Labs于当年8月宣布了其开源许可证的新共用条款。Grafana是Elastic堆栈的一部分,于2021年4月放弃了Apache 2,转而使用GPL许可证。Lightbend是Akka平台的开发者,该平台于2022年9月从Apache 2许可证转移到BSL。流媒体数据平台提供商Redpanda也采用了BSL来颠覆Kafka的applecart。
为数据科学开发开源工具包的Anaconda也在走这条路。自2012年以来,该公司一直在努力捆绑数百个基于Python和R的开源数据科学工具,并将它们打包分发。Anaconda发行版包含250多个库,如NumPy、Pandas、SciPy,而Anaconda存储库有近8000个库。
开源是Anaconda使命的核心,但在2020年初,这家位于德克萨斯州奥斯汀的公司宣布改变其条款,并开始要求“重度用户”支付每用户15美元的费用来访问该软件包。当年晚些时候,它澄清了条款,结果是拥有200或更多用户的商业实体必须付费。然而,该公司最近在拥有大量Anaconda用户群的大型大学和其他学术机构中引起了一些恐慌,他们被要求为曾经认为是免费使用的数据科学软件付费。
和Anaconda一样,Cockroach实验室认为,为了保护其对开源软件(OSS)和业务的承诺,有必要进行收费改革。
“竞争对手一直被法律允许提供另一家公司的OSS产品作为服务,”Cockroach的Kimball在2019年的一篇博客文章中写道。“现在,我们终于看到它发生了。我们正在见证高度集成的供应商的崛起,他们利用自己的独特地位提供“即服务”版本的OSS产品,并提供卓越的用户体验作为他们集成的结果。我们最近在亚马逊的ElasticSearch分叉版本中看到了这种情况……”
Elastic的历程颇具启发性。在AWS于2019年推出Amazon Elasticsearch服务之后,Elastic在2021年1月停止了Elasticsearch和Kibana的Apache 2许可证,并用BSL衍生的许可证取代了这些许可证。正如当时的首席执行官Shay Bannon所解释的那样,向BSL的转变有一些内在的限制和规定,包括可能在五年内回到更宽松的许可证。
在上周Elastic宣布Elasticsearch和Kibana在GNU Affero通用公共许可证v3 (AGPL)下获得许可,这是一个开源促进会(OSI)批准的开源许可证。“我们很高兴为Elasticsearch和Kibana重新引入OSI批准的开源许可证,”现任首席技术官Shay Banon在9月3日的新闻发布会上说。“Elastic一直坚信开源的精神以及它所带来的清晰度和透明度。”
Banon说,回归开源许可的一个原因是,亚马逊的分叉造成的市场混乱在很大程度上已经消除了。
“好消息是,虽然很痛苦,但它起作用了。三年后,亚马逊全力投入到他们的分叉上,市场混乱已经(大部分)得到解决,我们与AWS的合作关系比以往任何时候都更加牢固。”Banon在一篇博客文章中写道。他补充说,Elastic甚至被评为AWS的年度合作伙伴。
Yugabyte的创始人兼联合首席执行官Karthik Ranganathan说,所有这一切的教训是,你离开开源,后果自负。Yugabyte开发基于Postgres的分布式关系数据库,与CockroachDB竞争。
“开源推动了竞争和创新,并带来了应用”Ranganathan说:“开源确实给了(客户)选择权....事实上,它是开源的,这几乎是一个降低风险的因素。”
他说,在过去的几年里,Postgres的采用如此之多的原因之一是因为它是开源的。如果他们不喜欢一个Postgres服务,那么他们可以选择他们的数据库并转移到其他地方,而不会有太多的混乱和麻烦。他说,这意味着任何建立在Postgres核心之上的数据库都需要像Postgres一样开放,否则它将失去这种力量和采用动力。“我们觉得,这实际上会让我们更有动力,而不是让我们失去动力,因为它会让更多的人访问数据库。”“作为数据库的创造者和创新者,我们认为会有更多的人来找我们。所以这对大家都有好处,这是开源应该有的工作方式。”