在聚会上,当我告诉别人我写自由软件时,人们不再是一副茫然的表情。他们会说,“哦,开源软件──就像linux?”我使劲地点头:"对!我就是做那个的。"不再被凉在一边的感觉真好。要在过去,下面的一个问题通常会是这个:“你靠那个怎么挣钱?”为了回答他们,我必须概述开源软件的经济学:有一些组织对某个特定软件的存在感兴趣,但他们不需要卖拷贝,而是确保这些软件能够免费获得并且有人维护,能够作为工具而不是商品使用。
然而之后的问题不再总是同钱有关。开源软件[1]的商业案例不再是如此神秘,许多的非编程人士已经了解到──或至少不再惊奇──全职做开源的人也不是没有。于是,我越来越频繁地被问到的第二个问题是:“那么,开源软件是怎么运作的?”
我手头没有现成的满意的答案,更困难之处在于当我试图给出一个时,我意识到它是一个多么复杂的题目。运行一个自由软件项目完全不同于商业运作(想像一下必须时常同大部分你从未谋面的志愿者们商讨产品的性能的情景!)。由于某些原因,也和传统的非盈利机构不同,也不同于一个政府组织。它和以上三者都有相似之处,但我谨慎地下了一个结论,自由软件是 独一无二的(译者注:原文Sui generis是一个古拉丁语词汇,意指属于自己的类型和独一无二的特点。这个学院派哲学的产物表示一种理念,意指一种无法被其他概念容纳的实物或是事实。)。它可以和很多事情进行比较,但是没有一个能划等号。 一个自由软件项目能被创造出来,并且会受到对此感兴趣的社团的强烈影响。但它不属于任何一个个人或团体,会源源不断从某些地方冒出对此感兴趣的人,所以它不会被任何人单方面地终止。每个人都有无限的权利,每个人又都没有权利。它形成了这样一种有趣的动态平衡。
这就是为何我要写此书的原因。自由软件运动已经进化出了一种独特的文化,一种信奉个人能够让软件做任何事情、自由为中心信条的思想。这种自由的结果并不是让每个人对代码各行其事,而是是热心的合作。实际上,在合作中竞争也是自由软件运动中最有价值的技巧之一。管理这样的项目就是处理一堆庞大的合作关系,在这里个人能力不仅是和他人一起工作,而且包括通过一条崭新的合作方式对软件做出实际的贡献。这本书试图描述实行这种方式所需要的技术,它不会包含全部,但却是重要的起步。
优秀的自由软件本身就是极有价值的,我希望那些在本书中寻找创造成功软件方法的读者能够得到满意的答案。除此之外,我想传达那种纯粹的快乐,来自同充满活力的开源软件开发团队的合作,来自通过开源软件所鼓励的直接方式与用户的交流。成为一个成功的自由软件项目的一分子是有趣的,这才是驱动整个系统运转的终极动力。