跳轉到

節標題:IE 壟斷的傲慢:十年的版本停滯#

2001 年 10 月 25 日,微軟發表 Windows XP,Internet Explorer 6 隨之登場。沒有人想到,這個版本的瀏覽器,將以幾乎原封不動的姿態統治 Web 長達五年以上——它的介面、它的渲染引擎、它的安全模型,在 2006 年看起來與 2001 年一模一樣。這五年,被前端開發者稱為 Web 的「黑暗十年」中段。

IE6 的勝利是徹底的。自從 1995 年微軟發動「 Internet Tidal Wave」備忘錄後的總動員以來,IE 以捆綁 Windows 的優勢、免費的策略、以及快速追趕的功能,逐步蠶食網景的地盤。2001 年前後,IE 的市場份額達到約 95% 的壟斷頂點——這是自作業系統以來,軟體史上最極端的壟斷之一。2001 年美國司法部的反壟斷訴訟雖然判定微軟濫用壟斷地位,但制裁遲到,市場格局已定。

接下來發生的事,是壟斷經濟學的教科書案例:微軟解散了瀏覽器團隊。IE6 出貨後,原本數百人的 IE 開發力量被調往 Visual Studio .NET 等獲利主力專案。從 2001 到 2006,市面上幾乎沒有新版 IE(IE7 要到 2006 年 10 月才問世)。這個決策的背後,是一個冷靜得近乎冷酷的商業邏輯:

瀏覽器本身不賺錢。它免費、維護成本高、沒有直接營收。微軟在乎的從來不是瀏覽器,而是它守護的東西——Windows。1995 年的夢魘是:如果 Netscape Navigator 變成「作業系統之上的作業系統」,應用程式都透過瀏覽器與 Java applet 跑在 Web 上,那 Windows 就退化為一個廉價的硬體驅動層。瀏覽器是防禦工事,仗打贏了(網景倒了,Java applet 沒成氣候),工事就不再需要維修。

於是創新停滯的清單越拉越長:CSS 支援殘缺(盒模型錯誤、float 處理古怪,IE6 的 hasLayout 機制成為玄學);PNG 的 alpha 半透明通道不支援,設計師被迫用 GIF 醜陋的鋸齒;沒有分頁(tabs)——開十個網站就是開十個視窗塞滿工作列;彈出視窗廣告氾濫成災,瀏覽器卻長年不提供阻擋;ActiveX 的安全模型災難性地把系統權限交給網頁元件,間諜軟體、木馬在 2003-2005 年間大爆發,使用者電腦淪為殭屍網路的溫床。安全研究者每年在 IE 上找到上百個漏洞,修補像補漏的船。

而在壟斷的陰影之外,被遺忘的競爭者正默默前進。

Opera 是挪威的小公司,從 1995 年就堅持做又快又小的瀏覽器,它是分頁瀏覽的發明者(1994/1996 年即有 MDI 式分頁)、滑鼠手勢、快進快退、以及後來「 opera.com 佔位符」之外無數創新的源頭。它的份額始終不到 1%,卻是工程師的私房珍寶。Safari 在 2003 年 1 月由蘋果發表,核心是 WebKit 引擎——脫胎於 KDE 的開源排版引擎 KHTML。蘋果選擇 KHTML 而非 Gecko(Mozilla 的引擎),因為它小、乾淨、可移植;這個選擇在日後影響深遠,WebKit 後來成為 Chrome 的基礎。Firefox 的誕生最富戲劇性:網景 1998 年開源了程式碼成為 Mozilla 計畫,但 Mozilla 套件龐大笨重,2002 年一群工程師(Ben Goodger、Blake Ross、Dave Hyatt 等年輕核心成員)決定另起爐灶,做一個「只做瀏覽器」的輕量專案,先叫 Phoenix,因商標糾紛改名 Firebird,最後 2004 年 11 月定名 Firefox 1.0。分頁、彈出視窗阻擋、擴充套件生態(AdBlock 等)、開源透明——它精準打在 IE6 的每個痛點上。Firefox 份額從零爬升,2006 年前後達到 10-15%,頭一次讓微軟感受到市場壓力,才迫使微軟重啟瀏覽器開發、在 2006 年推出久違的 IE7。

這段歷史的教訓清晰而殘酷:壟斷讓平台停滯十年,Web 的進步被迫寄生在草根社群——開源志工(Mozilla)、歐洲小公司(Opera)、以及把瀏覽器當工具而非堡壘的蘋果。經濟激勵消失時,創新不會消失,只是搬家。而那十年之間,被迫在 IE6 的殘缺上討生活的第一代前端工程師,則淬鍊出一門黑色的手藝——相容性地獄裡的求生術,這是下一節的故事。