Bugzilla 最初是由开发者 Terry Weissman 于 1998 年为 Mozilla.org 项目设计开发的,是一个基于 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 跟踪系统呢?
