Mozilla 宣布,Firefox 插件开发将迎来重要的变革。
在博文 Firefox 插件开发的未来中,Mozilla 产品经理 Kev Needham 说,插件生态圈“在过去的这些年里获得了长足的有机的增长”,但 Firefox 需做出根本性的变革以“实现其现代化”。
其中一项大的变化就是 WebExtensions API。Needham 称,Mozilla 希望插件开发能够更多地借鉴 Web 开发,“在标准定义的行为集下,同样的代码应当能够运行在多个不同的浏览器上”。
为此,Needham 说,WebExtensions 使得人们在多个浏览器上开发扩展程序变得更容易了,他说:
为 Chrome、Opera、甚至可能在将来还包括 Microsoft Edge 等浏览器遍写的扩展代码能在略作修改之后,以 WebExtension 的形式运行在 Firefox 上。采用这种现代的且以 JavaScript 为中心的 API 有许多的优势,包括默认支持多进程浏览器以及降低了来自不良插件和恶意软件所带来的风险。
WebExtensions 运行起来与其他的 Firefox 插件相似,它将先由 Mozilla 进行认证,然后通过 addons.mozilla.org (AMO) 或者开发者的网页发布出去。使用该 API,扩展开发者只需做少许修改以适配每个平台,并进行重打包,就能获得运行在 Firefox 和 Chrome 上的同样功能的扩展程序。
此次新变化还包括,要求插件在部署安装之前必须通过 Mozilla 的审核和认证。早在四月份的时候,Mozilla 的安全负责人 Daniel Veditz 发表了一篇文章,扩展程序需要签名认证的理由,回应了许多来自开发社区的反馈意见,此前Mozilla 的声明在开发社区中引发了大量的讨论。Veditz 提到,成千上万的用户的互联网浏览器体验受到了来自“那些用户并没有选择的第三方插件”的影响,并且“获利的是第三方,不是用户”。
Veditz 还说,那些最不受欢迎的插件“在一定程度上都是与广告相关的”,这些插件会“破坏浏览器的安全基础”且违反了“ Mozilla 的基本准则:保护个人在网络上的安全与隐私是一项原则立场,不容放弃。”
尽管在 Firefox 42 之前,签名认证将不会强制执行,但 Firefox 40 的用户现在已经能够查看安装的扩展程序是否经过了验证。
开发社区对 Mozilla 的声明反应不一。在 Needham 文章的评论区,用户 DMcCunney 说,他们对声明怀有“深切的复杂情感”,留言里说:
我能理解 Mozilla 出于安全担忧提出了签名认证要求,但安全问题究竟有多严重?现在有多少经证实的用户报告他们受到了恶意扩展程序的侵袭?我去查了,但并未看到有这样的情况,当然也可能是我没找对地方吧。难道这个解决方案是针对一个实际上并不存在的问题而设置的吗?如果有证据能表明这确实是一个问题,请给出线索指示。
我现在最大的担忧是,迟早,我将不能运行未认证过的扩展程序。
在 Reddit 上展开的关于开发Firefox 插件的未来的讨论中,用户 iamncla 表示对声明感到很开心,说“我有相当多的Chrome 扩展程序,它们都有巨大的用户基数(300K+ 用户),但却没法把它们也添加到Firefox 上,因为Firefox 和Chrome 用的扩展程序的API 不一样。新的变化对想拥有一份Firefox 版本的插件的开发者或者用户来说,简直是太棒了。”
其他人的留言就没有这么委婉了。插件 downthemall 的开发者 Nils Maier ,在博文后留言评论道,
我在考虑暂时放弃插件开发,主要原因是,围墙花园式的签名认证方法又来了,这种做法是我过去一直强烈反对的,并且现在仍然强烈反对它……
但对基于 XUL 的以 XPCOM 访问的插件感到“不以为然”可真是让人忍无可忍了。如果真这样了,我肯定会撤走。因为接下来我根本就不能开发大部分我的插件,这些插件不适配或者不能适配“WebExtensions”API。基于 XUL 的插件所拥有的灵活性本是 Firefox 插件生态圈的一大卖点,因此它也是最后剩下的能表明 Firefox 自身尚未完全偏执化的卖点之一。
Needham 宽慰那些对新变化感到担忧的开发者们,说 Mozilla 重申了它对插件开发社区的“承诺”,将继续与开发者们一道“在插件移植、新 API 的设计以及创造出让 Firefox 变得更棒的创新性的新插件上”保持协作。
Needham 还谈到,在接下来的几周到几个月时间里,Mozilla 将持续放出额外的资源,用于更深入地阐述这些新的变化,同时也将通过 Mozilla 开发网, IRC (in #extdev) 和扩展程序开发组提供支持。
评论