大教堂与市集

埃里克·斯蒂芬·雷蒙

这是3.0版

版权

授权复制、分发和/或修改本文件符合公开出版许可证的条款,2.0版。

$日期:2002/08/02 09:02:14$

修订历史记录
修订版1.572000年9月11日电子自旋共振
新的主要章节“多少眼球可以控制复杂性”。
版本1.522000年8月28日电子自旋共振
MATLAB是Emacs的一个增强并行程序。科尔巴托&维索斯基在1965年得到了它。
版本1.512000年8月24日电子自旋共振
第一个DocBook版本。2000年秋季的小更新时间敏感材料。
版本1.492000年5月5日电子自旋共振
增加了HBS关于截止日期和日程安排的说明。
版本1.511999年8月31日电子自旋共振
这是O'Reilly在第一版中印刷的版本这本书。
版本1.451999年8月8日电子自旋共振
添加了关于Snafu原则的尾注,(前)历史示例集市发展和集市创意。
版本1.441999年7月29日电子自旋共振
添加了“管理和马其诺防线”部分了解集市对探索设计空间的有用性,并大大改进了Epilog。
版本1.401998年11月20日电子自旋共振
根据万圣节文件添加了对布鲁克斯的更正。
修订版1.391998年7月28日电子自旋共振
作为回应,我删除了Paul Eggert在GPL vs.bazaar上的图表来自RMS的令人信服的建议
修订版1.311998年2月10日电子自旋共振
添加了“Epilog:Netscape拥抱市场!”
修订版1.291998年2月9日电子自旋共振
将“自由软件”更改为“开放源代码”。
版本1.271997年11月18日电子自旋共振
添加了Perl会议轶事。
修订版1.201997年7月7日电子自旋共振
添加了参考书目。
版本1.161997年5月21日电子自旋共振
在Linux Kongress上的首次正式演示。

摘要

我剖析了一个成功的开源项目fetchmail对令人惊讶的软件理论进行深思熟虑的测试Linux历史所建议的工程。我讨论这些两种根本不同的发展方式的理论,大多数商业世界的“大教堂”模式与“集市”模式Linux世界的模型。我表明这些模型源自对软件调试任务性质的相反假设。然后,我从Linux体验中为“只要有足够的眼球,所有的虫子都是肤浅的”,建议与其他自我纠正系统进行富有成效的类比自私的代理人,并对其含义进行了一些探索对软件未来的洞察力。


目录

大教堂与市集
邮件必须通过
拥有用户的重要性
尽早发布,经常发布
多少眼球驯服复杂性
什么时候玫瑰不是玫瑰?
Popclient成为Fetchmail
Fetchmail长大了
Fetchmail的更多教训
集市风格的必要前提
开源软件的社会背景
论管理与马其诺防线
Epilog:网景拥抱集市
笔记
参考文献
致谢

Linux具有颠覆性。五年前谁会想到(1991)一个世界级的操作系统可以像数千名开发人员兼职黑客的魔力散布在整个星球上,只有纤细的线连接在一起互联网?

当然不是我。早在Linux出现在我的雷达屏幕上的时候1993年,我已经参与了Unix和开源开发十年了。我是第一批GNU贡献者之一20世纪80年代中期。我在上发布了大量开源软件网络,开发或共同开发多个程序(nethack、EmacsVC和GUD模式、xlife等),这些模式至今仍在广泛使用。我以为我知道是怎么做的。

Linux颠覆了我认为我知道的很多东西。我一直在说教小工具、快速原型和进化的Unix福音编程多年。但我也相信一种更集中的先验方法是必需的。我认为最重要的软件(操作系统和真正的大型工具(如Emacs编程编辑器)需要像教堂一样建造,由个人精心制作巫师或一小队魔法师在绝妙的孤立中工作,没有beta版将提前发布。

莱纳斯·托瓦尔兹的早期开发风格通常情况下,尽你所能,对滥交令人惊讶。不安静,虔诚在这里建造教堂,Linux社区似乎就像一个有着不同议程和方法的杂乱无章的集市(Linux存档站点恰如其分地代表了这一点,他们会接受提交任何人)其中连贯稳定这个体系似乎只有通过一连串的奇迹才能出现。

事实上,这种集市风格似乎奏效了,而且效果很好,这是一个明显的震惊。当我学会了如何应对时,我努力工作不仅在单个项目中,而且在试图理解原因时Linux世界不仅没有在混乱中四分五裂,而且似乎以几乎无法想象的速度从一个力量到另一个力量大教堂建筑商。

到了1996年年中,我觉得自己开始明白了。机会给了我一个完美的方法来测试我的理论,形式是我可以有意识地尝试在市场上运行的开源项目样式。所以我做到了,这是一个巨大的成功。

这就是那个项目的故事。我会用它来提议一些关于有效开源开发的格言。并非所有这些是我第一次在Linux世界学到的东西,但我们将看到Linux世界给了他们特殊的观点。如果我是对的,他们会帮上忙的你完全理解是什么让Linux社区如此一个好软件的喷泉,也许它们会帮助你成为让自己更有效率。