易燃物汇聚 YouTube 有声书与书评
大教堂与集市 封面

大教堂与集市

[美]Eric S. Raymond

3015人在读
13.4万字总字数
¥25定价

有声书与视频解读 YouTube有声书 10 · 视频解读 6

内容简介

本书是著名计算机程序员雷蒙德关于自由软件运动中“圣经”级著作,“黑客藏经阁”的第一个收藏书籍。为开源运动奠定了理论基础,被奉为开源运动的经典之作。本书以形象生动的比喻,将自由软件和商业封闭软件之间的区分开来,提出了封闭的“大教堂”模式与开放的“市集”模式。作者以极强的说服力,说明了自由软件不仅仅是一种意识形态,而是在开发模式上真正代表着“先进的生产力”,代表着历史发展趋势的必然。本书收集了作者五篇重要文章:黑客圈简史、大教堂和集市、开垦心智层、魔法锅、黑客的反击。作者回顾软件产业发展的历史,讲到“大教堂”与“市集”两种模式相互渗透、相互斗争、共同进步的历史。对各种事件娓娓道来,分析透彻,文笔犀利。对了解软件行业的发展、指导现代软件开发项目具有重大意义。

读者书评

★★★★★

本书的第2章“大教堂与集市”就是全书精华,精辟的道出了传统软件开发模式和敏捷迭代模式的区别,就算不做开源项目,只是把集市思想用在现代的软件开发过程中,也会收益良多。保持小团队,保持敏捷,微信一直都在这么做。 Linus定律道出了大教堂模式和集市模式最关键的区别:在大教堂建筑者看来,bug是棘手的、难以发现的、隐藏在深处的,要经过几个人数月的全心投入和仔细检查,才能有点信心说已经剔除了所有错误。而发布间隔越长,倘若等待已久的发布版本并不完美,人们的失望就越发不可避免。对集市模式而言则完全不同,在上千名合作开发者热切钻研每个新发布版本的情况下,你可以假定bug是浅显易找的,或者至少可以很快变得浅显易找。所以你会频繁发布以获取更多的修正,其副作用是良性的:即便发布中有些小问题,你也不会损失太多。 书中提到的一些观念: - 1.好的软件作品,往往源自于开发者的个人需要。 - 2.优秀的程序员知道写什么,卓越的程序员知道改写(和重用)什么。 - 3.在你第一次把问题解决的时候,你往往并不了解这个问题,第二次你才可能知道怎么把事情做好。所以,如果你想做对事情,至少要再做一次。 - 4.如果你有正确的态度,有趣的事情自然会找到你。 - 5.当你对一个程序不再感兴趣时,你最后的责任就是把它交给一个可以胜任的接棒者。 - 6.把你的用户当成开发合作者对待,如果想让代码质量快速提升并有效排错,这是最省心的途径。 - 7.早发布,常发布,倾听用户的反馈。 - 8.如果有足够多的beta测试者和合作开发者,几乎所有问题都会很快显现,然后自然有人会把它解决。 - 9.聪明的数据结构配上愚笨的代码,远比反过来要好得多。 - 10.如果你把beta测试者当做最珍贵的资源对待,他们就会成为你最珍贵的资源。 - 11.仅次于拥有好主意的是,识别来自用户的好主意,有时后者会更好。 - 12.通常,那些最有突破性和最有创新力的解决方案来自于你认识到你对问题的基本观念是错的。 - 13.“设计上的完美不是没有东西可以再加,而是没有东西可以再减。” - 14.任何工具都应具备预期内的功能,但一个伟大的工具能给你带来预期外的功能。 - 15.写网关类软件时,尽可能不要干扰数据流,而且绝不要扔掉信息,除非接收方强迫你这么做。 - 16.当你的语言还远不是图灵完备(Turing-complete)的时候,语法糖会让你受益良多。 - 17.系统的安全性只取决于它所拥有的秘密。谨防虚假的秘密。 - 18.想要解决一个有趣的问题,先去找一个让你感兴趣的问题。

★★★★★

