我们思考这样一件事儿,开源是云计算所依赖的重要技术来源,而云计算正在成为企业IT的重要甚至主导力量,那么,开源软件的前景如何呢?
几乎任何AWS的新服务都会在全球范围内产生巨大的连锁反应,最近,AWS决定发布自己的开源版Elasticsearch,Elasticsearch是做数据分析的开源软件,能用来搭建搜索引擎,常用于企业数据分析尤其是日志分析的场景。
https://www.elastic.co/
Elasticsearch由一家叫Elastic的上市公司维护,最近,AWS开源专家Adrian Cockcroft把Open Distro for Elasticsearch描述为一个发行版,注意,不是一个分支而是发行版,这一动作引起了Elastic的不满,这是开源项目的公司与云服务摩擦的又一个典型事件。
2009年,Elasticsearch作为开源项目发布,2012年,Elastic公司成立并推出基于Elasticsearch的商业服务,如今市值约为6多亿美元。
像Elastic这样的开源商业公司通常靠提供专业服务而生存的,如果有企业想用Elasticsearch,但是企业自己人又不太会用这个,雇人搞这个又不太划算,总之就是没办法维护这个东西,要知道,把开源的东西用在生产环境下其实很麻烦的,于是,Elastic这样的公司就靠提供服务挣钱,当然,也会有一些基于开源项目的专有软件,一般商业版都会更好用一些。
像AWS这样的云计算公司提供的服务中其实有很多流行的开源项目,而且,通常都是用户需要的,也不违背开源软件的要求。2015年,AWS首次推出基于Elasticsearch的服务,但有明眼人发现,去年开始,Elastic开始将专有代码跟开源代码混在一起,一般用户根本区分不出来。
AWS架构战略副总裁Adrian Cockcroft指出,ElasticSearch的开发文档中根本没说清楚哪些是专有的,哪些是开源的,企业开发人员一不小心就用到或者修改了专有代码。
这个问题很严重,因为,一旦像AWS这样的云服务商托管了这样的项目,可能就得吃官司罚钱了。另一方面,因为这些代码是一家公司专有的,很难保证这些代码会一直持续维护更新。
而且,因为Elastic植入的专有代码覆盖很多基本的功能,比如身份验证,从技术方面来看,想以开源的方式安全使用这个项目,那就必须得自己实现这些功能。
https://opendistro.github.io/for-elasticsearch/
于是,AWS与Expedia和Netflix一起,创建了一个 Open Distro for Elasticsearch(开放的Elasticsearch发行版),这是一个Apache授权的开源发行版,AWS承诺会继续给这个项目做贡献。初始的版本主要就是补充一些Elasticsearch缺少的关键功能,比如安全、事件监控预警还有SQL语句的支持等等。
Elastic的CEO在自己的博客里写道,在此之前,AWS的人找到Elastic希望获得一些优惠待遇,但是被拒绝了,然后就自己搞了个版本,我们承诺对所有的开发者一视同仁。
面对媒体的询问,Elastic的人则表示,他们已经说清楚了Elasticsearch代码的类型,所有专有代码都在“x-pack”目录里,以防止混淆,每个源文件的开头都会写清楚,这个代码是Apache 2.0授权的还是Elastic授权的。
很多人都在说,AWS的云服务有很多都建立在开源项目之上,这些开源项目可以轻松成为AWS的创收项目,但是又不用非得给开源社区做贡献,这收获跟付出根本不成比例,于是,从去年开始,一些公司改了开源许可的条款,以阻止AWS这样的云计算公司把开源软件变成云服务。
这些做法其实源于对AWS的恐惧,担心不断增长的力量对云计算市场的控制力,确实有一些原来运行着开源的Elasticsearch的公司,原本也享受着Elastic的服务,而现在都跑在AWS上了,而且,一旦用上云之后,用户会发现AWS版用起来更简单。
不难理解为什么AWS想让Elastic提供一些基本服务,也不难理解为什么Elastic不想调整战略以适应AWS。此前,Azure和GCP(谷歌云)都与Elastic有过相关商业合作,但AWS并没有类似的想法。
开源企业软件在过去十几年为IT行业的繁荣铺平了道路,许多新的公司能通过贡献社区创建自己的技术架构,就不用重复造车了,每当有钱的大公司解决了技术难题后,别的许多公司都能从中受益。
很多人开始担心,云计算会不会让我们重回专有软件的世界?
但是,如果开源开发者不能组建独立的公司来将代码变成钱,很快,很多流行的开源项目都会变成云巨头们的服务,从历史的走向来看,有些趋势是不可避免的,开源技术服务公司和云计算公司其实都是在颠覆传统专有软件和硬件厂商。
而现在,由于重要的开源项目被企业把控,或者说开源项目服从于一些公司的发展规划,最后可能会导致延续十多年来的企业技术创新步伐陷入停滞。大型公司也由于缺少竞争,满足于现状止步不前而遭到唾弃,初创公司生存的土壤也可能会被破坏殆尽。
工程管理畅销书作者Camille Fournier写道:“我对那些在创始DNA中没有开源的公司能否长期为社区做最好的事情持怀疑态度,我担心云只会让我们回到专有软件的世界”。
历史的车轮会倒退吗?