【iShout】大教堂理论与软件生态环境的构建
这是 Lacob 重读《大教堂与集市》一书后的感想,当年的超前理念,已经被广泛接受,改变了整个软件行业。
Eric S. Raymond 在 1999 年发表了《大教堂与集市》(The Cathedral and the Bazaar)一书,书中的例子在今天已成为开源软件项目运营的绝好范例,作者从 Linux 内核和 fetchmail 软件的开发过程谈起,描述了当时成功的开源软件项目是如何站稳脚跟并取得成功的。
十年后的今天,我们在重读这本书的时候,会发现 Eric S. Raymond “大教堂理论” 的影响力早已走出开源软件这个特定领域,深深影响了软件工程,甚至可以说软件工业的方方面面。当时书中的一些非常超前的理念,在今天不仅被广泛接受,甚至成了一些公司聚揽人气的招牌,例如下面一段:
“Linus 世界的行为更象一个自由市场或生态系统,由一大群自私的个体组成,它们试图取得(自己)最大的实效,在这个过程中产生了比任何一种中央计划都细致和高效的自发改进的结果,所以,这里就是寻找 “理解的准则” 的地方。”
在那个时代,作者认为 Linux 就是一个 “生态系统”,人们带着各种目的进入这个圈子,为的是找到或制造自己想要的,这是一种组织运作形式,而现在看来,这在当时非常怪异的运作方式已经随处可见。
Eric 还认为,开源软件项目应当以大教堂模式开始,以集市模式发展。而一个开源软件生态系统的构建,需要遵循如下原则:
一、开始时要采用大教堂模式,而不是市集模式;
二、用规约条款代替命令;
三、组织要按照规约条款进行松散的结合;
四、要有目标地吸引特定的开发者;
五、鼓励开发者开发自己感兴趣的那些软件;
六、按兴趣开发的软件其平均质量会较高;
七、要习惯向别人寻求帮助,不要什么都自己做;
八、保持最简状态;
九、要将用户视为宝贵的资源;
十、在宣传上,要勾画一个美好的未来,尽管当下什么都没有;
十一、领导者不需要本身就拥有良好的设计,需要的是得到和发现良好的设计;
十二、领导者要抑制自己变得太聪明;
十三、市集模式中需要强大的协调能力,顺畅的沟通渠道;
十四、要不断维持开发者的兴趣;
十五、要鼓励开发者进行探索;
十六、市集模式中,Brooks 定律不起作用;
十七、目标的达成是众多愿望聚合的结果;
作者在书中提到的以上内容,每一条单独拿出来都可以举出很多成功案例,比如当前的 Android 系统,可以对照上面的规则,看看有多少符合的地方。
在开源生态系统的建设中,个体往往各行其是,围绕着核心理念进行目的不同的工作,并在发展中由社区自发进行选择以及融合,从而实现螺旋形上升。但过去的历史告诉我们,这样的模式需要有核心团队,或者说一个主导者,才能确保方向不会错误,现代非常成功的开源生态系统基本都是这样的组织结构。
为什么现在我们要重提这个理论?当前各大互联网公司都热衷于建立自己的开放、或者半开放平台,而这些平台的创建都应该参考这些规则,从开源软件的历程中吸取教训,过高的控制欲往往会破坏开发者的热情,对平台建设不利。
重看这本书,我们再次意识到,阅读和写作是两件非常重要的事情,虽然不一定能改变世界,但改变一个行业还是有可能的。