开源的力量(读《大教堂与集市》)

上周稍微一懒就没有写文章,鄙视一下自己。自律是个很有意思的锻炼。看到自己的惰性也是正确认识自己的一部分(这个理由找的真是清新脱俗 Lol)

这周介绍开源运动享誉盛名的一本书《大教堂与集市》,作者是Eric Raymond,著名的开源运动旗手。这本书是他在1997年到2003年的几篇长文的汇编。虽然是不同时期的文章汇编而成,但是这本书前后的逻辑线还是很连贯,比起一些专栏作家的“文集型”出版物要良心得多。

Eric Raymond

本书的一个核心议题是,Linux社区的“开放到几乎是混乱”的合作模式,竟然可以构建出这样一个世界级安全性、稳定性、扩展性的操作系统,这背后的原因是什么。正如作者所说,对于一般人

既稳定又一致的一个操作系统就这么诞生了,这真是奇迹中的奇迹。

从这个议题出发,作者对比了两种不同的开发模式:“大教堂”模式:大多数闭源商业软件的模式。软件的开发过程由一个专属团队掌控;“集市”模式:Linux为代表的模式。源代码在开发过程中即在互联网上公开,任何人都可以参与开发、构建和检查。

作者深信,Linux的成功,和其采用的“集市”模式紧密相关,并使用自己的一个开源项目fetchmail作为实验,分析这一模式下软件项目的开发、演化和维护过程。

我打乱文章的顺序总结一下“集市”模式的成功的原因,主要有两个方面。

第一是开发层面。书中提到作者和一位资深的软件开发管理者的交流,指出“大教堂”模式中对资源消耗巨大的“软件开发管理”的五个功能:

1. 明确目标让大家朝同一个方向努力;

2. 监督并确保细节不被遗漏;

3. 激励人们去做那些乏味但必要的“体力活”;

4. 组织人员部署并获得最佳生产力;

5. 调配项目所需的资源;

然后做着提出:

显然所有这些目标都是有价值的,但是在开源模式及其所在的社会语境中,人们会惊奇的发现这些目标毫无意义

这个观点的主要原因是,由于在开源世界中的项目参与大都是技术能力较强并且对所参与的项目有着很强的自主工作意愿。这些人是因为问题自身的魅力而却解决它的。因此在强烈的主观能动性的驱使下,加上自身的工作能力,成功的开源项目聚集到的往往是任何的商业软件无法组建的战斗力极强的明星开发团队。这样的团队内部的相互合作与碰撞,产生的成果完全可能是一群为了保住饭碗而工作的程序员的上百倍。

正如Linus Torvalds的传记标题《Just for fun》叙述的,“乐趣”是激发伟大的成功的原动力。

第二是测试和质量层面。Brooks在软件工程著作《人月神话》一书中曾经提到过一个现象:“用户越多,bug越多”。这是因为增加用户就会增加程序被检验的方式。在“集市”模式中,由于用户同时可以看到源码,这种效应会被放大,他们不仅可以找到bug,而且会提供极高质量的直接关联到源码的分析型bug报告。如此一来,当参与者足够多时,“集市”模式会行程一个极其有效的QA系统。

当然,“集市”模式的成功也是有条件的。理想状态下,这个项目必须有一个同时也是核心用户的开发社区,从一个可运行的原型系统而不能从0开始,项目的领导人需要极强的协调和够沟通能力,并且有快速识别设计、实现的好坏的嗅觉等等。这些也解释了为什么成功的开源项目大多是内核、类库、框架、编辑器,而不是办公软件、绘图软件等等的专业软件。

在后续的篇章里,一个比较重要的部分在“魔法锅”一节中。作者通过对软件的销售和增值方式进行分析,进一步给“集市”模式照亮了无比光明的未来。简单说来,作者认为有数据表明,超过75%的程序员报酬都被支付给了维护工作而不是初始的开发工作。而开放源代码的“集市”模式,虽然会减少软件的一次性销售价值,却可以极大的减少软件的维护成本,保证软件的质量始终维持在一个很高的水准上。企业,则可以通过提供用户界面、系统集成等增值服务来获得利润。

看完这本书,我不由得把书里的内容和自己工作的企业和软件开发项目作了对比。不得不说这本书的观点是技术人员的心声、也是愿景。技术人员从自己的经历和认识角度出发,往往会同意好的程序员是平庸程序员生产力的几十上百倍;快乐的程序员比生活所迫的程序员能做出更好的产品,这一类的观点。相反很多产品或者商业出身的管理者,由于终身没有写过一行代码,很难从这样的角度出发考虑问题。他们往往会觉得,任何的程序员都是可以替代的,如果你不高兴,我也没必要哄着你高兴,你可以继续不高兴,或者离职。这两种观点造成了很多企业一线程序员和管理者的矛盾。坦白说我相信这只是又一出现代版的“盲人摸象”。管理者站在资本的角度,一线技术人员则从技术的角度。两者的观点是矛盾的,但是确能合在一起更好的描述软件开发的全貌。这就好像系统工程里对复杂系统的建模,讲究使用不同维度不同角度的多个模型,来描述系统的行为。

最近工作中正好参与到一个6000+ star的开源项目中,在这个时候翻阅了这本书,开启了很多不同的视角。希望自己日后能对开源方式和软件工程的这种种矛盾与困难有更深刻的理解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,376评论 25 707
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,074评论 6 244
  • 今天睡到了中午,从下午开始一直就在画画,秘密花园涂色书,真的是够花费时间的。现在是晚上九点半,才刚涂完半个多钟头。...
    幸运猪阅读 162评论 0 0
  • 沙漠中的饭店——三毛乐得当灰姑娘的自由,为心爱的人做一份美餐,这大约也是她能想到的最浪漫的事。她可以极富创意,运用...
    微笑的成长空间阅读 255评论 0 0
  • 就像一座围墙,围强外的人想进去,围墙里的人想出来。人们对未知的世界似乎总是充满着好奇与憧憬,总觉着别人...
    爱吃橙子的周周阅读 255评论 2 1