教堂与集市

本书平装本的封面 《...

本书平装本的封面

大教堂与市集》(The Cathedral and the Bazaar)是埃里克·斯蒂芬·雷蒙(Eric Steven Raymond)所撰写的软件工程方法论。以Linux的核心开发过程以及作者自己主持开发的开放源代码软件──Fetchmail为讨论案例。文章在1997年5月27日发表,并在1999年出版成书。

简介

本书讨论两种不同的自由软件开发模式:

  • 大教堂模式(The Cathedral model):源代码在软件发行后公开,但在软件的每个版本开发过程中是由一个专属的团队所控管的。作者以GNU Emacs及GCC这两软件为例。
  • 市集模式(The Bazaar model):源代码在开发过程中即在互联网上公开,供人查看及开发。作者以Linux核心的创始者林纳斯·托瓦兹带领Linux核心的开发为例,亦引用fetchmail的开发为例。

此书的要义是“让够多人看到源代码,错误将无所遁形”(Given enough eyeballs, all bugs are shallow)林纳斯定律。作者表示大教堂模式的软件开发让程序调试的时间大幅增加,因为只有少数的开发者可参与修改工作。市集模式则相反。

从开发自由软件所学到的教训

雷蒙指出了19点在他开发多个软件项目中所学到的 "教训"。每个学到的教训都跟开放软件所使用的最佳实践有关:

  1. 好软件都是起源于程序发展者要解决切身之痛。
  2. 优秀的程序师知道要写程序,伟大的程序师知道要改写(和重复利用)程序。
  3. 计划好如何舍弃一条路吧,你迟早会想尽办法这么做的(引自 Frederick Brooks'《人月神话:软件项目管理之道》)。
  4. 抱持正确的态度,就会发现有趣的问题。
  5. 当你对一个问题不再感兴趣时,你最后的责任就是找位能胜任的接棒人。
  6. 把用户视为共同开发者来对待,可以让你伤最少的脑筋,但做到源代码的快速改善和有效率地调试。
  7. 尽早且经常发表新版本,并且倾听用户的意见。
  8. 在一群足够多的 beta 测试者与共同开发者的情况下,几乎程序中的每一个问题都可以很快地找出来,并且由某个人很直觉的解决。
  9. 聪明的数据结构配上笨拙的代码要比相反的组合好。
  10. 如果你视 beta 版测试者如同你最珍贵的资源,那么他们会以此做为回报。
  11. 体认用户提供的巧思,以获取好点子,有时候越后到的越好。
  12. 通常,最适切和最有创意的解题法来自于发觉自己对问题原先的观念是错误的。
  13. 设计上完美,不是“没有东西能再被加入”,而是“没有东西能再被移出”。
  14. 任何的工具以我们所知道的方法来使用都会有用,但一个真正了不起的工具会以你从未想过的使用方法来发挥它的功能。
  15. 写作任何的通信闸软件时,要尽可能地不去扰动到通信的资料流 -- 并且绝对不要丢掉其中任何的信息,除非接收方强迫你这么做。
  16. 当你设计的语言不是严谨到“Turing-complete”,你可以采用比较平易的语法。
  17. 一个保密系统是否安全依存于它隐藏的秘密,注意不要有“虚拟秘密”。
  18. 解决一个有趣的问题,由找到一个你觉得有趣的问题开始。
  19. 假如项目发展协调者拥有至少跟互联网一样好的媒体,而他也不靠强制力来领导,那么一群人必定胜过一个人。

影响

此文让大部分的开放源代码及自由软件的开发项目采用市集模式,甚至原来采用大教堂模式的GNU Emacs及GCC也是如此。Netscape网页浏览器后来发布源代码,并启动Mozilla项目,也或多或少受到这篇文章的启发。

大教堂与市集也被延伸到非电脑软件的开发上面。例如维基百科就是市集模式,而Nupedia与大英百科全书就是大教堂模式。

出版

欧莱礼出版社于1999年发行此书的创举是,首次商业印刷出版的书以Creative Commons授权模式出版。

本书(原文)的国际标准书号是 ISBN 978-1-56592-724-7(精装本)、ISBN 978-0-596-00108-7(平装本)。

本文来自作者[admin]投稿,不代表qlhej号立场,如若转载,请注明出处:https://qlhej.cn/wiki/202507-1443.html

(5)

文章推荐

  • 生态抗议者在威廉和凯特家附近举行温莎示威活动

      XR组织“灭绝叛乱”开始在家园公园举行抗议活动,计划在威廉王子和凯特王妃的家附近持续三天。XR在网站上宣传为期三天的示威活动,选择王室住所作为背景,象征急需变革的过时制度。温莎议员杰克·兰金对活动可能带来的“重大干扰”表示担忧,呼吁准备好采取“法律行动”。抗议活动组织者表示,周末

    2025年08月02日
    0
  • 分享实测攻略“网易棋牌是否可以用挂”详细分享开挂步骤

    网易棋牌是否可以用挂是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可以生成出

    2025年08月02日
    0
  • 澳大利亚学生中有三分之一的读写和计算能力未达标

    堪培拉,8月14日(IANS):国家标准化测试发现,三分之一的澳大利亚学生没有达到基本的读写和计算能力的要求。据新华社报道,周三,联邦政府公布了2024年国家评估项目——识字和算术测试的结果,显示三分之一的学生未能达到阅读和数学的基本标准。来自940

    2025年08月02日
    0
  • 推荐必备“手机上打麻将输了钱能要得回来”分享装挂详细步

    手机上打麻将输了钱能要得回来是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可

    2025年08月02日
    0
  • 你书架上尘封的复古游戏或许能卖到300英镑

    当我看到一些复古电子游戏在2024年的售价时,我总是很恼火,尤其是当我曾经拥有一款有问题的游戏时。我最近后悔的游戏是Dreamcast射击游戏《CannonSpike》,这是我在欧洲发行的最后一款SEGA主机游戏。(至少在最近独立开发者开始重新访问Dreamcast

    2025年08月02日
    0
  • 玩家热议“麻将机程序控牌器怎么识别的”确实是有挂

    麻将机程序控牌器怎么识别的是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可以

    2025年08月02日
    0
  • 泽连斯基称乌克兰军队已有效遏制俄罗斯在东线的进攻

      (路透社)-乌克兰总统泽连斯基周四表示,乌克兰军队已经降低了俄罗斯军队在顿涅茨克地区发动袭击的可能性。泽连斯基在与指挥官们商讨后发表了夜间视频讲话,他表示,军方正在尽最大努力“增强我们战斗旅的复原力”。“此时,乌克兰国防军已经设法削弱了占领者在顿涅茨克地区的进攻潜力,”他说。

    2025年08月02日
    0
  • 实测教程“打牌辅助器下载免费”的确有挂

    打牌辅助器下载免费是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手

    2025年08月02日
    0
  • 以色列空袭贝鲁特致12人遇难,边境冲突升级

    黎巴嫩公共卫生部说,以色列对黎巴嫩首都贝鲁特南郊发动空袭,造成至少12人死亡,66人受伤。伊朗国家通讯社(NNA)报道称,周五发生在贾莫斯街一栋建筑上的袭击造成5名儿童伤亡。该机构说,一架F-35喷气式飞机对居民区进行了两次袭击。

    2025年08月02日
    0
  • 今日热议“手机打麻将开挂是什么意思”确实真的有挂

    手机打麻将开挂是什么意思是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可以生

    2025年08月02日
    0

发表回复

本站作者后才能评论

评论列表(4条)

  • admin
    admin 2025年07月16日

    我是qlhej号的签约作者“admin”!

  • admin
    admin 2025年07月16日

    希望本篇文章《教堂与集市》能对你有所帮助!

  • admin
    admin 2025年07月16日

    本站[qlhej号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • admin
    admin 2025年07月16日

    本文概览:本书平装本的封面 《...

    联系我们

    邮件:qlhej号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们