黑客文化史记,开源运动圣经 先从史前时代说起。黑客文化起源于1960年代的 MIT 人工智能实验室。MIT 的黑客为 DEC 的小型机 PDP-10 写了操作系统 ITS,流行了十几年。ITS 是用汇编语言写的,软件大多是用 LISP,包括著名的 emacs。1969年,ARPAnet,第一个横贯美国的高速计算机网络投入运行,连接了美国各大计算机实验室,如斯坦福大学、CMU、施乐(Xerox)。同年,贝尔实验室的 Ken Thompson 开发了 UNIX 操作系统,Dennis Ritchie 开始写 C 语言。黑客们通过邮件列表和兴趣小组交流,当时的网络语言“黑客行话”(Jargon File)后来被编撰成书《黑客字典》。 到了1980年代,ITS 因为不可移植,随着 PDP-10 的停产而销声匿迹,专有 UNIX 因为互不兼容而四分五裂。物美价廉的个人电脑开始占领市场,然而数千美元的商业 UNIX 实在太贵了。Richard Stallman 创建了自由软件基金会(FSF),用 C 语言写了一个类似于 UNIX 的 GNU 操作系统,不同的是,GNU 是自由软件,用户可以自由地对其运行、复制、传播、研究、改进。遗憾地是,GNU 内核的开发一直停滞不前,直到1991年 Linux 横空出世。 芬兰大学生 Linus Torvalds 同学本来想为 Andrew S. Tanenbaum 开发的 MINIX(意为 mini-Unix)操作系统重写一个终端模拟器(就是shell,原装的太烂了),结果,他写了一个新的操作系统内核。1991年初秋,Linux 0.01版发布了,很快吸引了黑客们一起开发。如今,Linux 已经占有服务器端约67%、移动端87%(安卓)、PC 端5%的份额。 本书写于上世纪90年代,写作缘起正是作者 Eric S. Raymond 想要探究 Linux 为何成功。作者说,“这个社区发展出有史以来最有效的软件开发方法却浑然不觉!”有别于传统软件的封闭集中的“大教堂”开发模式,Linux 使用的是“集市”模式,众多开发者共同贡献源代码。Linux 的模式证实了“只要眼睛多,bug 容易捉”。这本书如仓颉造字,使得开源社区有了自我认知。开源软件基于互联网上志愿者的随意合作,没有严格标准,也没有强有力的管理,仅仅是遵循快速发布,及时反馈的原则,却获得了前所未有的成功。 作者认为,黑客文化的核心在于礼物文化。不同于集权的命令体系和基于契约的交换经济,礼物文化是在充裕物质条件下产生的。“充裕性会使命令关系难以维持,会使交换关系变成无意义的游戏。在礼物文化中,社会地位并不取决于你控制了什么,而是你给予了什么。”黑客们贡献自己的代码,来换取声誉。“you do not become a hacker by calling yourself a hacker - you become a hacker when other hackers call you a hacker.”被同行认同是黑客圈安身立命的根本。这告诉我们,黑客圈不好混,耍的都是真刀真枪,当然另一方面,开源社区准入门槛很高,保证了开源软件的质量。 与公地悲剧(tragedy of the commons)不同,软件的使用并不会降低其价值。反而由于众多贡献者的参与,可以及时修复 bug,降低风险。作者随后分析了可持续开源开发的不同模式,并预言最先开源的会是基础架构(操作系统、网络),中间件(数据库、开发工具、应用协议)会处于开闭源混合的状态,但是将逐渐开源,只有顶层的应用还可以保持闭源。现在看来,这些预言全部应验。越来越多中间件以及一些应用工具开源了,比如各种语言的库、Web应用框架、图像处理、AI框架。 作者的这些文章不仅开创了对黑客文化的人类学研究,而且对软件行业的变革起了催化作用。1998年1月22日,网景宣布开源网景浏览器,就是现在的 Firefox。网景 CEO Jim Barksdate 说,正是作者的文章给了这个决定以“主要灵感”。1999年,“一些主要的PC和笔记本制造商宣布他们将推出不预装Windows软件的机器,当然价格里也不会包含’微软税‘。” 作者的论述仿佛 GRE argument 范文,有理有据,对对立观点也有深刻讨论。行文严谨但语言幽默,文风大爱。正如作者在附录《如何成为一名黑客》里所说,“学好写作”,本书就是极好的范本。 May the source be with you. (此为英文原版书评,引文参考中译本)

★★★★★

