上周四,Google宣布从WebKit 分支出自己的浏览器渲染引擎 Blink。很多人觉得这像是晴天霹雳,或者甚至是迟到的愚人节笑话,但是其实这件事情是难以避免的,而且是历史的重演。 什么是WebKit?它到底是谁的? WebKit 是一个开源的浏览器引擎。它的前身是 KDE 在 1998 年开发的排版引擎 KHTML,最初用于 Linux 和 Unix 等开源操作系统。当时苹果觉得需要开发自己的浏览器,所以在比较了 Netscape(现在的 Firefox)的 Gecko 引擎 和 KHTML 引擎后,选择了后者,因为 KHTML 拥有更清晰的架构,而且比 Gecko 更小巧。苹果工程师 Don Melton 在 2001 年六月 25 号正式从 KHTML 分支出来,在苹果内部开始了 WebKit 的研发。 开始的时候,苹果和 KHTML 的关系还是不错的。苹果将 KHTML 发扬光大,在 2003 年推出了装备 WebKit 引擎的浏览器 Safari。但是随着时间的推进,WebKit 和 KHTML 之间交换代码变得越来越困难。苹果会间隔很长时间之后,提交一大批更改,而且没有文案,很多功能可能只开发了一半。对于 KDE 而言,将这些更改整合回 KHTML 是相当困难的。此外,苹果要求 KDE 开发者阅览苹果代码之前必须签署保密条款,KDE 也很难接受这一点。在 2005 年,KDE 开发者开始公开攻击苹果的做法,并称两方的合作关系已经彻底瓦解了。 事情被媒体报道之后,苹果做出了一系列的让步。在 2005 年,苹果宣布将 WebKit 完全开源(之前仅有从 KHTML 直接搬来的 WebCore 及 JavaScriptCore 是开源的)。KDE 和苹果的关系也得到了一些改善,有一些 KDE 的开发者们开始为 WebKit 提交更改,苹果的团队也复原了很多为苹果特定的修正,并且实现了平台层的抽象化,使引擎的核心代码可以在其他平台上运作。但是 KDE 没有忘记苹果的背叛,他们没有完全加入 WebKit 的开发,而是在 2010 年底推出了 KDE 开发平台 4.5,并列支持 KHTML 和 WebKit。 |