第10章 没有代价的失败
几名开发人员,一些偶然的贡献者,为什么这些人捣腾出来的Linux系统能成功到抢下家大业大的微软的半壁江山?因为Linux以微软做不到的方式降低了发现并吸收好想法的门槛。它没有员工,不进行投资,甚至不牵涉决策。它对于失败出奇地宽容。开源并不降低失败的可能性,它降低的是失败的成本:它实际上免费收获了失败。
先发布后过滤的逻辑意味着,新的社会系统必须容忍极大数的失败。发现和促进那些少有的成功的唯一方法,仍然在于依赖由社会性工具所支持的社会系统。
全职妈妈群组利用并发扬了Meetup的一般性功能而形成某种当地社群,后者在物理上如此分散的文化环境中原本是难于实现的。她们发现Meetup有价值的原因十分明显。不那么明显而同样值得关注的是,这样一个群体最初是怎样诞生的。每个Meetup群组的成长都承受特异性和规模之间的张力。完美贴合某一个人(秃顶且喜欢风笛音乐,是两个孩子的父亲,家住布鲁克林,但在纽约大学任教)的Meetup群组只会包含一个成员。而一个拥有巨大数量的潜在成员的Meetup群组(父母、看电视的人或亚特兰大的居民)又可能难于提供共性或交谈的材料:“那么,你也看电视?”理想的群组则在特异性和一般性之间找到某点平衡。全职妈妈正好达到这个要求,因而它比其他的父母群组更受欢迎,并且成为Meetup上人数最多的分组之一。
即使我们承认全职妈妈群组处于规模和特异性之间最优的一点,关于它的形成还有一个神秘之处:Meetup网站怎么能知道这个群组会如此吸引人呢?为Meetup工作的绝大部分人都是受教育程度过高、结婚比例过低的都市人,他们所面临的那些问题与北夏洛特的全职妈妈毫不相同。他们怎么能够知道全职妈妈会火得一塌糊涂?
事实是他们并不知道。要预测到这类事情,Meetup的员工们需要许多研究成果,如美国社区所经历的变化,关于母亲的自我定义的当前趋势,郊区居民的交往活动等,还要用到人口统计学、心理学、社会学的相关知识。即便有人告诉他们创建一个全职妈妈的Meetup群组是个好主意,他们可能也不情愿这么做。让一些单身的都市人来创建如此群组可能显得有些居高临下,更不用说使人群两极分化了。对这个名字所隐含的排他性不高兴的人可能会以公司为目标发起政治抗议。总之,Meetup的员工们不可能收集到足够的信息而懂得建议设立哪个父母群组;即使他们冇这些信息也不可能挑出其中的胜者;而即使他们能够挑出胜者,由于可能的负面反应,他们也不能推出它。
尽管这对于一个服务型企业看似可笑,Meetup能够做的最好事情就是不要代替用户做任何事,而是提供一个平台让他们互相帮忙。Meetup的用户有数十万之多,每个人又面临许多群组供他选择参与。对于在一个中等规模的城市里有兴趣参与Meetup群组的那些人,其可能的组合方式多得令人难以招架。解决这个问题的唯一明智方法就是把全权交与用户自身。
Meetup所提供的最基本的服务就是让用户自己建议组别,而后让其他用户用脚来投票,就好比传说中的那所大学让学生先在草地上走出有用的路径,而后才砌出道路来。用户所提议的绝大多数Meetup群组都失败了,因为太一般化,或太个别,或太乏味。余下的那些群组绝大部分只获得中等程度的成功,只有较少群体像全职妈妈那样大受欢迎。这种分布——大量失败,一些中等程度的成功,和少数的极度成功——正是我们在其他地方也看到过的同样模式(幂律分布)。当失败在它的系统中成为常态而重大的成功却很少见,Meetup就拥有了持续不断地针对当前社会情境进行调整的优势。Meetup一直在问它的用户一个问题,“现在创建哪个群组是个好主意?”不是泛泛地问21世纪,而是现在,本月,今天。新的群组崛起和老的群组消退都不是商业性的决定,而是用户行为的副产品。Meetup无需求证甚至预测巫师群组或者Live Journal群组将取得成功,它也不用预测什么时候这些最受欢迎的群组会被取代。用户们可以自由地发起或者批判各种群组,这种自由形成Matup看似矛盾的一面。首先,它上面有几千个成功的群组,每组通常包含6〜20人,为了同社群内其他的人定期(通常是每月)见面,他们愿意付费以得到Meetup的帮助。其次,网站上用户发起的绝大多数群组从未有所行动,或者是仅仅见面一次就再也没有动静。
这两个事实并非互不相容。Meetup并非能够克服种种失误,而是恰恰由于失败的那些群组而获得成功。这在我们听来可能有些奇怪。尤其是商业世界中,所有的公开声明都涂满了极度的乐观态度,我们很少会听到失败的消息。Meetup的核心服务——邀请一群人在某个特定的时间和地点聚会——失败的频率异乎寻常地高,因为用户建议的群组经常无法成为现实。然而Meetup公司却活得不错,因为成功的群组定期聚会,发展更多的成员,并经常在新的地域播种新的群组。Meetup是一个巨型的信息处理工具,或者说是一个市场,在这里群组就是产品,而市场不是以现金而是以精力的花费表达它的判断。失败是免费的、高品质的研究,为哪些行得通哪些行不通提供直接的证据。每一天,人们希望加人的那些群组都被从他们不希望加人的那些中分离出来。由于放弃了指挥用户去创建内容的权利,消除了成本和管理每一个体行为所造成的效果变形。在Meetup这样的系统中,试错(trial and error)有着比传统机构更低的成本和更高的价值,在后者那里,失败常常需要有人为之承担责任。从常规的商业角度看,Meetup缺少质量控制,但从另一个角度,Meetup所做的完全都是质量控制。要从这样的市场获取利益,所需要的仅仅是热情的用户和对于反复的公开性失误的测评。
Meetup还显示,当参与的壁垒低到一定程度,人们不仅乐意而且渴望聚集起来尝试新的事物,即便绝大部分最后证明行不通。在这点上Meetup并非特立独行。发布在Flidcr上的绝大多数照片都只有很少的人看。绝大多数博客都在一年之内被遗弃;绝大多数博客文章只有很少的读者。巨大的邮件列表收藏里,从流苏花边到经典电视剧到地缘政治各种主题应有尽有,然而所发起的列表中将近半数都吸引不到足够的成员而无以为继。凡此种种,不一而足。大量失败和少数非凡成功式的幂律分布普遍地存在着。如同社会性工具所产生的众多效应,这种实验的模式并非首先出现在对大众的服务中,而是发生在软件程序员之间。
在最广范围内发起协作
数字化存档的一个有趣的效果就是,许多随意的谈话被获取并为后世保存下来,人们可以来回看,会发现某些信息看似简单,其重要性却只有随着时间推移才显现出来。软件程序员的世界普经发出的最重要的一个信息正有这种随意的感觉,然而它却引发了一场革命。1991年,一个叫林纳斯•托瓦兹(Linus Torvalds)的年轻芬兰程序员在一个讨论组上发表了一条短短的信息,主题是关于操作系统的,即运行电脑的基础软件。在短信中他宣布将尝试开发一个简单并且自由授权的系统。
我在做一个(免费的)操作系统(只是个人爱好,不会像gnu[23]工程那样大型、专业)……我想了解一下大多数人都希望有哪些功能。欢迎你提出任何建议,不过不能保证我会把它们全都实施:-)
托瓦兹当天所提议的操作系统后来演变成Linux,现在这一系统已经运行在约占全世界40%的服务器(即大型电脑)上。Linux操作系统的存在几乎单枪匹马地阻止了微软公司像统治个人电脑市场那样统治服务器市场。托瓦兹的短短留言中已经包含了对于Linux未来成功的提示,带着后见之明我们才能读出它来。他的第一句话即宣布这个新项目将是免费的。在后来的一条信息中,他特别说明将采用一种叫通用公共许可证(the GNU Public License,GPL[24])的特殊软件授权来确保此操作系统保持自由和免费。GPL所包含的对于自由软件的保证对于鼓励社群参与非常关键:它对于每个愿意帮忙的人提供了承诺——他们所做的工作永远不会被掠夺。它还保证如果托瓦兹有朝一日失去了兴趣,其他人可以捡起这个项目在他停下的地方接着干。(事实证明托瓦兹并未失去兴趣,但没有人知道1991年会发生什么,或者在未来还会发生什么)。托瓦兹最初发出的信息中另一个核心要素在于,他否认有改变世界的任何目标。他没有说,“我想要写个软件来阻止微软垄断服务器的操作系统市场”,而是提出一个看似可信的请求——“帮我开始这个小小的项目吧。”Linux不是靠伟大承诺而取得超乎寻常的成就,也不是靠雇用开发人员按照某个总计划工作,而是靠人们自愿的贡献,一个版本接一个版本,递进式地完善起来。
最后,托瓦兹在他的第一封公开信息中就对用户参与敞开了大门:“我想了解一下大多数人都希望有哪些功能。欢迎你提出任何建议,不过不能保证我会把它们全都实施:这种开放性对于任何依赖对等生产的项目来说都是关键性的。他的第一封信只得到几条回复。(当托瓦兹发布它时,互联网人口总数只有100万左右,不到今天规模的1‰)然而来自奥地利大学的某位人士先于他人的回复已预示了未来将要发生的一些事情。
我对于这样一个操作系统非常感兴趣◦我也已想过自己来写操作系统,但是断定不可能有时间全部从头写起。不过我想我能找到时间来帮助抚育一个襁褓中的操作系统:-)
愿意从头开始一件事的人,其人数总是远远小于那些愿意在他人开始某件事后有所贡献的人。这种情形正与维基百科上的文章创建一样,最初关于沥青的仅七个字的简单条目,经过反复的改进之后,成为两篇详尽且富于知识性的文章。同样,足够多的人自愿为Linux项目提供帮助,已使它从一个爱好项目转变为数字化基础设施的关键部件,并把协同开发的(或称“开源”)软件的概念推向全世界。
开源软件(open source software)已成为数字化时代最伟大的成功之一。源所指称的是源代码(source code),即程序员所编写的计算机指令组,而后才被转化成软件。因为软件首先以源代码形式存在,任何人发行软件都需要决定是否同时分发源代码,从而允许用户读到并修改它。替代性选择当然就是只发行软件而不包括源代码,这样只有原始的创造者才能够阅读和修改它。
在20世纪80年代以前,软件都是免费随计算机附赠的,并且多数都包含了源代码。然而,随着软件销售变成独立的行当,经济逻辑发生了改变,各公司开始只单独发行软件了。最早发现这一变化的人士之一就是理查德•斯托曼(Richard Stallman)。1980年,斯托曼在麻省理工学院的一个实验室工作,并接触到施乐公司的最早一个型号的激光打印机9700。实验室想要修改打印机的指令,让它给文稿打印完毕的用户发送一条信息。然而施乐公司并未提供9700型打印程序的源代码,因此麻省理工学院里没有人能够做出这个改进。斯托尔曼发现这是产业中出现的一种大范围趋势,他开始提倡自由软件。(按他的提法,“像言论一样的自由。”)他于1983年创立自由软件基金会(Free Software Foundation,FSF),并确立两重使命。首先,他想要开发出与叫做Unix的操作系统兼容的高品质的自由软件。(这个项目被玩笑式地命名为GNU,意为GNU不是Unix,即“GNU’s Not Unix”的递归缩写)。自由软件联盟的第二个使命就是建立一个法律框架以确保软件的自由被保留。(这方面的工作引向GNU通用公共授权(即GPL)的创立,大约10年以后托瓦兹就采用了它)。
1983年对于主张这类自由的人来说是个糟糕的时间,其时计算机产业的重大新闻是个人电脑的来临,而且恰恰是在“不包含源代码”的模式下发行的。在自由软件基金会成立后的第一个年中,它似乎在打一场注定失败的战争。以GPL许可证发布的软件只占全世界软件总最的微不足道的一小部分,并且都是在精通技术的小型用户群中使用,而无缘于迅猛增长的家庭和企业用户。到20世纪80年代末,自由软件运动看上去将只能局限在微小的市场隙缝中。
大体而言,那种情况实际并未发生。因为GPL许可证对于保持一群松散程度前所未有的协作者十分有用,例如一直为Linux工作的全球性部落。从自由软件基金会的成立到托瓦兹第一次发出信息几乎过去了10年时间。为什么斯托曼的愿景没能更早地传播开来?又为什么,经历10年的最低限度采用之后,它在20世纪90年代变成了全球性现象?在那段时间,无论是关于软件的看法还是支持自由的主张都没有太多变化。真正的改变在于,程序员们有了一个全球性的媒介可以互相交流。操作系统就是第一证据。当托瓦兹宣布他要做一个小型的操作系统,即刻就收到来自奥地利、冰岛、美国、芬兰和英国的回复,24小时之中集合起全球范围内可能的贡献者。几个月内操作系统的简单版本就已上线运行,关于Linux(其时已得名)的交流已经扩大到来自巴西、加拿大、澳大利亚、德国和荷兰的个人。如果在20世纪80年代,这些事情发生的可能性实在会小得多,虽然那时这些国家都有人上网,人数却并不多。而多就是不同,互联网用户的密集程度增加使得20世纪90年代早期对于自由软件的发展,比先前任何年代都提供了更成熟的时机。
如埃里克•雷蒙德(Eric Raymond)在将开源软件介绍给全世界的《大教堂写布集》(The Cathedral and the Bazaar)一文中写道的:
Linux是第一个做出有意识的努力并且成功地将整个世界变为自己的人才储备的项目。我不认为Linux的酝酿期刚好与万维网的诞生重合只是一个巧合,Linux于1993〜1994年间度过幼年,同时期……
主流世界对于互联网的兴趣爆发,这也不是一个巧合。互联网普遍深入后产生的新规则,托瓦兹是懂得如何利用它的第一人。
换言之,在设立自由软件基金会和创建之间所发生的社会变化,正是波士顿天主教会前后两次性侵犯丑闻之间社会所经历的变化的前导,对于1999年、2007年两次飞机航班滞留之间社会所发生的改变也可以作如是观。有关群体协调的交易成本的门槛被跨过,在更远处,一种新的工作方式从不可想象转变为举手之劳。当交易成本下降,需要有人识别出新情势下出现的可能性。托瓦兹就是这样的一个人。
尽管自由软件基金会所开拓的许多方法和工具都在Linux创建时得到采用,Linux的工作方法却与GNU工程的方法有根本的不同。斯托曼是史上最有才华的程序员之-,GNU工程的许多内容都是由他单独或在少数几个人的帮助下写出来的。与之对照的是托瓦兹对于征求信息的狂热和不加选择,但在确定重视哪些建议上颇为明智,如同他在第一份信息里提到的,“我不保证会把它们全都实施。”愿意广泛听取程序员们的意见,而以精英式领导严酷地审判哪些提议值得被包括进来,这与自由软件基金会的工作方法是根本性的决裂。这种变化正是由交易成本的降低引起的,它使志趣相投的人在缺乏传统的组织结构的情况下聚集到一起。不仅是它对于自由的哲学承诺,而且是它的协作规模使Linux成为成功的软件,还像灯塔照亮了其他的开源项目。
降低失败的成本
Linux项目将一群分散在各地的程序员们免费贡献的成果转化成世界级的产品,成为历史上最显著的开源软件项目。随着这些年过去,以这种方式开发的软件已经逼迫微软及诸如IBM、太阳计算机系统、惠普、甲骨文等其他高科技公司实行重大的战略转变。这些公司不仅需要应对Linux,还需要招架像网络服务器、文字处理工具等不仅免费可得还可以自由改进的开源程序。但是,如果因为Linux是一个开源软件项目就假定所有的开源软件项目都像Linux一样却是错误的。事实上,当我们仔细观察开源生态系统,所呈现的图景更多地以失败而不是成功为特征。SourceForge.net网站为软件项目提供免费的存放空间,是世界上最大的开源项目收藏。网站收集了超过10万开源软件项目,其中最受欢迎的软件已经被下载总共几百万次,有若干个现在每天被下载超过1万次。当媒体报道开源软件的时候,通常聚焦的就是这样的广泛关注。
然而,紧接在最佳表现的项目之下就是不同的情形了。SourceForge按照活跃程度对所存放的项目进行排列。活跃程度居95%的软件项目每日下载次数不足10000,事实上,绝大多数甚至没达到1000次下载的水平。除开SourceForge上5%的软件内容,它们的活跃程度已经高于其他全部软件了,然而其下载频率却不及那些最受欢迎的软件的活跃度低于75%的软件项目已经没有被记载到的下载了,即零下载。也就是说,提交到SourceForge的开源项目有将近3/4从未达到某种完成度和效用而获得哪怕一个用户。事实上,那些拥有几百万用户的最受欢迎的软件在其中看上去如此反常,恰似侥幸成功。(这里大致上又是一个幂律分布。)
那么是媒体对开源理解错了吗?是它依据像Linux那样的成功错误地刻画了这一运动,而一个开源项目的正常状态其实是失败?回答:是,而且明白可测量。开源项目中的大多数都会失败,而余下的当中绝大多数的成功都相当有限。可是这意味着开源系统的威胁被普遍高估,商业软件行业可以舒口气了吗?这里的回答是否。开源的威胁之深切,不在于开源生态系统的成功率高于商业项目,而在于它失败得更多。由于开源生态系统以及延伸出来的开放的社会系统普遍依赖对等生产,所做的工作比起任何公司所能接受的程度都试验性更强,而成本则低得多。为什么呢?最重要的原因是,开放的系统降低了失败的代价,它们不会造成对可预期但不尽符合标准的结果的偏向。还有,它们能更轻易地把哪怕只提出一个主意的人的贡献也结合进来。
失败的总体影响等于它的可能性与它的成本的乘积。许多组织都企图通过降低失败的可能性减少失败的影响。设想你为一家希望变得更有创新性的公司带头从事某项行动。有人给你一个单子,都是有前途但要冒险的主意,你必须从中挑出一些进行投资。现在你就得猜测每个项目成功或失败的可能性了。显而易见的问题是,没有人能确切地知道哪些将会成功,哪些又会失败。不那么明显却可能同样重大的问题是,不同项目可能的价值与其设计者所声称的并无干系。(比如托瓦兹特别声明他的操作系统只是个爱好项目。)在这些情形下,你会难以避免地给失败放绿灯,而错过可能的成功。更糟糕的是,更多人会记得你对一个失败的项目说了是,而对一个激进但有前途的主意说了否。由于这种非对称情况,你将被推动着做出安全的选择,从而从整体上伤害了本想变得更加创新的出发点。
开源运动两种错误都不会犯,因为它没有员工,不进行投资,甚至不牵涉决策。它不是一个组织,而是一个生态系统,并且对于失败出奇地宽容。开源并不降低失败的可能性,它降低的是失败的成本——它实际上免费收获了失败。决策要尝试什么比尝试它的成本甚至更高,这个现实被颠倒过来,这种颠倒普遍符合开放性系统的现实。如同媒体的大规模业余化,开源也依赖“先出版而后过滤”的模式。在传统的组织里,尝试任何事都是昂贵的,即便只在员工时间讨论这个主意也是如此,因此必须有人事先努力将能成功的主意从失败的那些中过滤出来。而在开放的系统中,尝试某件事的成本如此之低,评估成功的可能性经常是不必要的分心。即使在一个承诺釆用实验法的公司,相当多的工作都用在降低失败的可能性上。这并不意味着开源社区中没有讨论——相反他们之间的讨论比管理型生产中更多,因为没有人处在可以支配某个特定项目的工作的位置。通过降低失败的成本,开放性系统使得参与者可以尽情失败,而在成功的基础上继续建设。
廉价的失败自身既富于价值,且作为关键成分构成了一个更复杂的优势,即对于多重可能性的探索。想象一下,一个广阔且尚未被测绘的沙漠,其间偶然分布几处绿洲。在这样一个地方旅行,你可能会守住所发现的第一个绿洲,原因仅仅是如果离开它而不能找到另一个绿洲,你将受到沉重的惩罚。你会希望有若干个人同时探索地形并互相交流他们的发现,但是你会需要许多资源,并且必须能包容各组之间极大差异的成功率。这个比喻中的环境有时被称为 “适应度景观”(fitness landscape)——意思就是对于任何问题或者目标,都有大面积的可能性可探索,但只有少数有价值的地点待发现。实际上,当一家公司或任何组织发现一个有效的策略,都会有很强的动力采用并坚持它。因为即使外边可能还有一个更好的策略,找到它的代价可能昂贵得令人却步。不过,对于那些所涉交易成本新近瓦解的工作,为探索适应度景观的各组提供基本资源的代价很小,即使相当数量的小组全都失败也不会带来多大惩罚。唐•泰普斯科特(Don TapscoU)和安东尼•威廉姆斯(Anlhony Williams)在《维基经济学》(Wikinomics)中讲述了一个逼真的适应度景观的故事。矿业公司GoldCoip将它在安大略省一处矿址的公司自有数据公之于众,以承诺奖金的方式挑战局外人说出下一个挖掘的地点。竞赛的参与者们建议了超过100处的勘探地址,有许多GoldCorp以前从未开采过,也有许多真的发掘出新的金矿。要探索适应度景观,大量利用局外人比仅依赖内部专家是更好的方法。
Meetup在谋求用户支持找出有用的新产品点子时,收获到这种探索的益处。Meetup不力图帮助任何个别群体取得成功,不指引用户探索可能的主题,从而总是能够发现新的群体而无需事先预测它们的存在,并且不必负担实验的成本。通过创建授权服务使各群组能够自己出发,Meetup得以比任何靠雇用并指挥员工来做的机构以更少的代价探索到适应度景观的更大部分。像整个生态系统一样运行的博客世界,把失败当做正常情况宽容对待的那些服务会创造出一种特殊价值,那些试图确保大部分行动都获得成功的机构则根本不可能做到这一点。
尝试的成本正是科斯理论中的交易成本和有关参与的幂律分布相交的地方。机构之所以存在,是因为它们相对于市场所能做到的情况降低了交易成本。然而,因为每个机构都需要某种正式架构来保持连贯性,又因为这种正式架构同样要求资源,对于相当数量具有潜在价值的行动,这些机构都不能够实行。对于这类行动,为尝试而投人的资源,其花费经常会大于成果。这接下来又意味着,即使对于有创新精神的公司,许多或许有利可图的行动都不会得到尝试,因为它们最终的成功难于完全预计。
分布式探索所利用的正是这道缺口:在每个人都能尝试任何事的世界里,即使有风险的东西也终将被验证。如果有足够大的用户群体在尝试有关事物,就会有高得多的机会发现开心的意外。
这就为商业提出一道难题。根据科斯的经济理论,一家公司不可能事事都尝试。企业一般管理费用是真真实实存在的,失败的成本也不可能要求员工承担,这些都必须由公司想办法吸收。因此,对等生产必发生在企业之外,企业也难于指引或者获取它的全部价值。
这种情况的发生部分是因为过滤与出版之间的成本对比发生了逆转。在传统的世界中,由于出版任何内容都需要成本,将好的东西预先从坏的中间过滤出来不仅是某种激励而且成为必需。而在开源世界,尝试某件事通常比做出正式的决定所费更少。
在商业上,生产任何东西都有投资成本,其危害就是造成接受次等品的系统倾向。如果你曾经为“不花冤枉钱”坚持看完一场你不特别喜欢的电影,你就已经体会到这个效应。钱已经花了,无论你是否接着看完《洛奇:第十七部》(Rocky ⅩⅤⅡ)[25]都不能改变这个事实。等你坐进了影院,你唯一能够决定花或者不花的就是你的时间。奇怪的是,许多人在这个时候都选择继续观看他们已经知道自己不喜欢的电影,部分原因是为了避免承认他们浪费了自己的钱。许多组织也是同样情况:由于连续性的系统倾向产生了对次等品的包容。
由于交易成本,各种组织难于雇用那些只做出一个重要贡献的员工——他们需要雇用的是那些日复一日都能产生好的想法的人。可是我们都知道,绝大多数人的头脑都没有如此多产,在任何领域中许多人都只会有一个到几个好的主意,如同绝大多数记录美人鱼游行或卡特里娜飓风的贡献者每人都只提交一张照片(幂律分布再次出现)。机构对于这种不均衡所采取的反应就是,忽略那些只做出一个好的贡献的人们。80/20的优化法则迫使公司通过忽略那些偶然的参与者而实现成果的最大化。结果,许多好的主意(或好的照片或好的音乐)根本不可能在机构的框架下获得,因为绝大多数机构在绝大多数时间都要的是“稳定的表现”而不是“杰出但缺乏连续性”。各种机构并非不愿意利用偶然参与者们的主意——问题是它们做不到。各种交易成本使得这么做过于昂贵。
2005年,微软英国公司的高级管理人员尼克•麦格拉斯(Nick McGrath)就Linux说了下面的话:
市场上有一种神话,以为有数十万人在为Linux的内核写代码。
这并非真实情况,这个数字应该是上百人,而不是数千。如果你看下为内核树(Linux的核心部分)贡献代码的人数,你会发现有相当数量的工作只是由少数几个人完成的。
如果仔细听,你会发现麦格拉斯在描述一个幂律分布——只有几百人而不是上千人,其中相当数量的工作是由少数几个人完成的。
从麦格拉斯的角度,很容易理解为什么开源模式对于设计一个操作系统是错误的方法:当你雇用了程序员,从薪资到医疗保险到休息室里的免费可乐,他们通过各种事消耗你的资源。在这种环境下,雇用最终只产生一个好想法的程序员就是明显的错误。然而员工们却不会耗尽Linux的资源,因为Limix不雇用任何人,它有的只是贡献者。处在微软的地位,它根本不可能发现某个好想法就当下采用,微软之为微软的交易成本阻止了那种情况的发生。拥有源代码看似包含明显的利益,实则背负着管理这种所有权的全部一般费用。当微软的竞争者们都是面临同样问题的商业性公司时,这些管理费用也就是做生意的成本,大型的公司可以通过规模经济降低一般管理费用的成本以获取竞争优势。,在另一方面,Linux的发展却不是基于公司所有权的概念,这就大大地减少了一般管理费用。Linux可以从任何人那里吸取某个好的想法,而且它经常这样做。它的出现,不仅为微软增加了—个新的竞争对手,而且改变了微软的竞争环境,因为不是所有的参赛者都同样地背负机构困境所造成的不利条件了。
之所以微软公司在2005年拼命地宣传这个观点:拥有精挑细选出来的专业人员,付钱给他们写软件,才是唯-1月智的开发模式。这么做大部分是因为它并没有其他的现实选择。微软运行在一个为80/20法则所定义的世界。去实施每个可能的想法的成本实在太高,因而微软必须最充分地利用自己的资源。而开源的开发模式则将80/20法则翻转过来,问“为什么要丢掉剩下的20%?”对于那些只有一个好想法的个人,如果交易成本对于采用他们的成果形成阻碍(商业情景下的确是这样),则一个可能的对策就是,根本性地调整贡献者之间的关系从而降低交易成本。
开源运动引人了这种工作方式,而这种聚合个体的贡献使之产生更大的价值的模式已经普及开来。Groklaw就是它扩展到其他领域的一个例子,这个网站主要在讨论与数码领域相关的法律事宜。当软件出版商圣克鲁斯组织(Santa Cruz Organization,SCO)威胁将对IBM提出专利诉讼,声称IBM公司向顾客提供Linux操作系统侵犯了SCO的专利。他们明显地希望以下事情发生:由于既不想要有打官司的成本又不想有失败的可能,IBM要么购买专利许可,要么干脆将SCO买下来。然而IBM却跟SCO上了法庭,并着手复杂的程序,揭露和收集有关SCO的专利及其法律论据的材料。SCO没有预料到的是,由一名叫帕米拉•琼斯(Pamela Jones)的律师助理运营的网站Groklaw会成为这场对抗中的某种第三方角色。当IBM向SCO摊牌使后者提起诉讼,Gmklaw就将所提交的各种法律文件都发布出来并做出解释。这就使得凡对于此案感兴趣的人都将Groldaw视为必读。被琼斯聚集起来的知识渊博的观众们开始就案件发表评论,其中包括从前为SCO服务的工程师,他们的评论明明白白地与SCO在审讯中所宣称的案情版本相抵触而最具毁灭效果。Ooklaw所起的作用如同某种分布式且免费的法庭之友意见书[26],从而揭露出对于IBM来说以其他任何方式都难于得到或代价过于昂贵的材料。对这样一个诉讼,通常的走向会是SCO和IBM在法庭上对抗,开源社区在一旁观看。Groklaw则做到将社群组织起来,并真正地改变了案件的形势。
合作成为基础设施
Free-for-all[27]并非如字面表达的对所有人都免费,它是混乱的意思,正象征着集体生活所产生的两难处境。太多自由加上太少管理通常造成这种混战局面。然而现在情况不一样了。采用正确的协作工具,并与用户订立正确的协议,就可能让一大群人共同为一个对所有人免费的项目工作。少数几名开发人员和1000名偶然的贡献者一起就能开发出操作系统来,这就应该令麦格拉斯感到惊恐,更不用说所开发的系统成功到堪与微软的商业产品抗衡。他所误解(或至少公开地曲解)的是,之所以可能发生少数几位高度活跃的开发人员和1000名偶然的贡献者一起工作这种不均衡的状况,正是因为Linux以微软做不到的方式降低了发现并吸收好想法的门槛。(它降低了探索适应度景观的成本。微软的在线百科全书项目Encarta未能获得大量用户贡献的内容,这恰恰与维基百科形成对比。)这个问题并不只对微软存在,如同太阳计算机系统公司的创始人之一比尔•乔伊(BillJoy)所说的,“不管你是谁,绝大多数聪明人都在为别的人工作。”而开源模式所做的就是让所有这些人能一起工作。这种模式已经传播到其他领域,其中最关键的领域之一就是公共健康。
喜欢它的那些人会彼此关照吗
20世纪90年代中期,当万维网的商业应用初现曙光时,我在曼哈顿一间叫Site Specific的小网页设计公司里主管技术。我们共12个人,在创始人的起居室里工作。首先我们把AT&T公司发展成一名客户。合同上的油墨一干,AT&T就开始让它的工程师过来就新网站的编程问题一起工作。当我们和他们坐下来开始谈话,文化上的冲突就立刻发生了。Site Specific里绝大多数人都是20来岁(我31岁,已经在公司里最年长了),而AT&T那些人(清一色的男人)都是头发灰白的老员工,他们为AT&T服务的时间比我们中绝大多数人从大学毕业的时间还要长。
我们第一次真正的争执是关于编程语言(它经常造成技术人员之间的分歧)。AT&T使用的是一种叫C++的达到行业强度级别的语言,我们则使用一种叫Ped的简单得多的语言。AT&T的工程师对此大为惊骇,双方就两种语言各自的优点展开争论,然而对于他们来说真正关键的问题在于客户支持。
是由AT&T发明的,如果软件开发人员遇到困难,有现成的雇员为他们提供支持。“那我们是从哪里获得Perl的商业级客户支持呢?”这些人问。我们告诉他们,从来都未有过,这又进一步引起他们的震惊:“我们得不到任何支持?”“我们不是那样说的,”我们回答,“我们只是没有商业级别的客户支持,而是通过Ped社区得到它。”
这种回答的效果如同我们说,“我们从一只香蕉里得到了星期四,”因为将“支持”和“社区”放在同一个句子里对他们完全没有意义,社区是那种过于情感化的东西,而支持则是要人付钱买的。我们解释说有个叫comp.lang.perl,misc的Perl程序员讨论组,Perl社区里的人经常都到那儿,提出或者回答问题。我们指出商业级支持经常太慢,而Peri的讨论组上从早到晚都有人回答问题。我们还解释当新来的人参与的时间足够长,知识也丰富起来,也会开始回答问题,这样尽管整个系统不是商业性的,却能够自我持续发展。然而AT&T这些人不相信我们。我们甚至演示给他们看:我们想出一个比较困难的问题发布到comp.lang.perl,misc讨论组上,不到与AT&T的人会议结束就有人回答了。但是即便这样也未能使他们信服,他们不在乎这样在事实上是否行得通,因为他们已确信这样在理论上行不通。像一个自我组织的社区中并没有明确的协议,这么易于消散的事物不可能提供支持,支持应该来自于更坚实的那些东西,比如与一家公司的合同。
那场争执发生在12年前。今天又在发生什么呢?由于社会性工具的火爆,Perl社区现在有很多地方可以聚会了,comp.lang.perl,miw不再是社区的中心,然而人们仍然在那儿提出和回答问题,它干得不错。AT&T相形而下就没这么好了。即便一轮接一轮地大批裁员并尝试替代战略,整个公司还是缩减到无足轻重,直至在2005年以160亿美元的价格将自己出卖给另一家电话公司,其价值仅仅是它在雇用我们的那一年即1995年的1/5。Perl到今天仍是有生命力的编程语言,因为有几百万人都喜爱它,并且更重要的是,在Perl的环境下互相关爱。社区中的成员倾听彼此的问题并通过做出回答来相互关照。这并非纯粹的利他主义,教的人学了两遍,回答问题的人则在社区中得到更好的名声,而这种分布式和有延时的总体偿还模式——今天我关照你,以后就会有人关照我——是形成社会资本的非常实际的方法,而正是社会资本使Perl保持了效用。从1995—2005年,Perl作为一个可行的体系比AT&T表现更好,这是因为结果证明社区的兴趣要比商业架构能更有力地预示长久的生命力。
AT&T对于社区抱有疑虑是正确的,后者在历史上从来不能确保长久的存活。而共有的兴趣现在能够创造很长的生命这一事实才使得当前的变革具有历史意义。这正是开源生态系统的秘密,如果延伸开来,也是现在被试验的各种大型、长效的分享、协作和集体行动等形式的秘密。由于任何人都可尝试任何事,该失败的项目就会迅速失败,而做那些项目的人可以同样迅速地转移到看得出能成功的那些事上来。不同于商业环境下企业既有动机隐藏成功(为保持竞争优势),又有动机掩盖失败(防止被识破弱点),开源项目能将成功广而告之,也能失败得毫无代价。这样的安排使得成功的项目周围能够形成持续发展的兴趣社区。
开源运动教给我们社区性的东西至少可以和商业性的东西一样稳定持久。对于任何一款软件,比起“它的商业模式是什么”,对于“喜欢它的那些人会彼此关照吗”的回答证明能够更好地预示其成功与否。当世界上的其他人都能用到先前技术人员才有的工具,这种模式就在到处出现,并同时改变着我们的社会。