以下问答来自deepseek Q:开源软件是否为当前的大模型编程提供了大量素材,且会导致开源理念自身的消亡? A: 这是一个非常深刻且切中当下技术发展要害的问题。答案是:是的,开源软件确实为AI编程提供了海量素材,而这种单向的、大规模的消耗,正在给传统的开源理念和生态带来前所未有的生存危机。 💻 开源软件:AI编程的“隐形燃料” AI编程工具(如Cursor、Copilot)的能力并非凭空而来,其基石正是全球开发者数十年积累的智慧——开源代码。当你用自然语言描述需求时,AI实质上是在幕后调用、重组GitHub等平台上无数开源项目的逻辑与结构。 ⚠️ 正在撕裂开源生态的“三重危机” 问题不在于AI使用了开源代码,而在于它正在以一种掠夺式的方式摧毁支撑这个生态的根基。 · “注意力经济”的崩塌:传统开源依赖“注意力回报”维持。但AI作为“中间商”切断了开发者和维护者的直接联系。例如,前端框架Tailwind CSS下载量飙升,但维护者收入却缩水了近80%。 · “AI垃圾”的洪流:AI降低了贡献门槛,导致大量低质量的“AI Slop”(AI垃圾)涌入。这严重消耗了本就稀缺的维护者精力。例如,cURL项目在2025年收到的安全报告中,有20% 是AI生成的虚假漏洞。这种状况已迫使cURL、Ghostty等知名项目关闭贡献或采取零容忍政策。 · “只读式开源”的兴起:许多AI模型虽开放权重(可下载),但训练数据、代码等核心部分不公开。这种“只读式开源”违背了开源“可研究、可修改”的核心原则,社区协作强度相比传统开源甚至出现了近140倍的活跃度鸿沟。 🧭 开源理念会因此消亡吗? 虽然挑战严峻,但断言其“消亡”可能为时过早。这更像是一场痛苦的转型与博弈: · 短期内,破坏已显现:AI带来的“负反馈循环”正在形成。若维护者失去动力,高质量开源项目可能枯竭,最终损害依赖开源生态的AI产业本身。 · 长期看,博弈与自救正在进行: · 法律与制度博弈:围绕AI训练使用开源代码是否违反许可证的争议不断,开放源代码促进会(OSI)也在试图为“开源AI”制定新定义。 · 探索新补偿模式:有学者提出,AI平台应像音乐流媒体一样,根据代码实际调用量向维护者支付版税。 · 社区的自救与分化:社区正通过技术手段(如“AI生成代码”标签)和政策(如禁用AI贡献)来抵御冲击。 开源理念正站在一个十字路口。它作为AI的“数据饲料”被消耗,导致赖以运转的“注意力经济”崩溃,并面临“AI垃圾”的洪流和“只读式开源”的侵蚀。 但它不会静悄悄地消亡。围绕许可证、新经济模式和社区规范的重塑,一场决定开源未来命运的复杂博弈正在进行。

★★★★★

补标,2021.04.26于当当云阅读。 在轻轨上断断续续看完了 Eric S. Raymond的著作《大教堂与集市》,了解很多有关开源世界的古早历史和渊源,同时也有一些个人收获。 收获一:找准了自己的定位 第一次接触到的开源相关的东西,是在2019上半年,那时候我开始使用 github。 不过也因为确实没有什么想法,也不太会用这个东西,居然还是从2020年下半年开始才常常使用,学会了使用 issue、pr 等一些常规操作,也慢慢开始 fork 别人的仓库学习别人的代码。 对于「开源」,我一直都是非常尊敬以及向往的。不过在此之前,它在我的心中是如此的神秘和遥远,以至于我觉得它就是几k的 star 或者是一些让作者能饱受赞誉的数据。 所以,我一直都觉得,拥有一个很多 star 的开源项目是多么酷的一件事情,所以在此相对于项目本身,我更追寻的是项目的好看数据,并且如果让我去参与开源,我更希望的是写出来一个「爆款项目」,多么浮躁。 不过自从读完《大教堂与集市》,我才突然意识到,相对于一个「天才作者」,在开源的世界里面,我可能更适合去做一个参与者、建设者,而与之对应的就是参与开源社区,成为一个 user 或者是 commiter。 先从简单的错误开始查找,进行 issue 或者 pr 的提交,慢慢去融入社区。 收获二:破除了对开源的一些误解 虽然我现在已经算涉足软件开发行业,但其实我对开源一直有一个好笑的担忧,就是开源到一定程序会不会影响我们这个行业的收入。 使我豁然开朗的是《大教堂与集市》中提到的一个观点,大意就是:开源会促进软件项目的集成化、整合化,但是不管怎么去开源,面对现实生活的需求,总是需要人去进行定制的。 那么以此可以得出,在开源的世界中,原则上只要是有需求总是需要人去产出和学习以及定制开发,那么以此为基准,影响行业发展这个愚蠢的问题好像也就不攻自破了。 收获三:开源的世界从来都不是单打独斗 自己一个人写代码写习惯了,所以觉得一切问题都可以自己来解决,但是纵观所有开源项目,或者说所有的开源社区,从来都是需要人们去协作,然后推动项目的发展,这是一个必然的过程。 那么意识到这一点,我发现最重要的还是要有团队协作的能,开源的世界从来都不是单打独斗。 写于豆瓣,2021.07.24

