2.13 后记:网景拥抱“集市模式”
感觉自己正在帮助创造历史的感觉实在很奇妙……
1998年1月22日,大约在我首次发布“大教堂与集市”一文七个月后,网景通信公司宣布了开放“网景通信家” [10]源代码的计划(http://www.netscape.com/newsref/pr/newsrelease558.html)。此前,我一点消息也不知道。
很快,网景的执行副总裁和首席技术官Eric Hahn给我发了一封电子邮件:“我代表网景公司所有员工,感谢您帮助我们走到这一步,您的思考和写作,对我们的决定有着至关重要的启发意义。”
接下来的一周,我受网景之邀飞抵硅谷,和他们的高管层以及技术人员开了一个长达一整天的战略会议(1998年2月4日),我们在会议上设计了网景源码的发布策略及许可声明。
几天后我写道:
“网景准备在商业世界中给我们提供一个大规模的、真实的集市模式的测试。开源文化现在面临一个危险:如果网景此举失败,那么开源概念将受到严重怀疑,商业世界将在未来十年中都不会再碰它。
另一方面,这也是一个绝好的机会,华尔街以及其他一些机构,对这件事的初步反应是审慎乐观的。我们也获得了一个证明自己的机会,如果网景通过此举能够重新收复市场份额,那将会引发一场早该到来的软件产业革命。
接下来的一年将会非常有启发性,也会非常有趣。”
事实上确实如此。2000年年中我修订此文的时候,项目(后来被命名为Mozilla)发展的情况只能说勉强成功,它达到了网景的最初目标——阻止微软在浏览器市场上的垄断锁定。当然它也取得了一些引人注目的成就(特别是下一代浏览器内核Gecko [11]的发布)。
然而,它还没能像Mozilla创立者最初希望的那样,聚拢大规模的来自网景外部的开发力量。问题似乎是,在很长一段时间内,Mozilla的发布实际上违反了集市模式的一条基本规则:它的发布缺少能让潜在贡献者可以轻易运行和查看效果的东西(发布后的一年多时间内,编译Mozilla源代码都需要Motif私有库的许可证)。
最消极的是(从外界来看),Mozilla组织在项目开始两年半内都没能发布一款商品级的浏览器。而且在1999年,一位项目核心成员的离职引发了不小的影响,他抱怨项目糟糕的管理和机会的错失,“开源,”他很正确地评价道,“并不能点石成金。”
确实不能。现在(2000年11月)看来,比起Jamie Zawinski写离职信的那个时候,Mozilla的前景有了戏剧性的改善——最近几周的每夜版(nightly releases)已经终于在产品可用性上通过了关键性门槛。但Jamie没有说错,对于一个已有项目,走向开源不一定就能让项目免受目标错误、代码杂乱以及任何其他软件工程慢性病的困扰。Mozilla已经同时示例了如何让开源成功和如何让开源失败。
与此同时,开源理念在其他很多地方已经获得了成功和支持。自网景发布源码以来,我们看到人们对开源模式的兴趣有爆发式的增长——这种趋势由Linux操作系统推动,并推动Linux继续获得成功,Mozilla引发的潮流将继续加速前行。
[1] beta测试即“β测试”,和“α测试”相对应。对于一个即将面世的软件产品,α测试是指软件公司组织内部测试人员模拟各类用户行为对产品(此时为α版本)进行测试。随后的β测试是指软件公司组织各类典型用户在日常工作中实际使用(此时产品为β版本),并要求用户报告错误及异常情况。最后软件公司再对β版本进行改错和完善。——译者注
[2] 完全图是一个有n个顶点的图,每两个顶点之间都有且只有一条边,也即共有n(n-1)/2条边。——译者注
[3] Antoine de Saint-Exupéry(1900年6月-1944年7月),法国作家、诗人和飞行员,是经典小说《小王子》的作者。——译者序
[4] 语法糖(Syntactic Sugar,或译为语法糖衣)是英国计算机科学家Peter J.Landin发明的术语,是指为计算机语言添加某种不会影响语言功能的成分,但却使其更易用一些,目的是增强代码可读性,避免出错的机会。——译者注
[5] “egoboo”是ego boosting的口语化简称,是指参与志愿工作得到公共认可而获得的快乐,这个术语大约出现在1947年,最早用于科幻迷圈子。egoboo原本是描述人们看到自己名字出现在出版物上的感觉,由于做到这点比较可行的方式是做一些值得被别人提及的事情,该概念很快用到了志愿者活动中。——译者注
[6] 软件闭锁(software hoarding)是指某人或公司试图阻止别人使用或共享他们的软件源码。——译者注
[7] 第一次世界大战后,为防范德军入侵,法国陆军部长马其诺提议沿法国和德国边境建设一条叫做马其诺防线的防御工事(1929年开始建造,1940年基本建成,长达390公里)。马其诺防线曾被认为是牢不可破的,但德军从侧面包抄并随后占领了这条防线。马其诺防线用来形容表面看似坚固而实际没有价值的东西。——译者注
[8] Linus Torvalds于1999年在“The Linux Edge”一文中提到:“Linux现在有数百万用户、数千名开发者和正在增长的市场,Linux用在嵌入式系统中,用在机器人系统中,用在航天飞机上,我想说我早知道这些都会发生,这些都是统领世界计划的一部分”。——译者注
[9] 呆伯特(Dilbert)是美国作家和漫画家Scott Adams创造的广为流行的职场卡通人物。他是一名计算机工程师,热爱科技、待人友善、憨厚老实,但很不成功,在公司里人微言轻,常常被主管过分要求和利用。——译者注
[10] 网景通信家(Netscape Communicator)是网景通信公司互联网套件(在版本4.0到4.8时)的总称,内含网景导航者(Netscape Navigator)浏览器、电子邮件客户端、新闻组软件、HTML编辑器、多用户通信客户端以及地址簿等辅助工具,在此之前,网景导航者既是整个套件的名字,也是浏览器的名字,容易引起混淆。
[11] Gecko浏览器内核(Rending Engine,又译为排版引擎、渲染引擎)是Mozilla火狐浏览器(FireFox)采用的内核,由于Gecko代码完全公开,因此受到许多人的青睐,使用Gecko内核的浏览器也很多。——译者注