Bugzilla 最初是由開發者 Terry Weissman 於 1998 年為 專案設計開發的,是一個基於 Web 的通用 bug 跟蹤系統和測試工具。如今 Bugzilla 已被 Mozilla 基金會、WebKit、Linux Kernel、FreeBSD、Apache、Red Hat、Eclipse 和 LibreOffice 等組織機構使用。
15 年前,Bryan Rasmussen 在 Bugzilla 上提交了一個「Ability to do Sandboxing of browser, extension components」(對瀏覽器、擴充套件元件進行沙盒處理的功能)。
在 Bryan Rasmussen 提供的詳細說明中,他表示:
我的請求是這樣的:我想把 Chickenfoot 的安全設定成這樣一種方式,即 Chickenfoot 不能存取檔案系統,或者最差的情況下只能存取一個子集。
此外,如果有可能對我允許開啟的檔案系統做一些安全保護那就太好了,一個簡單的安全系統可能是我允許 Chickenfoot 寫入資料夾,但不允許它讀取那裡的任何東西;一個更好的安全保護是我可以設定 Chickenfoot 在檔案系統中的 X 位置寫入擴充套件名為 .xml 的檔案,而在寫入後沒有辦法讀取它,也沒有辦法覆蓋它。
這裡需要說明的是,Chickenfoot 是一個 Firefox 瀏覽器擴充套件,使用者可以使用 Chickenfoot 與多個頁面動態互動、自動化 Firefox 介面的不同部分、跨多個頁面編寫活動指令碼,或者同時使用網頁和本地檔案系統。因此 Chickenfoot 是一個非常強大的工具,適用於任何希望自動化操作或擴充套件網頁功能的開發者。
也正是因為功能強大,Chickenfoot 所需要的許可權也非常多。而 Firefox 以前的 XUL/XPCOM 或 Add-on SDK 就為擴充套件提供了各種相關的許可權,這是 Firefox 瀏覽器中許可權實現方式的一個缺陷。
不過,Mozilla 在 Firefox 57 中就已經徹底放棄了舊版的擴充套件,併為開發者提供了一個全新的 API —— WebExtensions API。WebExtension API 提供了一個使用者控制的、以 Web 為中心的擴充套件開發平臺,用於擴充套件 Firefox 的功能。根據 Mozilla 的說法,該 API 在擴充套件給 Firefox 帶來的功能和它們給使用者體驗帶來的風險之間取得了平衡。
因此這個 15 年前所提交的請求,本質上並未得到修復,而是以 「沒有進行修復而被意外修復」 的方式得到了解決。
針對一個問題持續追蹤 15 年是不是從側面說明,Bugzilla 確實是一個非常優秀的 bug 跟蹤系統呢?