★★★★★

很久以前听过这本书,比较感悟的几点首先软件是卖服务,软件可以免费可以通过可靠性,品牌,问题解决盈利,比如红帽等 开源中程序员的代码被用的越多地位越高,人愿意去做而且动力很足。 “众人的力量大于一人”。它不仅是软件工程的方法论,更是一种社会学洞察——它告诉世人,在数字化时代,开放、透明、高频迭代的“集市”,往往能孕育出比封闭、精密计划的“大教堂”更伟大、更坚固的数字文明。

★★★★★

该书是一本值得复读的好书,其核心理念有: 1.产品早发布,长发布,倾听用户反馈,不断迭代更新; 2.让好事情自然发生; 3.最富有创新力的解决方案来自于你认识到你对于问题的基本观念是错误的; 4.完美不是没有东西可以再加,而是没有东西可以再减; 5.如果你发自内心谦虚,并且承认你欠别人很多,你会发现世界也会这样对你; 6.在你第一次把问题解决的时候,你玩玩并不了解这个问题,第二次你才能把知道怎么把问题做好。所以你想要做对事情,至少要再做一次; 7.如果你在工作中出现恐惧和厌恶,你应该意识到过程已经出现问题; 8.可靠性/稳定性/可拓展性非常重要; 9.如果它不如我所预期的那样工作,那就不是好的,不管它有多么聪明和有原创性; 10.声誉是很好吸引他人注意和合作的途径;

★★★★★

《大教堂与集市》(The Cathedral and the Bazaar)是由 Eric S. Raymond 撰写的一本关于开源软件开发的经典著作。书中探讨了两种不同的软件开发模式:大教堂模式和集市模式。大教堂模式代表传统的、封闭的、集中控制的开发方式,而集市模式则代表开放的、分散的、社区驱动的开发方式。 1. 大教堂模式: 特点:封闭开发,由少数精英控制,发布周期长,追求完美。 缺点:创新受限,用户参与度低,难以快速响应需求。 2. 集市模式: 特点:开放开发,由社区驱动,发布频繁,快速迭代。 优点:创新活跃,用户参与度高,问题修复迅速。 3. Linus定律: 核心观点:“只要有足够多的眼睛,所有的bug都是浅显的”(Given enough eyeballs, all bugs are shallow)。 含义:开源社区的广泛参与能够快速发现并解决问题。 4. 开源的成功要素: 透明度:代码公开,开发过程透明。 协作:社区成员共同参与,贡献代码和反馈。 激励机制:声誉、兴趣、需求驱动贡献者参与。 5. 软件开发的演化: 从封闭到开放,开源模式逐渐成为主流。DeepSeek 就是好例子。从集中到分散,分布式开发模式更具活力。 开放协作,将项目公开,吸引社区参与,鼓励用户反馈,快速迭代。 快速发布,采用频繁发布策略,尽早让用户使用。通过用户反馈不断改进。 社区建设, 建立开放的社区文化,吸引贡献者, 通过声誉机制激励参与者。 问题解决,一是利用社区的多样性,快速发现和修复问题,二是将复杂问题分解,由社区成员协作解决。 5. 工具与平台: 使用版本控制系统(如Git)管理代码。利用协作平台(如GitHub)促进沟通和贡献。

