《大教堂和市集》:开放源代码运动的《圣经》(下载)

选自10月份出版的新书《21世纪的书》(方兴东、杨吉著,南方日报出版社)

自由软件运动的《圣经》

任何一场革命或者运动都需要一个理论家,需要一份纲领性的文献,起到真正的“画龙点睛”的神效。除了架构极具思辩力和逻辑性的理论体系,更需要激发起人们对美好理想的向往,为同行者的士气传递极具煽动性的烈焰。目前,这场正在颠覆软件业传统商业模式的自由软件运动也不例外。

自由软件精神领袖当然是理查德·斯托尔曼(Richard Stallman),这位自由软件基金(FSF)的创始人,不修边幅,过肩长发,连鬓胡子,一个活脱脱的现代都市里的野人。这位革命家又太“不食人间烟火”,太追求这场运动的神圣性和纯粹性,一心渴望成为软件领域的耶稣基督。太超凡脱俗,而且,除了提出核心理念外,斯托尔曼缺乏著书立作的能力。这些局限,使得埃里克·雷蒙德(Eric S. Raymond)脱颖而出,担当了这个角色。如今,他已经成为开放源代码运动(脱胎于自由软件运动)和黑客文化的第一理论家,不可动摇。

在自由软件启蒙阶段,埃里克·雷蒙德以如椽之笔呼啸而出,其核心著作被业界成为“五部曲”:《黑客道简史》(A Brief History of Hackerdom)、《大教堂和市集》(The Cathedral and the Bazaar)、《如何成为一名黑客》(How To Become A Hacker)、《开拓智域》(Homesteading the Noosphere)、《魔法大锅炉》(The Magic Cauldron)。其中最著名的当然还是《大教堂和市集》,它在自由软件运动中的地位相当于基督教的《圣经》。而用黑客们的话说,这是“黑客藏经阁”的第一个收藏。

《大教堂和市集》的伟大之处在于,第一次以形象生动的比喻,将自由软件和商业封闭软件之间的区分开来。“我一直想找一个比喻,能够强调我所发现的在两种开发模式中所存在的重要区别。一种是封闭的、垂直的、集中式的开发模式,反映一种由权利关系所预先控制的级权制度;而另一种则是并行的、点对点的、动态的开发模式。”这个比喻诞生了:前者就是封闭的大教堂模式,后者就是开放市集模式。他以极强的说服力,说明了自由软件不仅仅是一种意识形态,也不仅仅是乌托邦的理想,而是在开发模式上真正代表着“先进的生产力”,代表着历史发展趋势的必然。微软的模式就象是艰难而缓慢的大教堂建造工程。这种大教堂的方式在修补软件“Bugs”,保障软件质量方面明显失效。而自由软件则仿效了自由集市的模式。在集市里,公开源代码的程序随时随地地暴露在千万名程序员的眼皮底下,使“Bugs”无处藏身,并能随时修改。这种一边开发、一边调试修改的同步方式比大集市的“α测试、β测试”方式先进得多。用最形象的比喻就是,自由软件模式的核心是“众人拾柴火焰高”。

雷蒙德的这句话更成为经典:“如果有足够多的眼睛,所有的错误都是浅显的”(群众的眼睛是雪亮的),我把这称为“Linus定律”。

从追随者到领导者

1957年,雷蒙德出生于美国马萨诸塞州的波士顿,正好就是黑客文化发源地MIT的所在,也是斯托尔曼发动自由软件运动的大本营。但雷蒙德从小就跟随父母在世界各地东奔西走,13岁之前已经忘掉了两种语言。1971年,他回到美国宾夕法尼亚州,1976年起开始接触黑客文化,1982年完成第一个开放源代码软件项目。雷蒙德不是光说不练的笔杆子,他INTERCAL编程语言的主要创作者之一,曾经为EMACS编辑器作出贡献。雷蒙德还是著名的Fetchmail程序的作者。最近他还编写了一个最初用于Linux内核设置的设置程序。

1990年,他编辑了《新黑客字典》。从此对黑客文化着迷,成为黑客部落的历史学家和黑客文化的学者,1996年写成了《黑客道简史》。他开始把自己定位于人类学家:“人类学家的工作就是研究人的行为及整个社会,研究人类文化的形成、文化的作用方式、文化如何随时间变化而变化,以及人类如何适应不同的文化环境等。我考虑最多的是有关计算机黑客的文化,更多地集中于从社会的角度分析,而不是他们的高超技术和程序。”

