在最广范围内发起协作

    数字化存档一个有趣的效果就是,许多随意的谈话被获取并为后世保存下来。当人们回看时,会发现某些信息看似简单,其重要性却只有随着时间推移才显现出来。软件程序员的世界曾经发出的最重要的一个信息正有这种随意的感觉,但它却引发了一场革命。

    1991年,一个叫林纳斯·托瓦兹(Linus Torvalds)的年轻芬兰程序员在一个讨论组上发表了一条短短的信息,主题是关于操作系统的,即运行电脑的基础软件。在短信中,他宣布将尝试开发一个简单并且自由授权的系统。

    我在做一个(免费的)操作系统(只是个人爱好,不会像GNU)[1]工程那样大型、专业)……我想了解一下大多数人都希望有哪些功能。欢迎你提出任何建议,不过不能保证我会把它们全都实施∶-)

    托瓦兹当天所提议的操作系统后来演变成Linux,现在这一系统已经运行在约占全世界40%的服务器(即大型电脑)上。Linux操作系统的存在几乎单枪匹马地阻止了微软公司像统治个人电脑市场那样统治服务器市场。托瓦兹的短短留言中已经包含了对于Linux未来成功的提示,带着后见之明我们才能读出它来。

    他的第一句话即宣布这个新项目将是免费的。在后来的一条信息中,他特别说明将采用一种叫通用公共许可证(the GNU Public License,GPL)[2])的特殊软件授权,来确保此操作系统保持自由和免费。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年对于主张这类自由的人来说是个糟糕的时间,当时计算机产业的重大新闻是个人电脑的来临,而且恰恰是在“不包含源代码”的模式下发行的。在自由软件基金会成立后的第一个10年中,它似乎在打一场注定失败的战争。以GPL许可证发布的软件只占全世界软件总量微不足道的一小部分,并且都是在精通技术的小型用户群中使用,而无缘于迅猛增长的家庭和企业用户。到20世纪80年代末,自由软件运动看上去将只能局限在微小的市场隙缝中。

    大体而言,那种情况实际并未发生。因为GPL许可证对于保持一群松散程度前所未有的协作者十分有用,例如一直为Linux工作的全球性部落。从自由软件基金会的成立到托瓦兹第一次发出信息几乎过去了将近20年时间。为什么斯托曼的愿景没能更早地传播开来?又为什么,经历10年的最低限度采用之后,它在20世纪90年代变成了全球性现象?在那段时间,无论是关于软件的看法还是支持自由的主张都没有太多变化。真正的改变在于,程序员们有了一个全球性的媒介可以互相交流。

    Linux操作系统就是第一证据。当托瓦兹宣布他要做一个小型的操作系统,即刻就收到来自奥地利、冰岛、美国、芬兰和英国的回复,24小时之内就集合起全球范围内可能的贡献者。几个月内,操作系统的简单版本就已上线运行,关于Linux的交流已经扩大到来自巴西、加拿大、澳大利亚、德国和荷兰的个人。如果在20世纪80年代,这些事情发生的可能性实在会小得多,虽然那时这些国家都有人上网,人数却并不多。而多就是不同,互联网用户的密集程度增加使得20世纪90年代早期对于自由软件的发展,比先前任何年代都提供了更成熟的时机。

    如埃里克·雷蒙德(Eric Raymond)在将开源软件介绍给全世界的《大教堂与市集》(The Cathedral and the Bazaar)一文中写道:

    Linux是第一个做出有意识的努力,并且成功地将整个世界变为自己人才储备的项目。我不认为Linux的酝酿期刚好与万维网的诞生重合只是一个巧合,Linux于1993~1994年间度过幼年,同时期……主流世界对于互联网兴趣的爆发,也不是一个巧合。互联网普遍深入后产生的新规则,托瓦兹是懂得如何利用它的第一人。

    换言之,在设立自由软件基金会和Linux创建之间所发生的社会变化,正是波士顿天主教会前后两次性侵犯丑闻之间社会所经历的变化的前导,对于1999年、2007年两次飞机航班滞留之间社会所发生的改变也可以作如是观。群体协调交易成本的门槛被跨过,在更远处,一种新的工作方式从不可想象转变为举手之劳。当交易成本下降,需要有人识别出新情势下出现的可能性。托瓦兹就是这样的一个人。

    尽管自由软件基金会所开拓的许多方法和工具都在Linux创建时得到采用,Linux的工作方法却与GNU工程的方法有根本的不同。斯托曼是史上最有才华的程序员之一,GNU工程的许多内容都是由他单独或在少数几个人的帮助下写出来的。与之对照的是,托瓦兹对于征求信息的狂热和不加选择,但在确定重视哪些建议上颇为明智。如同他在第一份信息里提到的,“我不保证会把它们全都实施。”愿意广泛听取程序员们的意见,而以精英式领导严酷地审判哪些提议值得被包括进来,这与自由软件基金会的工作方法是根本性的决裂。这种变化正是拜交易成本的降低所赐,它使志趣相投的人在缺乏传统组织结构的情况下聚集到一起。这不仅是对于自由的哲学承诺,更是协作规模使Linux成为成功的软件,就像灯塔一样照亮了其他的开源项目。