返回介绍

4.10 何时开放,何时关闭

发布于 2024-10-11 21:30:15 字数 5176 浏览 0 评论 0 收藏 0

在了解了这几种支持开源软件开发的商业模型之后,我们可以研究一下:何时开源及何时闭源会产生经济价值。首先必须弄清楚不同策略的收益。

收益是什么?

走闭源这条路,你能够通过秘密比特赚钱,但也使得真正独立的同行评审变得不可行。开源这条路为独立同行评审创造了条件,但你却不能从比特中赚钱。

秘密比特带来的收益很好理解,传统软件商业模式就构建于其上。而独立同行评审的价值直到最近才被人们认识到,Linux 操作系统给我们上了一课——其实我们早该在多年前就从互联网核心软件及其分支中了解到——开源的同行评审是得到高可靠和高质量软件的唯一的可扩展方法。

在一个竞争性市场上,客户寻求的是高可靠和高质量的软件,走开源之路并学会如何通过服务、增值和附属市场获取收入流的软件制造者,自然会赢得客户的回报。这正是导致 Linux 取得令人震惊成功的原因,1996 年的 Linux 还什么都不是,但到 2000 年中,它已经成为商业服务器市场的第二大操作系统。IDC 在 1999 年初预测,到 2003 年,Linux 的成长速度将会超过所有其他操作系统的总和,目前看来这个预测仍然有效。

另一个几乎同等重要的收益是,开源是标准传播和市场创建的有效途径。Internet 的戏剧性成长,在很大程度上要归功于没人拥有 TCP/IP 标准,也就是说,没有特权能够控制 Internet 的核心协议。

TCP/IP 和 Linux 的成功所带来的网络效应 [4] 已经非常明显,并且它非常好地解决了信任和对等问题——对于一个可能的参与者,如果他能看到大家共享的基础架构是怎么工作的(包括所有细节),自然会更信任它一些。他也更愿意选择一个所有参与者都有着对等权力的基础架构,而不是由特权个体掌控并收费的基础架构。

然而,网络效应带来的对等问题,对消费者来说倒不一定那么重要。如果有任何质量上可以接受的开源选择,没有哪个软件消费者在理性分析后仍选择把自己绑定在由某个供应商控制的垄断之上。软件对消费者的业务越关键,这一点就越明显——即软件越重要,消费者就越无法容忍被外人控制。

另一方面,经济学家知道,信息不对称会给市场带来负面影响。如果靠特权信息收费能够比努力生产好产品更有利可图,高质量的产品就会被逐出市场。不透明是质量的敌人(secrecy is the enemy of quality),软件业如此,其他行业也如此。

最后,消费者的另一个重要收益与信任相关,即开源拥有的“防患于未然”效应:如果源码是开放的,消费者在供应商破产后仍然能有所依靠。这对“硬件糖霜”模型来说尤其重要,因为硬件往往只有短暂的生命周期,但此效应是普适的,所有类型的开源软件都会因此而增加内在价值。

它们如何相互作用

如果从秘密比特中能获取比开源更多的收入,从经济意义上讲就应该闭源;但当从开源中能获取更多收益时,那就应该转向开源。

看上去这很简单,但当我们意识到开源收益比闭源收益更难计算和预测时,就不是那么回事了,大多数情况下,开源收益被远远低估而不是高估。主流商业世界直到 1998 年 Mozilla 开源后,才开始反思他们对开源的“想当然”认识,那之前,开源收益被错误而普通地臆断为零。

那如何评估从开源中获得的好处?这是个很难回答的问题,但我们可以像对待任何其他预言性问题一样,从考察一些成功或失败的开源个案开始,先试着归纳出一个至少能给我们以定性感觉的模型,也即在什么情况下,对追求最大回报的投资者或生意人来说,开源是能产生净收益的,然后我们可以再回到数据之中并试着细化这个模型。