Linux来了,Linux点燃了自由软件运动的烈火。人人被激励起来,敏锐的雷蒙德当然更加激动,1997年5月,他完成的《集市与教堂》在Linux Kongress上发表,受到了空前的欢迎。《大教堂和市集》主要面向编程人员和技术人员,当然充满了技术术语。但是,“在书中许多涉及技术问题的地方我都标明了“如果您不是技术行家可以略过此处”。除此之外,我还特意删除了那些有可能读起来比较晦涩的地方。我希望《大教堂和市集》这本书有血有肉、富有刺激性并能够启发人们思索。尽管我不知道在公开场合下说这些话是否合适,但是事实是我确实认为自己是个称职的作者,能够将技术问题阐述地足够生动、有趣以吸引非技术类的读者群。在撰写该书的过程中我确实体验了不断挑战困难的乐趣。”

除了理清理论体系,在这本书中还提出很多精辟的预言。最大的成就就是1998年促成了网景Mozilla成为开放源代码软件,标准着主流商业界第一次全面认同了他的理论。因为写作此文,让他看到了一个全新的方向。1998年2月3日,硅谷的一次会议上,“开放源代码(Open Source)”,由第一个参与者在会上提出,后来发展成为开源运动,并最终成为开源的发起组织。雷蒙德成了领导这场运动的理论家,成为开放源代码促进会(Open Source Initiative)的主要创办人之一。开始有了自己的正式组织和明确的市场战略。

同时,也是雷蒙德的努力,首次在网上披露了臭名昭著的微软“万圣节文档”。这份微软内部机密文件第一次全面披露了微软对自由软件的真实看法,在IT界引起轩然大波,成为微软公关的“一大噩梦”。微软对Linux等自由软件的敬畏和赞美,为这场运动起到了推波助澜的最佳作用!


自由软件的“马克思和恩格斯”分道扬镳

在业界的活跃程度,雷蒙德可谓“青出于蓝而胜于蓝”。雷蒙德与斯托尔曼有很多相似之处:都是自由主义者,是优秀的演说家和煽动家,都富有浓郁的理想主义色彩,都不注重物质生活,热爱编程和写作,都由迷恋黑客文化而成为一个另类的黑客。因此,当斯托尔曼在80年代初启动自由软件运动时,雷蒙德很快受到感召,投奔斯托尔曼的门下,成为了FSF最早的撰稿人之一。

但是,雷蒙德与斯托尔曼又有区别:如果说斯托尔曼天生就是一个纯粹的革命家,那雷蒙德如他自己所形容:他是一个类似火把、医生、宣传员、大使、福音主义者一类的人物。但本质上,更是一位时刻停留在角斗场中央的“斗士”。有着强烈的写作冲动,外向型的性格,喜欢与媒体打成一片,他的曝光率和“出镜率”无疑是所有黑客中最高。与埋头苦干和默默感召相比,他更需要时刻站在屋顶大喊,不断向世人发出信息;与纯粹的理想和执着的信念相伴,他更喜欢和记者和总裁们打成一片;与封闭在一个小小的圈子里自娱自乐,他希望把新的理念带到华尔街,让资本市场也为之倾倒。

显然,他比斯托尔曼更加入世、务实。但有时候,你不得不承认,对于一场革命运动而言,这种入世意味着更强大的战斗力。要在现实的世界取得真正的胜利,不得不学会妥协,在某种程度上与商业力量“同流合污”。

因此,雷蒙德与斯托尔曼注定了不能成为软件业的“马克思和恩格斯”,而最终分道扬镳。尽管,雷蒙德宣称,他和斯托尔曼已经是二十年的老朋友,他们之间有时候会有一些摩擦,但他们只是讨论问题罢了。但事实上,你很难见到他们之间有什么合作,哪怕是一次合影。他们之间的分歧最终引发了道路之争,曾经是一个战壕里的战友变成了“持不同政见者”。自由软件运动的裂缝由此产生。

