返回正常中文阅读
想对这篇译文“指手画脚”吗?
大错
小错
不顺
建议 The Cathedral and the Bazaar
The Cathedral and the Bazaar
Linux is subversive. Who would have thought even five years ago (1991) that a world-class operating system could coalesce as if by magic out of part-time hacking by several thousand developers scattered all over the planet, connected only by the tenuous strands of the Internet?
Certainly not I. By the time Linux swam onto my radar screen in early 1993, I had already been involved in Unix and open-source development for ten years. I was one of the first GNU contributors in the mid-1980s. I had released a good deal of open-source software onto the net, developing or co-developing several programs (nethack, Emacs's VC and GUD modes, xlife, and others) that are still in wide use today. I thought I knew how it was done.
Linux overturned much of what I thought I knew. I had been preaching the Unix gospel of small tools, rapid prototyping and evolutionary programming for years. But I also believed there was a certain critical complexity above which a more centralized, a priori approach was required. I believed that the most important software (operating systems and really large tools like the Emacs programming editor) needed to be built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.
Linus Torvalds's style of development—release early and often, delegate everything you can, be open to the point of promiscuity—came as a surprise. No quiet, reverent cathedral-building here—rather, the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches (aptly symbolized by the Linux archive sites, who'd take submissions from anyone) out of which a coherent and stable system could seemingly emerge only by a succession of miracles.
The fact that this bazaar style seemed to work, and work well, came as a distinct shock. As I learned my way around, I worked hard not just at individual projects, but also at trying to understand why the Linux world not only didn't fly apart in confusion but seemed to go from strength to strength at a speed barely imaginable to cathedral-builders.
By mid-1996 I thought I was beginning to understand. Chance handed me a perfect way to test my theory, in the form of an open-source project that I could consciously try to run in the bazaar style. So I did—and it was a significant success.
This is the story of that project. I'll use it to propose some aphorisms about effective open-source development. Not all of these are things I first learned in the Linux world, but we'll see how the Linux world gives them particular point. If I'm correct, they'll help you understand exactly what it is that makes the Linux community such a fountain of good software—and, perhaps, they will help you become more productive yourself.
《大教堂与市集》第一章 大教堂与市集
Linux是颠覆性的,但是在五年以前(1991年)谁能想到,这些散布在世界各地的开发者仅仅依靠细细的网线相连,在业余的时间里就能开发出一套世界级的操作系统呢?
至少这让我深感意外。我在上个世纪80年代中期加入GNU,作为第一批成员,至今已经在网上发布了不少开源作品。而且一些现在被广泛使用的软件(nethack,Emacs的VC和GUD模式,xlife等等)也是我正在开发或协助开发的。1993年初我接触到Linux的时候,已经致力于Unix和开源软件开发有十年之久了,至少我那时觉得自己很在行了。
然而Linux却推翻了我的理论。当时,我已经宣扬小而专的工具、快速建立原型和演进式开发这些Unix概念好多年了。但却还是坚信对于一些重要的软件(操作系统和Emacs之类的大型工具),一旦项目进展到一定的复杂度之后就需要如同建设大教堂一样统筹管理:由个别绝世的能工巧匠细细雕琢——时机不到,公测不出。[1]
而李纳斯[2](尽早尽多的发布,托以所有可托付之事,并且能包容到泛滥之地步)的开发风格实在令人诧异。相比建造大教堂时的虔诚和肃穆,Linux社区更像是一个熙熙攘攘的市集:这里面混杂着不同流派和各种议程(Linux归档站点就是个绝佳的例证,任何人的作品都被收录其中)。如果一个统一而稳定的操作系统能从这里诞生的话,只能说是一个奇迹,一系列的奇迹。
事实是——这种风格不仅可行,而且运营良好。这给了我很深的触动。在摸索中,我不仅致力于个案,而且尝试探索为什么Linux世界不仅没有在混乱中分崩离析,反而以大教堂的建设者难以想像的速度茁壮成长。
到了1996年中,我开始略有所获。碰巧得到了一个验证这些理论的完美机会——我可以刻意的用市集的风格来运筹一个开源项目。我的确这么做了,而且成果斐然。
接下来的章节,我将讲述这个项目的故事。并借此提炼出一些对开源开发有益的格言。它们并非都始于Linux世界,但是我们却能看到它们如何在Linux世界中得以印证。如果我是对的话,它们将帮助你准确理解是什么使Linux社区成为优秀软件的源泉。如果有幸,它们还可以助您提高效率。
译者按: 1.公测,Beta。在软件开发的测试阶段的推出的第二个版本。相比第一个内测(Alpha)版本,测试人员范围更广但是只针对漏洞进行修补,而极少对主体程序进行改动。
2.李纳斯(Linus Benedict Torvalds, 李纳斯·本尼迪克特·托瓦兹),著名黑客,Linux之父,Linux内核的发明人。著名的李纳斯定理就是以其命名。