根据“大教堂与集市”一文的分析,开源获取高收益的条件大约有如下几种:(a) 当可靠性/稳定性/可扩展性至关重要时,(b) 没有其他方法比独立同行评审能更便捷易行地验证设计和实现正确性时(多数稍具规模的程序都适用这条)。

当软件对消费者越来越重要时,消费者会在理性上希望避开垄断供应者,这导致他们对开源的兴趣变大(开源供应商的市场竞争力会因此增强),所以,另一个判断标准是:(c) 当软件成为对业务起关键作用的资产(比如存在于很多企业的 MIS 部门中)时。

在应用领域,我们在前面已经看到,开源的基础架构会产生信任和对等,随着时间推移,它会吸引更多客户,并在和闭源基础架构的竞争中胜出。一个较小但快速扩展的市场往往比较大但封闭而停滞的市场要好,一样地,对于基础软件,让自己无处不在的开源玩法要比靠知识产权收费的闭源玩法,能获得更高的长期收益。

事实上,潜在客户会根据供应商的商业策略来分析未来可能的问题,而且他们不愿接受供应商的垄断,这给闭源带来了更强的局限性,如果没有压倒性的市场控制力,供应商要么选择开源(让它普及起来),要么通过闭源直接收费——但不能都选。(其他领域也会有类似问题,比如在电子市场上,客户通常拒绝购买单一货源的设计。)说得再保守一些:在网络效应(正的网络外部性)主导的地方,开源很可能是正确的。

通过观察我们能总结出:(d) 当创建或运转一个公共计算或通信基础架构时,开源总是能够非常成功地比闭源获取更多的回报。

最后,我们注意到,提供独特或高度差异化服务的供应商更担心其他竞争者拷贝他们的方法,而关键算法和知识库已经公开化时就不会这样。所以,(e) 当关键方法(或能实现同等功能的方法)属于公共知识时,开源更可能胜出。

互联网核心软件 Apache 以及标准 UNIX API 的 Linux 实现是满足这五个条件的最典型案例,这类市场必然朝着开源的方向演进,一个很好的例证是,到 20 世纪 90 年代中期,那些试图使用封闭协议(如 DECNET、XNS、IPX 等)占领市场的尝试,在历经 15 年的努力后,无一例外的都失败了,数据网络架构最终纷纷采用了 TCP/IP。

从另一方面看,这样的公司是最没有必要开源的:它拥有自己独特的能创造价值的软件技术(完全不满足(e)),它对故障不是很敏感(a),它有其他办法(不通过独立的同行评审)验证软件的正确性(b),它不是关键业务(c),也不会因为网络效应或人们普遍使用而获得价值上的实质增长(d)。

下面是一个极端的例子,一家为锯机编写软件的公司在 1999 年初向我咨询:“我们是否应该开放源码?”,这是一个计算如何切割原木以获得最大板材的软件,我的结论是“不”。他们唯一接近满足的条件是(c),但即便软件出点问题,一个有经验的操作员也可以手工算出切割模式。

注意,如果这个切割模式计算软件是由锯机设备制造商写的,我的答案可就不一样了,这种情况下,将源码开放会增加他们所售硬件的价值。另外要注意的是,如果该类软件存在开源产品(也许正是某个锯机设备制造商写的),那闭源产品就很难竞争过它——价格是一方面原因,更重要的是客户会因为开源的可定制性和其他优势动心。

还有一点要注意,某个产品或技术对这些条件上的满足会随时间变化而变化,下面的案例分析中我们将看到这点。

总而言之,如果满足下面这些条件,就该考虑把源码开放:

1.可靠性/稳定性/可扩展性非常重要。

2.除了独立的同行评审,没有其他便捷易行的方法验证设计和实现的正确性。

3.该软件对客户的业务非常关键。

4.该软件创建或运转一个公共计算或通信基础架构。

5.关键方法(或能实现同等功能的方法)属于公共知识。

DOOM 案例分析

Doom 是 id 软件公司卖的最好的游戏软件,其历史告诉我们,市场压力和产品演化是如何对闭源产品的收益产生关键性的影响。

