对很多人来说,开源社区的成功看起来像魔法一样不可思议,免费的高质量软件如果能不断生产出来固然很好,但在充满竞争和资源短缺的真实世界里,这能持续下去吗。
开源是怎么做到的?
对于开发者来说,他们为什么会投入大量个人精力在一件看起来没有回报的工作中?对于企业主来说,将代码开源比闭源能带来更多的经济效益吗?对于开源项目来说,如何才能保证其充满氧气和营养的run起来?《大教堂与集市》的作者Eric.S.Raymond(以下简称ESR)是开源软件运动的旗手。他是INTERCAL编程语言的主要创作者之一,曾经为EMACS编辑器作出贡献。ESR还是著名的Fetchmail程序的作者。他还编写了一个最初用于Linux内核设置的设置程序。《大教堂与集市》一书包括了著名的“Eric.S.Raymond五部曲”,这“五部曲”第一次总结了自由软件和Linux的成功经验,第一次将黑客文化、自由软件运动及其发展规律总结成文,更是第一次将开源社区背后的运行机理用社会学、心理学、经济学和人类学加以解释,并以浅显易懂的方式呈现出来。可以说ESR的这五部曲解答了参与开源中面对的方方面面的问题,更预测了可能出现的问题,并给出可行的解决的方案。“阅读原文”中我附上了《大教堂与集市》一书的电子版本下载链接,大家可自行下载阅读,保证受益匪浅。如果没有时间,或者想快速获得我在文端提出的几个问题的答案的同学,可以继续阅读接下来的内容,我将我认为最有启发性的段落简单整合,刨除了一些集体无意识的基础理论,让大家可以迅速的get到开源的神奇力量。
1黑客和骇客有什么区别?在书中,作者将优秀的程序开发者统一称为黑客,要解释一下黑客(hacker)不是骇客(cracker)。黑客是褒义的,黑客构建了互联网,黑客造就了现如今的UNIX操作系统,黑客运转起了Usenet,黑客让WWW发挥作用。如果你是这个文化的一部分,如果你对这个社区有贡献,社区中其他人知道你并称你为黑客,那你就是一名黑客。有一群人高调声称自己是黑客,但他们并不是。这些人(大多是些毛头小子)的主要目的是攻入他人计算机或者破解电话系统。真正的黑客称他们为“骇客”(cracker),而且完全不想搭理他们。多数真正的黑客认为,骇客懒惰,缺乏责任感,而且不是很聪明,如果你的目标是能够攻破安全系统,那不会让你成为黑客,就好比学会热线(hotwire)发动汽车并不会让你成为汽车工程师一样。遗憾的是,很多记者和作者错误地使用“黑客”一词来描述骇客,这使得真正的黑客极为不满。两者最根本的区别是:黑客搞建设,骇客搞破坏。
2对于开发者来说,他们为什么会投入大量个人精力在一件看起来没有回报的开源项目中?对于程序员来说,在同侪(其它程序员)中拥有好名声、获得声望是非常有益的,甚至可以说,同行对于你的认可程度决定了你的价值。首先,也是最明显的一点,在同侪中拥有好名声是一种最基本的激励,出于人类进化上的原因,我们都渴望体验它。第二,声誉是很好的吸引他人注意和合作的途径。如果一个人慷慨、智慧、公平交易、有领导能力,或者有其他优秀品质,就更容易让人相信和他合作能获得好处。而这些品质在一个开源项目中可以体现。第三,如果你所处的礼物经济和交换经济或命令体系互相关联交织,你的名声就可能传播到后两种环境中,使你在那里获得更高的地位。简单解释下,如果你在一家公司中做程序员,同时你也从事开源项目,那么开源项目的成功也能帮助你未来获得更高的薪资待遇和权力地位。比起“真实世界”,黑客文化中的一些特殊情况使声誉有着更高的价值。这是因为写程序这件事情,不像实物或者金钱,其价值体现很不明显,也很难客观区分的好坏,所以,黑客的地位竞争能否成功,很微妙地取决于同侪们挑剔的评价。
3在一个开源项目中,需要怎么做、做什么会让你更加牛逼?总体的牛逼级别如下排序:做一个功能被纳入发行版本中做一个牛逼的功能还被发行版本收录重大或难以寻找的bug修补简单的调试和写文档评判具体标准如下:a.如果它不能像我所预期的那样工作,那就不是好的——不管它多么聪明和有原创性。这条规则使得开源软件倾向于长期停留在beta版,开发者只有在确信软件不会有很多问题时,才会发布1.0版。开源世界的1.0版意味“开发者愿意拿自己的名誉赌它好使”,而闭源世界的1.0版则意味着“如果你很谨慎,不要用这版”。b.拓展性工作要比在某功能内(对现有作品)的重复性工作好。对这条规则的简单理解是:原创性工作比功能复制要好。但实际上不完全是,如果你复制的是闭源软件的功能,并借此破解了封闭的协议或格式,使得这个领域在开源世界里也可使用,那你的工作就和原创作品一样值得赞许。c.能进入主要发行版的作品比不能进入的好。在所有主要发行版中都包含的作品最令人尊敬。主要发行版不仅包括大的Linux发行版如RedHat、Debian、Caldera和SuSE,也包括其他一些发行版——如BSD发行版或自由软件基金源码集,由于发行者会维护自己的声誉,其质量也自然能得到保证。d.“使用”是最真实的赞美,类别杀手比同类竞争者好。信任别人的判断是同侪评价的基础。这很正常,因为没人有时间去仔细评判所有可能的选择,所以人们会认为:多数人使用的作品优于那些少数人使用的。如果作品好到没人再想使用其他备选,作者将会获得巨大的威望。那些被最广泛使用的原创型类别杀手,会被纳入所有的主要发行版中,并获得最大可能的同侪尊重。成功做到这点超过一次的人,将会被人们半开玩笑、半认真地称为“大神”(demigods)。e.相比那些只挑有趣和简单工作的人,长期致力于艰苦和乏味工作(如调试、写文档)的人更令人钦佩。这条规则描述社区如何回报那些黑客天生不愿意做但实属必要的工作,某种程度上它和下面这条矛盾:f.重要的功能扩展比低层次的修补好。这条规则似乎是针对一次性工作的评价。相对于修补bug而言,给软件增加功能特性有可能得到更多回报——除非这个bug异常令人厌恶或者难以寻找,因为将这种bug找出来本身就证明了非凡的技术和才能。但当这些工作是长期行为的话,一个长期白癜风能治好了吗白癜风初期怎么治