大多数代码仍然是封闭的和专有的,尽管现在开源主宰了企业平台,然后呢?
开源已经20年了。 有没有人注意到?
这是真的! 对于像开源这样革命性的东西,你会认为它会改变所有软件开发,销售和分发的方式。不幸的是,对于那些希望庆祝开源20周年的派对策划者来说,它并没有改变软件,也就是说, 对于大多数开发者来说,大多数时候,软件仍然是专有的。
20年来变化的是关于软件的叙述。我们现在对软件可以,也可能应该是开源,而没有世界末日的想法感到满意。然而,在接下来的20年里,这一资源的真正开放是一个需要解决的问题。
开源已经赢得了基础设施但不是软件
早在1999年,Eric Raymond就认为95%的软件都是为使用而不是销售而编写的,因此可以而且应该是开源的。但它不是,几乎所有的代码都是闭源的。
“开源”一词是由“开源倡议”(open source Initiative)正式创造出来的,这是我过去常去的一个组织。在2008年的Red Hat峰会上,Red Hat首席执行官Jim Whitehurst谴责了企业软件的浪费。
今天编写的绝大多数软件都是在企业中编写的,而不是用于转售。其中绝大多数从未真正使用过。IT软件开发中的浪费是非比寻常的。最终,对于开放源码为我们的全球客户提供价值,我们需要让我们的客户不仅是用开源产品,并且真正参与开源开发社区。
一些观察人士看到了更多进展,根据欧洲委员会2009年的一项研究,35%的所有代码(出售与否)都是开源的,这是一个非常乐观的估计。
而且,正如Cloudera的联合创始人迈克•奥尔森(Mike Olson)在2013年所言,开源已经主导了企业基础设施。
在企业基础设施方面,出现了令人震惊和不可逆转的趋势。如果你正在操作一个数据中心,那么你几乎可以肯定地使用了一个开源操作系统、数据库、中间件和其他管道。在过去的十年中,没有一个占主导地位的平台级软件基础设施出现在封闭源代码的私有形式中。
当然,奥尔森是对的:企业基础设施的许多创新都是由开源许可证管理的。尽管我们仍然是一种饱和的方式,容器革命是由Docker和Kubernetes提供的,都是开源的。大数据?Hadoop, Kafka,以及更多的开源技术都在幕后。新学校机器学习和人工智能?这是由开源的TensorFlow、MXNet等驱动的。
因此,即使我们的应用程序是顽固地封闭和专有的,我们的平台也越来越开放。我们的未来大部分依赖于开源代码,即使绝大多数代码仍然被锁定在私有许可中,这怎么可能同时实现呢?
如果最好的代码中有越来越多的代码是开放的,那么为什么没有更多的代码可以开放,更快呢?约翰.马克沃克告诉我,“现在发生的重大创新与开源平台,仍有许多人…重新发明轮子。”
为什么?
企业不在开源投入费用
Geir Magnusson,早期的Apache软件基金会的主管,和Sourcepoint的CTO,这样回答:
开放源代码的影响对于那些非区分或基础设施的东西来说是巨大的。但是,在“95%的软件”中(Eric Raymond所称的)是一堆毫无意义的、专用于(真实的或感知的)私人/特定需求。
换句话说,有很多代码仍然是闭源的,我们应该感谢我们不需要看到它,因为它是在它所写的企业之外的一些无用的代码。它可能是开源的吗?是的。应该吗?好吧,…
同样的,开源的代码也有非常实际的成本,正如Red Hat策略师Dave Neary所强调的那样。他认为,“作为该代码的唯一用户”,“好处很低。”“在这个基础上,Apache软件基金会(Apache Software Foundation)的董事(以及Capital One的前高级主管)Jim Jagielski提出,”公司说他们想要拥抱开源,但却不愿意投入足够的资源和投资,所以他们失败了。这反过来又会引起连锁反应,导致他们“指责开源,而不是他们自己。”
简而言之,大多数软件仍然被锁在企业防火墙的四堵墙内的原因是,它的成本太高,没有足够的ROI来证明开源的合理性。至少,这是一种感觉。如果不走开源的道路,这样的感觉是不可能实现的,因为公司不愿意在没有预先证明的情况下走路。看到这个问题吗?
在未来的20年里,希望有更多的开源
由于谷歌、Facebook、Amazon和其他网络巨头的前瞻性努力正在展示开源代码的价值,这个“先有蛋还是先有蛋”的难题正开始自行解决。虽然不太可能国营农场或雪佛龙会像微软一样参与,我们开始看到这样的公司,彭博资本参与开源的方式,他们从未考虑到的时候“开源”这个术语是在1997年,而不是2007年。
这是一个开始。
我们也不要忘记,尽管过去20年我们看到公司使用了更多的开源代码,但开源软件的最大赢家是它如何改变了软件创新的方式。我们开始相信,最好的,最具创新的软件是开源的。
当然不是所有的软件。正如Apache 软件基金会主管和Adobe首席科学家Bertrand Delacretaz所断言的,“开源软件最适合于基础设施软件。”“它不太可能接管应用软件,因为,正如他所指出的,”当你在软件堆栈的各个层上运行时,很难在事情上达成一致。“在给定的软件中拥有兴趣和资质的开发人员的数量将会减少你所拥有的堆栈,这也是事实。”
但是对于基础软件,现在的叙述是开源驱动创新。从某种程度上说,企业正在“重塑基础设施软件的车轮”,借用沃克的话说,在未来的20年里,我们几乎可以肯定地看到,在开源社区中,参与的水平越来越高。
这是开源已经花了20年的时间给我们的,这是未来20年的一个奇妙的开始。
领取专属 10元无门槛券
私享最新 技术干货