开源已经 20 年,改变世界的承诺有兑现吗?

是否有人注意到,开源已经正式存在 20 年了。

开源已经 20 年,改变世界的承诺有兑现吗?

尽管开源主宰了企业平台,但是大多数代码仍然是封闭和私有的。原因何在?

对于像开源这样革命性的东西,毫无疑问它改变了所有软件开发、销售和分发的方式。不幸的是,对于那些希望庆祝开源 20 周年的派对策划者来说,他们得失望了,因为开源并没有改变软件。也就是说,对于大多数开发者来说,在大多数时候软件仍然是私有的。

20 年来软件的叙述方式发生了改变。我们对这样的改变感到满意,然而,开源的某些问题仍然需要在未来的 20 年中解决。

开源占领了基础架构,但未征服应用软件

早在 1999 年,Eric Raymond 就指出,95% 的软件都应当用来使用,因此它们应该是开源的。但是事与愿违,如今几乎所有的代码仍然闭源。

正如红帽首席执行官 Jim Whitehurst 在 2008 年红帽峰会上指出的那样,在开源促进协会提出“开源”一词后的十年,并未发生太大的变化,Jim Whitehurst 曾是开源促进协会的主席,他谴责了企业软件的浪费:

如今编写的绝大多数软件都是为企业量身定制,并非用来对外销售。而这其中的绝大多数软件从来没有真正投入使用。IT 软件开发存在严重浪费。最终,为了向全球所有客户提供价值,我们需要让我们的客户不仅仅是开源产品的用户,还要真正从事开源和参与开发社区。

有些观察员也察觉到了些许进展。根据欧洲委员会 Flossmetrics 在 2009 年的研究,乐观估计有 35% 的代码(用于出售与否)是开源的。

正如 Cloudera 的联合创始人 Mike Olson 在 2013 年所说的那样,开源已经成为企业基础架构的主导:

企业基础架构中出现了令人震惊和不可逆转的趋势。如果你操作数据中心,那么几乎可以肯定会用到开源的操作系统、数据库、中间件和其他工具。在过去的十年中诞生的主要平台级基础软件几乎没有闭源和私有的。

当然,Olson 是正确的:企业基础架构中的大部分创新越来越受到开源许可证的约束。尽管软件产品趋于饱和,但是发起容器革命的 Docker 和 Kubernetes 都是开源的。至于大数据,有 Hadoop、Kafka 以及其他开源技术支持。而最火热的机器学习和 AI 也有 TensorFlow、MXNet 等开源软件。

所以,即使我们的应用程序是封闭的和私有的,但是平台却越来越开源。在未来我们更多依赖于开源代码,那么即使绝大多数代码继续封锁在专有许可中也影响不大。

如果越来越多的优秀代码是开放的,为什么没有更多的开放?正如 ARM 公司的 John Mark Walker 所说,“如今几乎所有的重大创新都发生在开源平台上”,然而“仍然有很多人在重新发明轮子”。 原因何在?

企业不愿花钱推动开源

早期的 Apache 软件基金会总监,Sourcepoint 的首席技术官 Geir Magnusson 如是说:

对于基础架构的软件来说,开源的影响力是巨大的。但是在 Eric Raymond 所说的“95%的软件”中,有很多是为了(真实的或感知的)私人或者特定需求而设计的无趣软件。

换句话说,有很多代码仍然是封闭的,我们应该庆幸不必看到它,因为它是写在企业之外的一些无用代码。它可以开源吗?当然可以。应该开源?这就不好说了。

红帽策略师 Dave Neary 强调,开源代码的代价也是非常实在的。“作为该代码的唯一用户”,他认为其优点微乎其微。在此基础上,Apache 软件基金会总监( Capital One 的前高级总监)Jim Jagielski 假设:“公司表示自己渴望拥抱开源,但是由于资源和投资的障碍,最终失败。这反过来造成了连锁反应,导致他们责备开源,而不是自身的原因。”

简而言之,大多数软件都被锁定在企业防火墙中的原因是,开源的投资回报率太低。至少,大多数企业都这样认为。企业如果没有前瞻性的证据就不愿走开源之路,这种现状也就很难改善。

未来 20 年开源力量会壮大

由于谷歌、Facebook、亚马逊和其他网络巨头们展示了开源代码的价值,这个鸡与蛋的难题正逐步自我解决。虽然 State Farm 和雪佛龙公司无法像微软这样的纯软件公司那样拥抱开源,但是令人欣慰的是像 Bloomberg 和 Capital One 这样的公司也开始涉足开源,不再像“开源”一词在 1997 年刚提出时那样排斥,相比 2007 年来说也有所增加。

这是一个很好的开始。

我们也不要忘记,尽管过去 20 年来越来越多的公司使用开源代码,自开源诞生以来最大的好处是它改变了软件创新的方式。我们开始有充分的理由相信,最好的和最具创新性的软件都是开源的。

当然不是所有的软件。Apache 软件基金会主任兼 Adobe 首席科学家 Bertrand Delacretaz 表示:“开放源代码最适合于基础架构软件。” 接管应用软件的可能性较小,因为正如他指出的那样,“当你深入应用软件时,很难就事情达成一致。“在一个给定的软件中,有兴趣和能力的开发人员数量也会缩减到更高的层次。

但对于基础软件来说,开源驱动创新。就企业“重塑基础架构软件”而言,Walker 的解释是,在接下来的 20 年里,我们几乎肯定会看到这种情况停滞不前,开源社区的参与程度将不断提高。

这就是 20 年来开源力量带来的改变,也是下一个 20 年的一个很好的开始。

相关推荐