雷蒙德认为,“自由软件(Free Software)”词不达意,给大家造成了极大的损害。原因在于“自由软件”这个词很容易就与对知识产权的敌意、共产主义和其他激进的观点联系起来,几乎不可能让大企业的CEO和CIO们喜欢,更容易把投资者吓跑。于是,他举起了“开放源代码(Open Source)”的大旗,用以替代“自由软件”。

雷蒙德认为两者的核心是兼容的,如同《大教堂和市集》一书的要旨一样:为了产生高质量软件的最好办法,将源代码向整个世界完全开放,软件开发应当由一群相互独立工作的黑客在一种全开放的氛围中协作进行。这样的工作模式能把软件作得最好,能比商业软件更棒!“在解决问题方面,没有任何商业性开发者可以与Linux社团的头脑库相匹敌,因为很少有人能负担起雇佣200多个为fetchmail出过力的人!”

但是,斯托尔曼不喜欢实用主义的辩词。他认为,虽然两者都是开放源代码,但最大的区别就是自由软件将自由精神放在首位。对斯托尔曼来说,自由是基本的道德美德:所有的计算机用户都应该享有相互协作、共享,以及拷贝和交换源代码的自由。但是对商人来说,自由(free)与免费(free)是同一个词。雷蒙德打出的“开放源代码”新旗号,目的就是要与斯托尔曼划清界线。在自由软件如火如荼,商机无限盛开之极,为了避免纷涌而来的投资者被斯托尔曼“吓跑”,他们还得联起手来,将斯托尔曼屏蔽起来。

《大教堂和市集》是鉴别“真伪”的一面镜子

这是一个商业主导的时代,胜利者当然是讲究实际、注重实效的雷蒙德。的确,在自由软件发展的关键时刻,人们更多关注它势不可挡的成功势头,而对道路之争不感兴趣。一个是策动自由软件的“原教旨主义者”,一个是把自由软件汇入商业化大潮的“修正主义”,他们之间你争我夺,誓不两立。但对于我们来说,他们都是一回事情,都是对现有商业软件封闭模式的共同反叛。因此,在我们眼里,“自由软件”和“开放源代码”是同一回事。本文中两者也不加区分。

与斯托尔曼等许多黑客一样,雷蒙德也多才多艺,不拘一格。迷恋科幻小说,是一名出色的业余音乐家,能演奏多种乐器。还是空手道黑带选手,酷爱武术和血腥暴力的射击游戏。这位“务实”的自由主义者也有出格的地方,比如他坚持美国宪法修正案第二条中关于公民持枪械的自由,因此遭到很多黑客的反对,但他自己却十分喜欢和人争辩该议题。他目前在宾州的一家非赢利的网络公司工作,为他的从事的自由软件运动而奋斗。

作为开放源代码的纲领,《大教堂和市集》当然也是“开放源代码”,大家可以在全球各大网站查到,而且已经被翻译成十多种语言。在爱好者的努力下,本文的繁体版和简体版也很精彩到位。大家可以直接用搜索引擎搜索。尽管如此,本书由Tim O‘Reilly公司正式出版后,居然十分畅销。雷蒙德兴致所至,又对本文进行了修改补充,出了新的版本。

“《大教堂和市集》第一版问世的时候时间十分仓促,从头到尾只花了6个星期。这一次再版我是本着完美主义的态度来着手的,希望再版书能够成为一个精品。”看来,雷蒙德非要把它做成软件业的“圣经”不可。“我个人认为,正是因为我选择了Linux,所以我已经生活在一个不会沉没的软件世界。但是,迄今为此,大多数人还没有生活在这么一个世界里。当大多数人生活在这么一个世界的时候,我想,就到了我考虑停止这份工作的时候了。”

在各界的大力推动下,自由软件在中国也形势一片大好。但是,正如沃尔特·佩特所言“伟大的事物总在人性那儿投下阴影,在此之下它就萎缩了”。如果我们仅仅是把Linux当作一个纯粹的商品,把自由软件当作一次简单的商机,就会丧失其中真正的内涵,也会大大削弱它的力量。我们应该充分引进并汲取自由软件的传统、理论和文化,才可能使这场运动超越急功近利的短期行为。

目前在中国,《大教堂和市集》这样重要的理论经典依然只是在民间流传,在边缘徘徊,被业界主流所忽视和冷漠。因此,可以说,与业界功利性的喧哗相比,《大教堂和市集》更是一面镜子,它的遭遇与处境,可以直接映照出中国在自由软件运动中,真正扮演了何等的角色。