★★★★★

Eric S. Raymond在开源运动和黑客文化中有着很高的地位,正如他自己所言,他有着开源文化“代言人”、“宣传家”和“大使”等称谓,还有一个更学术化的头衔:互联网黑客的观察者/参与者人类学家(observer/participant anthropologist,anthropologist是指“someone who scientifically studies human beings, their customs, beliefs and relationships”),作为黑客文化的第一理论家,他通过观察和参与,对黑客这个群体的习俗、信念及关系有着深入而广泛的研究。他极力为“黑客(hacker)”一词正名,强调“黑客”并不是媒体报道中的计算机违法分子,而是那种着迷于计算机技术并通过编程提供极具价值软件的人。 软件是人类历史上最奇特的产物之一,它和其他事物截然不同,以至于拿任何事物来比喻软件,都给人以不够贴切的感觉,软件所具备的自动化运行能力和几乎零成本的复制能力给人们带来了前所未有的便利,而它带来的问题(比如版权问题、消费者权益问题、是否开源问题、开发模式问题等)也一直是争议层出不穷的话题。 作为软件的核心内容,源代码无疑是软件“王冠上的宝石”,因为软件的核心在于设计,而所有设计都会体现在源码之中,拿到源码,你就几乎拿到了软件的一切。出于对商业利益和市场竞争的考虑,软件制造商本能地希望把源码保护起来,而黑客出于分享、贡献和不重复工作的考虑,下意识认为开放源码是更道德的事情,他们考虑的是如何更好更快地做事,考虑的是如何创建一个自由自在、为所欲为的软件世界,而不是如何把源码藏起来牟利。 软件设计是一件需要创造力的事情,天才式的软件必然来自天才式的设计,很多优秀软件的最初版本都是由顶尖黑客独自设计和编码的(正如Ken Thompson之于UNIX,Linus Torvalds之于Linux),但软件膨胀到一定程度,由一个人或几个人继续开发维护就不太现实了,对大型软件来说,多人合作似乎是一种必然但到底多少人合适,如何分工和组织,如何调动程序员的积极性,如何让软件不会因规模和复杂性而失控,从来都有着不同的方法和认识,Eric在本书中向大家展示了两种最为经典且截然不同的模式:大教堂模式和集市模式。传统大型软件公司的开发模式就像是艰难而缓慢的大教堂建造工程,它有着严密的管理和封闭的集中式结构,但在创新上、生产力上和Bug控制上却落后于集市模式。集市模式是一种并行的、对等的扁平化开发结构,其参与者大多来自于互联网上的志愿者,结构松散,来去自由,就像是一个乱糟糟的集市,但就是这样的组织形式,却取得了像Linux这样令人瞠目的成功。 开源会走向怎样的未来?我们可以看到,互联网和移动智能终端已经日益影响着每个人的日常生活,而你每天访问的互联网网站,绝大部分基于开源的操作系统、Web服务器和数据库,你所使用的智能手机多采用Andriod或iOS系统,Andriod源于Linux,iOS源于开源的Darwin(Darwin则基于开源的Mach和FreeBSD开发),可以说,只要你上网或使用智能手机,你就在不知不觉地使用了开源软件。开源对软件业和互联网带来了巨大影响,并正在和将会对人们的工作和生活产生更显著的影响,正如Eric在序言中所说的,对于任何一个对计算机有所依赖的人,对于任何一个要在未来工作和生活的人,了解一些开源文化,都是很有意义的。 Eric写文章中喜欢用很长的句子,并夹杂很多典故和背景知识,如何准确而通畅地表达原文,并不是一件轻松的事。本书翻译本着忠实、通达和易懂的原则开展,我尽量忠于原文并使用平实和简洁的语言翻译,如果同一概念对应多个中文词汇,我会选择最常用和最不容易误解的词汇。比如“noospher”有“智域”、“心智层”、“智能圈”、“智力圈”和“人类圈”等等译法,考虑到可以和“大气层”相类比而且最容易望文生义,我采用了“心智层”一词(后来又觉得“智能圈”也不错,所以在我的公众号中改为“智能圈”);本文出现最多的词汇“hacker”,则当仁不让地要翻译为“黑客”,这里的“黑客”指的是其本意,即那些着迷于技术并充满才华和理想的人(涉嫌计算机犯罪的cracker则译为“骇客”);“hackerdom”一词有人译为“黑客道”,但“道”的含义很广泛,容易让人摸不清其内涵,本文将其译作“黑客圈”,因为dom后缀是指具有共同特征或社会地位及角色的群体;“peer”是指在地位上同等的人,如同级别、同类别或是同年龄段的人,“同辈”、“同行”、“同类”、“同群”等词汇都不够精确,本文最终选用了虽不常见但较为精确的“同侪”一词,但仍将peer-review翻译为 “同行评审”,因为软件工程学中已大量使用了这一译法。 这本书除了讲述开源及黑客文化外,还给出了很多充满智慧的观点和有趣的概念,如命令体系、礼物文化、以少成多、内部市场、竞次、委员会设计、模因、SNAFU现象、软件业是服务行业、组织结构决定产品结构、准入门槛越低稳定性越高、程序员是资产而非成本,等等,相信这些内容会给读者带来一些有益的启示和思考。 值得说明的是,书中很多URL已经失效无法打开,而且以后能打开的概率也不大,之所以仍然保留,一方面是为了忠于原著,另一方面,也许你可以从URL中获得一些有用的信息。 Eric的这些文章都是开源的,理所当然,译文也应该开源,非常赞成买书收藏,但如果仅仅是想简单阅读一下,可以到我的公众号“微月人话”中浏览此书的主要内容:黑客五部曲。 卫剑钒  译者序  2014年2月, 修改于2019年6月

