回首六年前,2005年,网络和现在完全不同。那时,浏览器大战正如火如荼,虽然Netscape战斗英勇,但微软和Internet Explorer的地位看起来越来越稳固。看起来互联网正要落入这个邪恶帝国手上,还有一点,地球人已经阻止不了微软了。 然后在2005年6月7日,在WWDC上,Bertrand Serlet走上讲演台推出了并不被人看好的产品——苹果的浏览器的灵魂——Safari,它是开源产品。它被称为WebKit。看起来,苹果仍然无法阻止微软作威作福,但是之后,他们走上了一个那时没人预料到的完全不同的方式。
略想一下:苹果公司是出了名的神秘兮兮,为什么他们主导一个开源项目?要回答这个问题,要正确地看待这个开源如何成功的,我们必须回头看看WebKit的根源。但如果我没触碰到WebKit的现状,未来的发展,那就是我的失职。过去的知识很重要,因为它可以帮助我们了解现在,并更好地为未来作好准备。
诞生于开源
瞧瞧,现在几乎所有人都认为WebKit来源于苹果公司,它是Safari浏览器的灵魂,不是吗?但这些代码的确不是在苹果总部的秘密巢穴里码出来的。它实际上源于他处,早在1998年,这些后来成为WebKit的代码其实是KDE开源项目的KHTML和KJS引擎的一部分。最初,KHTML和KJS是较早采用khtmlw(The KDE HTML Widget)引擎的项目。虽然之前发布的程序引擎W3C将“DOM”和“CSS”两者都标准化了,但仍有不少工作要做,因此支持这些功能成为一个重要的优先事项。
几乎整个1999年,由Lars Knoll牵头,掀起了一个KHTML风潮。尽管需要不少艰巨的工作,KHTML的支持者和开发人员都不希望轻易地放弃这个项目。但这些艰苦的工作带回了丰厚的回报。到2000年的春天,出现了一套崭新的浏览器内核——KHTML和KJS ——准备在新版本的KDE上实施。他们就是后来被某个位于Cupertino的“水果”公司采摘的开源项目。
苹果式待遇
 2003年1月,在旧金山的Macworld Expo主题演讲中,Steve Jobs宣布苹果KHTML引擎的端口——WebCore开放源代码。同一天,Safari的首席设计师Don Melton给公布于KDE开发者邮件名单上的KHTML和KJS – KDE的首席开发员发送了一封邮件。之后便成立了苹果的Safari团队,而且很显然两方面对于能使用这个开源代码来创建Safari都感到高兴和自豪。对代码的效率以及开发员所实现的技术,Melton信件中充满了溢美之词。它看起来像一个美妙婚姻的开始。
然而,时间快进到两年前,我们发现这场婚姻似乎也开始触礁。
开源社区是建筑于激情,善意,自我牺牲之上。它并不适合每一个人。要想在此取得成功——或者在这个社区成为一个腕——你必须要了解这些性格特征,并将自己置身其中。苹果也是一个社区,但它有自己的文化和目标。KHTML和苹果公司的WebCore的尝试合作出现问题,也是可以理解的。
与苹果公司经常在WebCore做出一些变化不同,KDE社区似乎对KHTML引擎“端口”上的改变所需的时间和精力无动于衷。2005年春,合作于KHTML的两个开发者Zack Rusin 和Carewolf都在博客文章表达了他们的挫折感,不仅在于苹果的“合作”方式,而且也针对KDE社区关于合作关系的看法。
那时,苹果公司现有的合作建立的开源项目开展得并不顺利。他们努力想成为开源社区的好公民,但它在KDE社区的眼中确是不足。看起来苹果的开放源码的尝试是失败的。KHTML和KJS是苹果创造的伟大基甸,但这也证明苹果几乎不可能以社区为所用所享的方式去“回馈”社区。
|