大教堂、集市与厨房

Lobsters Hottest 新闻

摘要

本文分析了人工智能辅助开发如何使开源生态的动态从协作式的“集市”模式转向个性化的“厨房”模式,其中个体的定制与本地化修改取代了集中式的协调。

<p><a href="https://lobste.rs/s/iaankl/cathedral_bazaar_kitchen">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/12 05:14

# 大教堂、集市与厨房 来源:https://blog.vrypan.net/2026/05/11/the-cathedral-the-bazaar-and-the-kitchen/ 埃里克·雷蒙德(Eric Raymond)的《大教堂与集市》1 (https://blog.vrypan.net/2026/05/11/the-cathedral-the-bazaar-and-the-kitchen/#fn-1)描述了两种截然不同的软件开发方式。“大教堂”模式代表着由一小群维护者主导的集中式、经过精心规划的開發;而“集市”模式则代表着开放协作:庞大的社区、公开的迭代过程、分布式的劳动力,以及通过众多贡献者共同演进而成的软件。 几十年来,“集市”成为了开源领域的主导文化神话。公共仓库、拉取请求(Pull Requests)和社区参与不仅仅是实用工具,更被视为道德理想。人们期待优秀的软件能够从开放性和集体努力中涌现。 --- AI 辅助的软件开发正在改变这一模型背后的经济学和人体工学(ergonomics)基础。实现的成本变得低廉,而协调的成本却变得高昂。配备现代工具的单一开发者如今能够构建出过去需要团队才能完成的系统。 与此同时,软件正变得越来越个性化:它被量身定制以适应个人的工作流程、基础设施、偏好和习惯。开发人员不再为尽可能广泛的受众构建通用工具,而是越来越多地构建完美契合自身环境的软件。其他人可能仍然会阅读代码、分叉(fork)它或借鉴其中的想法,但在本地进行修改往往比在上游进行协调更便宜。 **新的模式是“厨房”。** 每个厨房都围绕厨师的习惯而演变。工具被放置在方便取用的地方,食材可以随意替换,食谱则凭直觉进行修改。两个人可能从同一道菜开始,但最终做出完全截然不同的结果。 与集市不同,厨房具有强烈的个人色彩。食谱可以免费分享,但厨房很少会收敛为一个通用标准。访客可能会欣赏另一位厨师的技巧,但回家後仍然会用自己的方式准备那道菜。在“厨房”模式中,开源不再像公共基础设施,而更像是一种公开的手工艺:软件作为一种个人实用工具,公开可见、无限适应,且越来越由个人而非社区创作。 --- 在集市模式中,开放性主要是为了协调人员。你开放代码库是为了吸引贡献者,将工作分散给众多开发人员,避免重复劳动,并缓慢地构建共享的基础设施。 **在厨房模式中,开放性服务于不同的目的。**它提供可见性、可学习性和独立性。价值从*“其他人可以帮助构建这个”*转变为*“其他人可以理解、适应并重新掌控这个”*。 源代码开始更像食谱,而不像公共建设项目。大多数人不会向烹饪书提交补丁,但食谱依然具有巨大的价值,因为它们传递技巧、保留知识,并为他人提供基础,使其能够根据自己的口味和环境进行调整。代码之所以开放,不一定是为了让大家共同创作,而是为了让任何人都可以研究、修改并将其据为己有。 这也改变了分叉(fork)的含义。在集市模式中,分叉通常被视为治理或协调失败的标志。而在厨房模式中,分叉变得正常且健康: - “我为我的环境适配了这个项目” - “我移除了我不需要的功能” - “我围绕我的工作流重写了这个项目” 分叉变得类似于在家里修改食谱2 (https://blog.vrypan.net/2026/05/11/the-cathedral-the-bazaar-and-the-kitchen/#fn-2)。 软件通过本地适应而非集中共识来演进。开发人员会移除功能、重写工作流程,或完全围绕自己的基础设施进行优化,因为这样做现在比协商出一个所有人都能接受的通用解决方案更便宜。 这种模型仍然依赖于思想的公共流通。即使代码贡献量下降,人们仍然通过模仿、重组、批判和启发,不断地从彼此那里复制想法。 编程历史上的许多部分一直都是这样运作的: - Unix 的自定义文化,其中预期会以不同方式混合“食材” - Shell 工作流和个人脚本 - dotfiles,旨在向他人展示系统配置方式,但很少被一对一地采用 这些通常是公开共享的高度个人化系统,而非协作工程的产品。 **开源依然至关重要,因为它保留了“自主权”(agency)**:即在不依赖原始作者的情况下检查、修复、延续和重塑软件的能力。结果是一个软件日益个性化的世界,但思想、技巧和工具仍然在个人之间自由流通,就像食谱在厨房之间传递一样。 --- 1. 埃里克·S·雷蒙德,《大教堂与集市》(1997),https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar↩ (https://blog.vrypan.net/2026/05/11/the-cathedral-the-bazaar-and-the-kitchen/#fnref-1) 2. 旁注:一道菜很少只有一个规范版本。同样的食谱会演变成无数种变体,受到地区、可用食材、习惯和个人口味的影响。它们不会收敛为一个标准,而是通过来源或作者来区分:*à la provençale*(普罗旺斯式),*à la milanaise*(米兰式),*à la grandma*(奶奶式),*à la Jacques Pépin*(雅克·佩潘式)。变体本身成为了菜品身份的一部分。GNU grep 和 BSD grep 是同一工具的不同变体,但这些更像是发行版或分发版的差异。“厨房”模式将个性化推得更远,走向直接围绕单个开发人员的习惯和偏好塑造的软件。↩ (https://blog.vrypan.net/2026/05/11/the-cathedral-the-bazaar-and-the-kitchen/#fnref-2)

相似文章

从编码者到策展人

Lobsters Hottest

André Staltz 反思了从手动编码到 AI 辅助开发的迅速转变,认为工程师的角色将从构建者演变为决定什么值得构建的策展人。

从石匠到木匠

Hacker News Top

该文章通过石匠与木匠的类比,论证人工智能正将软件开发从直接编写代码转向为AI代码生成构建结构,强调系统设计和产品管理。

迈向自驱动的代码库

Hacker News Top

这篇文章探讨了AI代理如何自动化软件开发,讨论了当前AI编码工具的炒作周期,并建议未来工程将更专注于创造力和架构决策。