4.10 何时开源,何时闭源
在回顾了支持开源软件开发的商业模式之后,我们现在可以探讨一个普遍性问题:什么时候开源具有经济意义,什么时候闭源更合适。首先,我们必须清楚每种策略的收益是什么。
收益何在?
闭源方法允许你从保密的代码中收取垄断收益a,而另一方面,它排除了真正独立同行评审的可能性。开源方法为独立同行评审创造了条件,但你无法从私有技术中获得垄断收益。
拥有私有技术的垄断收益众所周知,而传统的软件商业模式都是围绕这一点构建的。直到最近,独立同行评审的收益才被人们充分理解。然而,Linux 操作系统的惨痛教训,我们可能早该从互联网核心软件的历史以及其他工程领域学到:开源同行评审是实现高可靠性和高质量的唯一可扩展方法。
因此,在竞争激烈的市场中,寻求高可靠性和高质量的客户会奖励那些走向开源,并学会在软件相关的服务、增值和辅助市场中维持收入流的软件生产者。Linux 的惊人成功背后,正是这一现象。Linux 在 1996 年异军突起,到 2000 年中期已成为商业服务器市场上第二受欢迎的操作系统(而一些调查实际上显示,在 2000 年底它的份额超过了微软)。在 1999 年初,IDC 预测,到 2003 年 Linux 的增长速度将超过所有其他操作系统的总和,而这一预测至今仍然准确。
开源几乎同样重要的一个收益是,它作为推广开放标准和围绕这些标准建立市场的一种工具。互联网的迅猛增长很大程度上归功于没有人拥有 TCP/IP,也没有人对核心互联网协议拥有专有控制权。
TCP/IP 和 Linux 成功背后的网络效应b相当清晰,最终归结为信任和对称性问题c:共享基础设施的参与方若能看清其底层运行逻辑,自然会对这套体系更加信赖。而且他们会更倾向于让所有参与者权利对称的基础设施,而不是某一参与者处于特权地位、榨取垄断收益或单方施加控制的基础设施。
然而,对于软件消费者而言,对称性问题的重要性实际上并不需要假设存在网络效应。如果存在质量可接受的开源替代方案,理性的软件消费者不会选择依赖闭源软件,让自己受制于垄断供应商。软件对消费者的业务越关键,这一论点就越有说服力:软件越重要,消费者就越不能容忍它被第三方控制。
这还有另一面。经济学家知道,总的来说,信息不对称d会使市场运作不良。当从特权信息中收取垄断收益比投资于生产更好的产品更有利可图时,较高质量的商品就会被驱逐出市场。总的来说,不仅在软件领域,即使在别的领域保守技术秘密,也同样不利于产品品质提升。
最后与信任问题相关的是,开源软件的一个重要客户收益是它具有面向未来的特性。如果源代码是开放的,那么即使供应商倒闭,客户也有一定的补救措施。这对于“开源软件,反哺硬件”(指为硬件配套的软件)可能尤其重要,因为硬件的生命周期通常很短,但这种效应更有普遍性,会转化为各种开源软件的附加价值。
它们如何相互作用?
当私有技术的收益高于开源的回报时,闭源在经济上是合理的。当开源的回报高于私有技术的垄断收益时,开源就是有意义的。
这本身是一个显然的论断。然而当我们注意到开源的收益比私有技术的收益更难衡量和预测,而且这种收益被严重低估的频率远高于被高估的频率时,它就变得重要了。事实上,在主流商界因 1998 年初 Mozilla 源代码发布而开始重新思考其基本假设之前,人们错误地、但普遍地假定开源的收益为零。
那么,我们如何评估开源的收益呢?总的来说,这是一个难题,但我们可以像处理任何其他预测问题一样来处理它。我们可以从观察到的开源方法成功或失败的案例开始。我们可以尝试归纳出一个模型,这个模型至少能在定性层面,让我们感受到在哪些情境下,对于试图最大化回报的投资者或企业而言,开源是“净收益”。然后,我们可以回到数据,尝试完善这个模型。
根据《大教堂与市集》中提出的分析,我们可以预期开源在以下情况下具有高收益:(a) 可靠性/稳定性/可扩展性至关重要,并且 (b) 设计和实现的正确性不容易通过独立的同行评审以外的方式验证。(实际上,大多数复杂程序都满足第二个标准。)
消费者出于理性,会希望避免陷入被某一垄断供应商锁定的局面。软件对这位消费者变得越关键,他们越会对开源感兴趣(因此,也增加了供应商开源的竞争市场价值)。因此,另一个标准 (c) 在软件是业务关键型资本品时(例如,在许多企业 MIS 部门中),会推动走向开源。
至于应用领域,我们上面观察到开源基础设施创造了信任和对称效应,随着时间的推移,这些效应往往会吸引更多客户,并胜过闭源基础设施。另外,在一个快速扩张的市场中占据较小的份额,通常比在一个封闭停滞的市场中占据较大的份额更好。因此,对于基础设施软件,以普及为目标的开源策略,其长期收益很可能高于以知识产权收益为目标的闭源策略。
实际上,潜在客户推理供应商策略未来后果的能力,以及他们不愿接受供应商垄断的态度,意味着一个更强的约束条件;在没有已经拥有压倒性市场力量的情况下,你可以选择开源的普及策略,或者选择从闭源软件获得直接收入的策略——但不能两者兼得。(这一原则的类似情况在其他领域也能看到——例如,在电子产品市场中,客户常常拒绝购买单一来源的设计。)这个情况也可以不那么消极地表述:在网络效应(正网络外部性)占主导地位的地方,开源很可能是正确的选择。
我们可以通过观察总结这个逻辑:当软件 (d) 对于基础设施软件,开源的回报往往更高。
最后,我们可能会注意到,独特或高度差异化服务的提供者,比起那些关键算法和知识库已经被充分理解的服务供应商,更担心他们的方法被竞争对手复制。因此,当 (e) 关键方法(或其功能等价物)属于通用工程知识的一部分时,开源更有可能占据主导地位。
互联网核心软件、Apache 和 Linux 对标准 Unix API 的实现,是所有五个标准的主要范例。这些市场演变中走向开源的道路,可以很好地从 20 世纪 90 年代中期数据网络重新统一于 TCP/IP 的过程中看出,此前 15 年间,人们曾尝试使用 DECNET、XNS、IPX 等封闭协议来建立帝国的尝试均告失败。
另一方面,开源对于那些独特拥有价值生成软件技术的公司似乎最没有意义,这些技术(强烈符合标准 (e)),(a) 对失败的容忍度相对较高,(b) 可以很容易地通过独立同行评审以外的方式验证,(c) 不是业务关键型的,并且 (d) 其价值不会因网络效应或普及而大幅增加。
作为这个极端情况的例子,在 1999 年初,一家公司问我:“我们应该开源吗?”该公司编写的软件用于计算锯木厂的切割模式,以便从原木中提取最大数量的板材。我的结论是“不应该”。唯一勉强符合的标准是 (c);但在紧要关头,经验丰富的操作员可以手工生成切割模式。
请注意,如果这个切割模式计算器是由一家锯木厂设备制造商编写的,我的答案可能会大不相同。在这种情况下,开放代码会增加他们正在销售的相关硬件的价值。还要注意,如果已经存在某种开源的切割模式计算器(也许是锯木厂设备制造商编写的那一个),那么闭源产品将很难和它竞争——这与其说是价格原因,不如说是客户会感知到开源在可定制性和其他特性方面的优势。
重要的一点是,特定产品或技术在这些尺度上的位置可能会随时间变化,我们将在下面的案例研究中看到这点。
总结一下,以下判定因素会推动开源:
-
可靠性/稳定性/可扩展性至关重要。
-
设计和实现的正确性不容易通过独立同行评审以外的方式验证。
-
软件对用户控制其业务至关重要。
-
软件建立或支持通用的计算和通信基础设施。
-
关键方法(或其功能等价物)属于通用工程知识的一部分。
毁灭战士:案例研究
id 公司最畅销的游戏《毁灭战士》的历史,说明了市场压力和产品演变如何能够决定性地改变闭源与开源的收益大小。
当《毁灭战士》于 1993 年底首次发布时,它的第一人称实时动画独一无二(与标准 (e) 相反),不但这项技术的视觉效果令人震撼(远远超过其前作《德军总部 3D》的平面世界动画),而且在好几个月里,没人能弄清楚在那个时代性能不足的微处理器上是如何实现的。这些保密的代码值得收取非常可观的垄断收益。此外,开源的潜在收益很低。作为一款单机游戏,该软件 (a) 失败带来的成本容忍度较高,(b) 验证起来不是特别困难,(c) 对任何消费者都不是业务关键型的,并且 (d) 没有从网络效应中受益。从经济角度看,《毁灭战士》闭源是合理的。
然而,《毁灭战士》周边的市场并没有停滞不前。潜在的竞争对手发明了其动画技术的功能等价物,其他“第一人称射击”游戏如《毁灭公爵》开始出现。随着这些游戏蚕食《毁灭战士》的市场份额,私有技术垄断收益的价值下降了。
另一方面,扩大市场份额的努力带来了新的技术挑战——游戏要更可靠、有更多功能、用户群更大以及支持多平台。随着多人“死亡竞赛”游戏和《毁灭战士》游戏服务的出现,市场开始显示出显著的网络效应。所有这些都需要程序员的工作时间,而 id 更愿意将这些时间投入到下一款游戏上。
从游戏首次发布起,id 就一直对 mod 创作持宽容态度:不反对公开创建自定义数据内容的技术规格文档,并偶尔回答特定问题、发布他们自己现有的规格文档,并直接与 mod 作者合作。他们还鼓励在互联网上分发《毁灭战士》新数据的行为。
技术和市场趋势提高了开放源代码的收益;《毁灭战士》开放规格文档、鼓励第三方扩展的做法,不仅增加了游戏的感知价值e,还为他们创造了一个可以利用的二级市场。在某个点上,收益曲线发生了交叉,id 转向在这个二级市场赚钱(通过诸如游戏场景选集等产品),然后开放《毁灭战士》的源代码,这在经济上变得合理了。在这个时间点之后的某个时候,它真的发生了。《毁灭战士》的完整源代码于 1997 年底发布。
知道何时放手
《毁灭战士》是一个有趣的案例研究,因为它既不是操作系统,也不是通信/网络软件;因此它与通常显而易见的开源成功案例相去甚远。事实上,《毁灭战士》的生命周期,连同其交叉点,可能会开始成为当今代码生态中应用软件的典型——在这个生态中,通信和分布式计算都产生了严重的健壮性/可靠性/可扩展性问题,这些问题只能通过同行评审来解决,并且经常跨越技术环境之间以及竞争参与者之间的边界(这隐含了所有信任和对称性问题)。
《毁灭战士》从单机玩法演变为死亡竞赛玩法,网络效应也正日益成为计算本身的核心。即使在最重量级的商业应用中,如 ERP 系统,也能看到类似的趋势,因为企业与供应商和客户之间的网络连接日益紧密——当然,这些也隐含在整个万维网的架构中。由此可见,几乎在所有地方,开源的收益都在稳步增长。
如果目前的趋势继续下去,下个世纪软件技术和产品管理的核心挑战将是知道何时放手——何时允许封闭代码进入开源基础设施,利用同行评审效应,在服务和其他二级市场中获取更高的回报。
过远偏离交叉点(无论太早或太晚)显然都会导致收入损失。除此之外,等待太久还存在严重的机遇风险——你可能会被在同一市场领域率先开源的竞争对手抢先。
这是一个严重的问题,因为对于任何特定的产品类别,可用于招募参与开源合作的用户和人才库都是有限的,而且招募具有粘性。如果两个生产商先后将功能大致相当的竞争代码开源,第一个可能会吸引最多的用户以及最多、最有动力的合作开发者,而第二个则只能拾取残羹剩饭。这种招募具有粘性,因为用户会获得熟悉度,而开发者会在代码本身上投入时间。
a. 垄断收益(Rent) :经济学概念,由阿尔弗雷德·马歇尔在《经济学原理》中明确提出,指主体依靠排他性技术、特权壁垒获取的超额利润。文中相关讨论归属于朱尔斯·杜普伊特(Jules Dupuit)——阿诺德·哈伯格(Arnold Carl Harberger)——戈登·塔洛克(Gordon Tullock)的福利分析范畴,ESR 更倾向于杜普伊特—塔洛克理论传统,认为垄断收益会带来显著社会成本,并主张通过“对称性”与“透明度”的制度设计从源头消解特权地位,而非依赖事后反垄断干预,这与哈伯格式“垄断损失有限、无需过度干预”立场形成鲜明对照。
b. 网络效应(Network Effect) :指产品或服务的价值会随用户规模扩大而提升的现象,分为直接网络效应与间接网络效应,本文侧重于后者。ESR 在此处的观点,亦与卡尔·夏皮罗(Carl Shapiro)、哈尔·瓦里安(Hal R.Varian)在《信息规则》(Information Rules)中提出的“平台可以通过设计激励机制、管理多边市场来‘驾驭’网络效应;平台方的特权地位是合理且必要的”观点形成鲜明对照。
c. 对称性(Symmetry) :古典经济学的一种经典假设,在阿尔弗雷德·马歇尔于《经济学原理》中明确提出之前作为隐性假设存在。它往往涉及1. 逻辑结构对称;2. 信息对称;3. 行为假设对称;4. 博弈结构对称。本文语境下,特指软件生态中各市场参与方拥有对等权利、地位均等的市场状态。
d. 信息不对称(Asymmetric Information) :指交易双方掌握的信息存在差异,易引发市场失灵。也是对称性问题的重要分支,由乔治·阿克洛夫(George Akerlof)于 1970 年在著作《柠檬市场》(The Market for Lemons)中提出,打破了古典经济学的信息对称假设。提及的柠檬市场除了信息不对称,还具备质量不可观测、整体平均质量持续下滑、交易不完全的特征,通常出现在二手市场、产品质量难以辨识的领域,本文所提及的依靠垄断收益运营的软件市场也存在此类问题。
e. 感知价值(Perceived Value) :指消费者对产品/服务基于所得与所付的权衡的主观效用评价,由载瑟摩尔(Zeithaml)于 1988 年提出。然而,ESR 在本文中倾向于 Vargo & Lusch 提出的价值共创理论,此处的感知价值不仅来自产品本身,还来自他们未来能够自行创作和修改的可能性。这种“创造可能性”本身就是一种价值来源,且会反过来提升用户对产品的整体评价。