Doom 在 1993 年末第一次发布时,它的第一人称视角和实时动画是极为独特的(和条件 e 对立)。不仅因为它那令人瞠目的视觉效果(远远超过了 id 公司上一个游戏 Wolfen-stein 3D(德军总部 3D)的平面动画效果),而且在其发布后数月内没人知道他们是怎样在当时性能较低的处理器上做到的。这些秘密比特确实能换回非常可观的收益,而将代码开源的潜在收益并不大,作为一个单人游戏,这个软件(a) 即便有故障,其代价也很低,(b) 它不是非常难以验证,(c) 也不是哪个消费者的关键业务,而且(d) 也不存在网络效应。所以将 Doom 闭源在经济上是合理的。

然而,Doom 的潜在竞争者并没有闲着,他们发明了可与之匹敌的动画技术,其他“第一人称射击”游戏诸如 Duke Nukem(毁灭公爵)开始出现,随着这些游戏对 Doom 市场份额的吞食,秘密比特的收益开始下降。

另一方面,扩大市场份额的努力带来了新的技术挑战——更好的可靠性、更多的游戏特性、更大的用户群和更多的支持平台。随着多人对战模式(deathmatch)和 Doom 游戏服务的出现,市场开始出现网络效应。实现这些需要大量的程序员工时,虽然 id 公司更希望把这些人力花在下一个游戏中。

游戏发布后,一些爱好者将 Doom 的技术规格发布出来帮助人们制作游戏里的数据物件(是指玩家通过替换数据文件创造出新的游戏场景、角色和装备等等——译者注),id 公司对此表现得很友善,他们有时会直接和黑客合作,回答黑客的具体问题,发布内部的规格文档,鼓励人们制作新的 Doom 数据并发布到互联网上。

技术趋势和市场趋势使得源码开放的收益提高,Doom 开放技术规格和鼓励第三方扩展(add-on)的做法,都提高了游戏的感知价值 [5] ,并打开了可供利用的二级市场。开源和闭源所对应的收益曲线会在某一时间点上交叉,此时,将源码开放并从二级市场上(如游戏场景选集等产品)赚钱会成为 id 公司的经济理性选择,确实如此,1997 年末,id 公司将完整的 Doom 源代码公开发布。

知道何时放手

Doom 是一个有趣的案例,它不是一个操作系统也不是一个通信/网络软件,它和常见的开源成功案例明显不同。事实上,Doom 的整个生命周期(包括从闭源转向开源的过程)可能会成为当今应用软件代码生态的典型——在这个生态里,信息交互和分布式计算带来了严重的健壮性/可靠性/可扩展性问题(只能靠同行评审来对付),并常常跨越技术环境界限和竞争者界限(其中隐含着信任和对等问题)。

Doom 从单人游戏演化到多人对战游戏后,网络效应开始大显身手。其他领域也是如此,随着商务网络(当然它位于整个 WWW 架构之中)正空前紧密地把供应商和客户联系在一起,这一点甚至在最重量级的商业应用(如 ERP 系统)中也能看到。相应地,开放源码的收益也会因此稳步提升。

如果这个趋势继续下去的话,21 世纪软件技术和产品管理的核心挑战将是明白何时放手——即何时允许把封闭源码转为开放源码体系,利用同行评审的好处,在服务上和二级市场上获取更高回报。

很明显,出于收入上的考虑,在任何一条曲线上都不应走得离交叉点太远。但是,等待太长时间会面临严重的机会风险——市场上的对手可能会抢先开放源码。

这个问题之所以严重,是因为对任意给定种类的软件产品,开源合作能够吸引的用户群和专家群都是有限的,而社区往往有黏性,如果两个在功能上大致等同的产品先后开源,先开源的往往会吸引最多的用户和最有激情的合作开发者,后开源的只能吃剩饭。社区之所以有黏性,是因为用户对软件已经熟悉,而开发者已经在代码上投入了太多时间。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文