梦断代码阅读笔记2
在本书第一章里,作者为我们介绍了一些关于开源的历史和开源的开发方式。同时作者为我们对比了传统开发模式与开源开发的优劣之处。这两者的对比能让我们对于软件开发模式有一个更深刻的认识。
开源不仅给出了一种生产和分发软件的替代性经济基础方案;它还能彻底改变软件开发的具体过程——将其从少数隐士手里拿出来,散播到广大人群中。程序员瑞蒙 德在论文《大教堂与集市》中将两种开发方式做了一个有趣的比喻:最重要的软件应该需要像建教堂一般,由独立的巫师或一队相互隔离的魔法师精心打造,在面世 之前绝对不发布beat版本。而开源开发的风格——早发布、多发布、全委托、尽开放——让我吃惊。这里不存在静穆、虔诚的教堂式开发——相反,Linux 社群看似一个乱哄哄的大集市,铺设了各种日程和手法。要从中得到前后一致和稳定的系统,简直只能指望奇迹再三出现。可事实上这种集市风格看来行之有效,真 令人震惊。
瑞蒙德在这些开源工作中看到了超越布鲁克斯法则的力量。这种新的开发模式可集众程序员之长,且免于让项目深陷泥潭。瑞蒙德之处其中的两个要诀:其一,低成 本、广泛的接入像互联网那样的网络,让开发者之间建立起迅速、可信的通讯渠道,储存可被开放访问的共享知识和代码池。其二,围绕一种领导方式,形成合作团 队的良好风气,欢迎新成员的加入,鼓励成员做出贡献,同时尽可能增加合格成员。一旦具备这些条件,就能彻底改进在程序中寻找和修正缺陷的过程。与其害怕竞 争对手窃取代码而秘不示人,不如将其展示给全世界,邀请同道加入。而且假使你独具魅力,懂得如何管理一群开发者,或许还能组织起一个自循环的集智体系。瑞 蒙德还表达了一个李纳斯法则:“眼球足够多,缺陷无处躲”。他由此对布鲁克斯法则提出不同意见:“让懂得怀柔政策的开发协调人员拥有至少像互联网那样好的 沟通媒介,多人必好过一人”。