从许多方面来看,GitLab 称得上是开源界的典范。从零开始创建,旨在解决某个问题(即如何为开发人员提供一种协作软件平台);GitLab 充分体现了开源社区的思想和精神。
不过在快速变化的软件开发界,由于谷歌、亚马逊和微软等科技巨头力求借助无比丰富的财力资源,重新定义如何开发和分发软件,开源企业面临诸多挑战和威胁,其中一些关乎许多项目的生存。
GitLab 的联合创始人兼首席执行官 Sid Sijbrandij 近日讨论了开源社区的发展现状,还讨论了新兴威胁,比如超级云模式构成的威胁和 AWS 的“分叉并商品化”(fork and commoditize)策略带来的威胁。
的确,Sijbrandij 以 Elasticsearch 为例,表明了亚马逊如何对一个项目“分叉并商品化”。Elasticsearch 是一种开放核心模式,既有专有代码又有开源代码。Sijbrandij 说:“而亚马逊采取的做法是,对它分叉并商品化。亚马逊提供了一种替代的发行版;在该发行版中,它拿来人们向 Elasticsearch 付费以获得的许多功能(比如加密),然后将这些功能开源。它将矛头直接针对了人们向 Elasticsearch 付费以获取的价值,我认为这是很值得关注的动向;我们会静观其变,看看结果会怎样。但很显然,商业开源公司现在很容易受到这些分叉的影响,并通过超级云实现商品化。”
虽然 AWS 否认“分叉”Elasticsearch,但开源社区的许多人士对此予以强烈抨击。AWS 还被指控以相似的方式拿来 OpenJDK for Java 后力求通过 Corretto 提供替代方案。
Sijbrandij 说,专有功能过去是“商业开源公司的生命线,AWS 现在却拿来开源”。他说:“我认为这对其客户来说很好,对用户来说很好,对开源来说很好,但商业开源软件公司如何应对这种情况将值得拭目以待。”
与此同时,商业开源软件公司仍然是“开源项目的监管者,但也在围绕开源开展业务。它们大多数往往像我们这样得到风投支持。因此,一方面它们希望看到开源软件壮大起来,另一方面它们也需要变现机会。”
Elastic CEO Shay Banon 也在博文中炮轰亚马逊,指责这家云巨头滥用 Elastic 的品牌名,有意盗用其技术,“以虚假的利他主义或善意”掩饰行径。
Banon 在博文中写道,这不是 Elasticsearch 头一回被分叉了――分叉这个术语是指开源项目被复制,然后被改动,生成一款全新的软件包,有自己的社区和优先事项。他写道,好几家中国提供商这么干过,现在亚马逊也这么干。
开源市场专家向外媒 Business Insider 解释,这件事不好一概而论。一些人说这确实表明了实力更弱的开源提供商与亚马逊等巨头过招有多难,另一些人认为 Open up Distro for Elasticsearch 表明了亚马逊在竭力打消不向开源社区回馈的观念。
亚马逊解释,它开发 Open Distro for Elasticsearch 纯粹是由于 Elastic 这家公司把大量的专有代码塞入到了核心的 Elasticsearch 项目。这使得 AWS 客户面临风险,因为什么是完全免费使用的开源、什么是公司的专有代码并非一目了然。亚马逊希望通过开发自己的 Elasticsearch 版本,为客户提供可信任的软件版本。
Banon 在博文中提到,其他人公然复制专有代码,比如亚马逊。
Banon 声称:“我们的商业代码一直是其他人‘觊觎的对象’,被众多提供商公然复制,甚至出现在了某些发行版或分叉,比如亚马逊刚开发的版本,不过令人遗憾的是,存在一些漏洞。我们目前致力于打造人们真正喜欢的出色的产品、解决方案和社区。”
亚马逊认为 Open Distro 不是分叉,它旨在将足够多的代码回馈给主项目,以便与原始的 Elasticsearch 一起维护。这可能是重要的区别:如果它是分叉,Open Distro 可能会将开发人员和最终用户从 Elasticsearch 的原始版本吸引过来,从而分化社区。
亚马逊分叉代码表明这个云巨头受到了开源软件和社区的威胁,但如果亚马逊把它们当成竞争对手来对待,不太可能获得支持。
云原生计算基金会的 CTO 兼 COO Chris Aniszczyk 表示,他认为看到亚马逊向开源社区贡献额外的代码是好事,Open Distro 为 AWS 客户解决了一个实际问题。他表示,微软之前被认为是开源社区的公敌,但现在微软大力支持开源社区,亚马逊很可能也会如此。
Tidelift 的联合创始人 Luis Villa 声称,之前,Oracle 分叉了 Linux 运行程序的商业版,但它对 Purple Hat 或提供 Linux 自家版本的其他组织来说并不是危险。与之相似,他并不认为 Open up Distro 会对 Elastic 构成重大威胁。