文件: The_Cathedral_and_the_Bazaar.pdf
大小: 1022KB
下载: 下载

阅读(474) | 评论(0) | 转发(0) |

0

上一篇:实现WIN CE下截屏并且保存到文件

下一篇:MessageBox、::MessageBox 、AfxMessageBox三者的区别

相关热门文章

  • A sample .exrc file for vi e...
  • IBM System p5 服务器 HACMP ...
  • 游标的特征
  • busybox的httpd使用CGI脚本(Bu...
  • Solaris PowerTOP 1.0 发布

热门推荐

    -->

    给主人留下些什么吧!~~

    评论热议

    《大教堂和市集》:开放源代码运动的《圣经》(下载)

    时间: 2024-11-04 21:54:44

    《大教堂和市集》:开放源代码运动的《圣经》(下载)的相关文章

    开放源代码软件

    开放源码软件(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制.开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制: 蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制.“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段. 历史 开放源码软件主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它.开放源码软件在历

    【转载】虚拟化、云计算、开放源代码及其他

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:婉兮清扬     原文地址:http://www.qyjohn.net/?p=1552 借国庆长假的机会写了这篇长文,全面地整理了个人从虚拟化到云计算各个层面的看法.主要的内容涉及虚拟化.虚拟化管理.数据中心虚拟化.云计算.公有云与私有云.以及开放源代码.本文的全部内容均属于作者的个人观点,而不代表任何公司的观点.欢迎讨论. A.虚拟化 虚拟化是指在同一台物理机器上模拟多台虚

    Hibernate(开放源代码的对象关系映射框架)

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

    Hibernate (开放源代码的对象关系映射框架)

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

    [代码管理_版本控制]开放源代码版本控制系统

    当前主流的源代码版本控制系统有:CVS. SVN.Git.Bazzar.Mercurial等几类:多数开源软件源代码都是由上述工具管理,典型的 Linux kernel之前通过SVN,现在由Git工具管理,Ubuntu 发行版所有源代码由 Bazzar 管理.Git.Mercurial和Bazzar为下一代分布式版本控制系统,CVS.SVN 为传统的版本控制系统. 由上述版本控制系统为主功能组成的项目托管平台(也可称协同开发平台)包括:google Code ( 支 持 Git, Mercuri

    Phabricator 开放源代码的软件开发平台 Window Active Directory ldap ad域配置记录

    phabricator 开放源代码的软件开发平台Web应用程序,用以帮助软件公司开发更好的软件. 在代码审查(Code Review)方面,Facebook做了一个可视化的工具,现已开源,叫Phabricator;工程师可以在页面上非常方便的针对每一段(单行或者多行)代码进行交互讨论;负责审查的工程师可以接受代码改变,可以提出疑问要求原作者继续修改,可以提出自己不适合以推出该代码审查,等等.只有代码被明确接受之后才能被工程师提交到服务器端的代码库,这一点集成到提交工具中强制执行.基本理念就是凡是

    《大教堂与市集》读后感

    1)每一个好的软件的起因都是挠到了开发者本人的痒处-----需要是发明之母. 2)好的程序员知道写什么.伟大的程序员知道改写(和重复使用)什么. 3) "计划扔掉一个:无论如何你都会扔掉一个的."(弗里德·布洛克<人月神话>第11章) 或者换句话说,直到你第一次实现一个方案之前,你常常并没有真正理解你的问题. 第二次呢,或许你已经学到了如果把它做对.所以你要是想把事情做对的话,准备好至少重来一次. 4)如果你有正确的态度,有意思的问题会找到你. 5)当你对一个项目失去兴趣时

    Hibernate (开放源代码的对象关系映射框架)介绍

    Hibernate (开放源代码的对象关系映射框架) 编辑 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hiberna

    Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库

    Yahoo! UI Library?(YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术.它也包含了许多 CSS 资源.使用授权为?BSD许可证 ? YUI 包含完整的说明文件.它包含了两种元件: 工具与控件[2],和一些 CSS 资源. 工具 动画 协助达成位置移动.大小改变.透明度和其他的网页效果. 浏览器历史纪录管理工具 协助网页程式使用浏览器之上一页与书签(我的最爱)工具. 连线工具 协助管理跨