开源 — 它能创新吗?
最近常听到一种论调,认为开源软件非常适合基础设施或需求明确的商品软件,但在创新方面却不行。每当我听到这种说法时都会觉得好笑,因为我记得以前的普遍看法恰恰相反——我们这些黑客非常擅长探索性的、前沿的东西,但无法交付可靠的产品。
人们真是健忘。我们可是构建了万维网,真是见鬼了!最初的浏览器和最初的 Web 服务器是由 CERN 的一位黑客构建的,而不是在某些封闭的企业车间里。在那之前,早在我们拥有 Linux 和我们自己的 T 恤衫之前,那些后来正确地将自己的行为定义为开源黑客行为的人们构建了互联网。
在我看来,互联网和万维网的诞生应该足以算作任何一个地质时代的“创新”。但这并没有在那里开始或停止。在 X 窗口系统出现之前,没有人想到过跨平台图形引擎。现代脚本语言的整个族群都源于开源 Perl,几乎所有语言都从其开源社区的规模和多样性中汲取了关键优势和创新动力。
即使在用户界面设计方面,当今许多最具创新性的工作也是在开源领域进行的。例如,考虑一下 Facades 系统。或者仅仅是 Linux 下 Compiz/Fusion 令人震惊、夺人眼球的视觉实验主义。
实际上,是公司在创新方面遇到了麻烦。创新对既定的商业模式和实践具有太大的颠覆性;它具有风险,并且涉及到应对研发实验室里那些令人讨厌的耍大牌的人。因此,即使像施乐这样善意的、聪明到足以资助像施乐 PARC 这样的真正研究中心的大公司,也常常拒绝其自身研究人员提出的真正具有突破性的想法。今天,你将很难找到任何微软研发部门真正酷炫的想法被部署到实际的微软产品中。
开源中的创新和部署过程当然并非没有摩擦,但与企业界相比,它看起来确实如此。我最喜欢的当前例子之一是 Guido van Rossum 和 Python 社区正在为 Python 3.0 版本重新发明他们的语言的方式。他们通过个人贡献者促进和筛选新颖想法的“Python 增强提案”流程值得仔细研究;就像互联网 RFC 流程(显然是模仿它的)一样,它产生了创新步伐和成功部署的结合,即使是贝尔实验室在其鼎盛时期也无法梦想持续下去。
然而,不知何故,我们仍然看到像 Christophe de Dinechin 的这篇文章 这样严肃的长篇大论
我希望看到的是真正的开源创新。但我恐怕这不可能发生,因为真正的创新需要大量资金,而公司仍然是为这种创新提供资金的最佳方式,通常都抱有希望获得更多回报。
简单而廉价的回答是将作者斥为愚蠢的白痴,他没有注意到他的整个环境已经被开源创新彻底重塑,而且每次他看浏览器时,证据都会扇他耳光。但实际上,我认为他(以及像他这样的人)不是白痴;他们是相当聪明的人,在他们关于开源、闭源和创新的推理中犯了几个严重且可识别的错误。
第一个错误:在预测开源和闭源创新策略之间预期回报的差异时,忽略了近期开源创新的现值。这就是 M'sieu de Dinechin 正在做的事情,当他没有注意到 Tim Berners-Lee 是一位在开源领域工作的黑客,而他的继任者也大多如此。
第二个错误:低估了那些非用户可见且无法通过营销部门销售的创新。好吧,苹果最新的炫酷玩意儿确实很棒,但如果你问我它与(比如)开源 BIND 守护程序的现值相比如何,答案是“毫无可比性”;一个只是看起来漂亮,另一个是整个该死的以网络为中心的经济的基础。
第三个错误:忽略像 Metisse/Facades 这样的工作,因为它尚未部署在足够多的机器上,以至于无法在营销调查中显示出来。这里的问题是,像 de Dinechin 这样的人最终错误地将公司在既定市场上销售增量改进的能力作为衡量其最初产生创新能力的主要指标。这使得他们对“创新”的看法即使不是完全盲目的,也是目光短浅的。
第零个错误:混淆了两个问题,其中一个是“哪种策略在全球范围内最大化创新?”,另一个是“我,这个饥饿的潜在创新者,如何获得报酬?” 这是最重要的问题;我将其编号为第零个错误,因为我认为它几乎是 de Dinechin 和像他这样的人容易犯的所有其他系统性错误(包括第一到第三个错误)的根源。
de Dinechin 和像他这样的人,对创新如何运作有一个简单而线性的模型。付钱给像 de Dinechin 这样的聪明人,退后一步,看着闪耀的东西出现并改变世界。在这个模型中,如果你不付钱给像 de Dinechin 这样的聪明人,就不会有创新的东西出现,因为他们太忙于埋头苦干 COBOL 或其他东西来糊口——没有世界改变,真可悲。
这个模型对像 de Dinechin 这样的人非常有吸引力,他们理所当然地强烈渴望因聪明和有创造力而获得报酬。见鬼,出于完全相同的原因,它也吸引着我。不幸的是,与 de Dinechin 不同,我知道这与事实严重不符。
我对创新(至少在软件领域)实际运作方式有一个非常不同的模型。它的一个前提可以用我现在要称为软件研发铁律来表达:如果你是一名开发创新软件的程序员,那么你被允许完成它并实际部署它的几率,在其他条件相同的情况下,与你的创新深度和你的工作保障的乘积成反比。
也就是说,你的公司闲职越舒适,你就越不可能有所作为。你的软件越创新,你就越不可能真正获得支持以完成部署。
原因很简单。公司的存在是为了减轻投资风险。公司规模越大、越稳定,它就越抵制对其实践和商业模式的颠覆,包括可能从长期创新收益中获得的不可避免的短期颠覆。因此,净现值会计几乎总是得出创新是一个错误的结论。
“但是贝尔实验室呢?” 我听到你反驳。啊,是的,那是企业研究黄金时代的典型代表。好吧,首先,贝尔实验室已经死了;对短期回报的压力使得它所代表的那种帝国建设在今天实际上是不可能的。即使在其鼎盛时期,肯·汤普森也不得不在下班后用一件废弃的垃圾编写 Unix,然后偷偷地将 Unix 磁带从后门带出去进行部署。
软件研发铁律清楚地解释了为什么施乐 PARC 的大部分研究最终由其他公司部署,主要是那些没有预先存在的商业模式的初创公司。以及为什么你在开源中获得最多实际部署的创新——因为我们危害其收入来源的人(如果有的话)与资助我们的人(如果有的话)不是同一批人。