★★★☆☆

2025年读完的第二十八本书,最近一直读技术相关的书籍,对于这类型非技术的书籍都比较少读。 对于软件的开发,选择闭源还是开源的模式,没有一个绝对性的答案。正如我一惯对于工作上的问题求解,我都秉承着具体问题具体分析,会因应问题的具体情况选择不同的解决方式。 立于程序员的角度来看,我认为软件是要闭源的,因为开源会让不懂技术的人认为开源就是免费,技术人员的劳动力会因为开源被同等视为免费。但是立于更高的维度视觉,所有的软件应该采取开源这种集思广益的方式,让软件行业避免于“重复造轮子”这种效率与成本的无效中。 对于软件开发和维护,采取开源这种“集市”模式,还是闭源“大教堂”模式,不同人有不同的思考。想要得到自己对于软件开发中这类终极的哲学问题,还是亲自读一下这本书吧。

★★★★★

书中提到的一些观念: 1、好的软件作品,往往源自于开发者的个人需要。 2、优秀的程序员知道写什么,卓越的程序员知道改写(和重用)什么。 3、在你第一次把问题解决的时候,你往往并不了解这个问题,第二次你才可能知道怎么把事情做好。所以,如果你想做对事情,至少要再做一次。 4、如果你有正确的态度,有趣的事情自然会找到你。 5、当你对一个程序不再感兴趣时,你最后的责任就是把它交给一个可以胜任的接棒者。 6、把你的用户当成开发合作者对待,如果想让代码质量快速提升并有效排错,这是最省心的途径。 7、早发布,常发布,倾听用户的反馈。 8、如果有足够多的beta测试者和合作开发者,几乎所有问题都会很快显现,然后自然有人会把它解决。 9、聪明的数据结构配上愚笨的代码,远比反过来要好得多。 10、如果你把beta测试者当做最珍贵的资源对待,他们就会成为你最珍贵的资源。 11、仅次于拥有好主意的是,识别来自用户的好主意,有时后者会更好。 12、通常,那些最有突破性和最有创新力的解决方案来自于你认识到你对问题的基本观念是错的。 13、设计上的完美不是没有东西可以再加,而是没有东西可以再减。 14.任何工具都应具备预期内的功能,但一个伟大的工具能给你带来预期外的功能。 15、当你的语言还远不是图灵完备(Turing-complete)的时候,语法糖会让你受益良多 16、 系统的安全性只取决于它所拥有的秘密。谨防虚假的秘密。 17、 想要解决一个有趣的问题,先去找一个让你感兴趣的问题。

书籍信息

作者[美]Eric S. Raymond
出版社机械工业出版社
出版时间2014-06-10
ISBN9787111452478
分类计算机-编程设计
格式EPUB
完结状态连载中
章节数96