跳轉到

1998:Mozilla 開源與自由軟體瀏覽器之路#

事件#

1998年1月,面對微軟 IE 的猛烈攻勢(IE 已靠 Windows 綁定逆轉市佔),Netscape 宣布開放 Navigator 程式碼,成立 mozilla.org。這是史上第一個大型商業軟體開源化的案例之一。

為何重要#

  • 開源的程式碼庫後來重寫為 Gecko 引擎,成為 Firefox(2004)的核心。
  • Mozilla 成立後持續推動網頁標準(CSS、DOM、ECMAScript),並在2003年推出 Firebird/Thunderbird,2004年推出 Firefox 1.0。

理論與實用原因#

  • 實用原因:Netscape 市佔崩盤,閉源商業模式已無法與微軟競爭;開源能動員社群維持瀏覽器多元性。
  • 理論原因:呼應「網路必須是開放平台」的信念——瀏覽器若被單一廠商壟斷,網頁標準(包括 JavaScript)就會碎片化。

彌補了什麼缺陷#

彌補了瀏覽器市場單一壟斷(IE 6 一度市佔95%以上)造成的創新停滯與標準碎片化問題。Firefox 2004年的問世直接促成第二次瀏覽器大戰,也間接刺激 Google 開發 Chrome(2008)。

相關條目#

程式範例#

開源化後,Gecko 引擎的「標準優先」哲學可以用一個例子說明——W3C DOM Level 2 事件模型:

// Gecko(Mozilla/Firefox)忠實實作 W3C 標準
element.addEventListener("click", (e) => {
  e.preventDefault();        // 標準介面:事件物件由參數傳入
  console.log(e.target.id);  // e.target 指向實際目標
}, false);

// 同期 IE 的專屬實作(標準缺席的對照組)
element.attachEvent("onclick", function () {
  window.event.returnValue = false;   // IE:全域 event、無 preventDefault
  console.log(window.event.srcElement.id);
});

Firefox 推出後,「標準碼」逐漸成為主流; Gecko 的實作更成為標準測試的基準——這正是「標準優先的開源瀏覽器」對 JavaScript 生態的最大貢獻:語言與 API 的演進不由單一廠商決定。