写点什么

你有火狐,我有“水狐”:专为打脸 Mozilla 而生的 Firefox 分支

  • 2021-11-05
  • 本文字数:2384 字

    阅读完需:约 8 分钟

你有火狐,我有“水狐”:专为打脸Mozilla而生的Firefox分支

随着 Firefox 在浏览器市场上的份额持续下滑,名为 Waterfox(水狐)的项目应运而生,而且专门搭载那些用户喜闻乐见、Mozilla 却不以为意的功能改进。事实上,如今对 Firefox 本家一意孤行的反抗已经形成潮流,Waterfox 只是其中的代表之一。

Firefox 与 Waterfox 的“一进一退”

Waterfox 刚刚发布第四个版本,在程序层面有着重大变化,其部分浏览器引擎是由 Rust 编写而成。(Rust 最初诞生自 Mozilla 之手,专门用于火狐浏览器的开发工作。虽然 Rust 大受欢迎,但 Mozilla 仍然粗暴地在三年之内陆续解雇了不少Rust团队成员。)


让我们看回 Firefox Quantum(火狐量子浏览器),相比之下,它的主要问题在于删除了一项非常重要的功能:早在 1997 年就已经引入、基于 XUL 的网景扩展引擎。结果网上评论,删除 XUL 意味着直接丢弃了过去十五年来“由 14274 位开发者创建的总计 19450 款 Firefox 插件”。此举沉重打击了 Firefox 中的一项王牌特性——广泛的用户自定义能力,而这也是 Firefox 同谷歌 Chrome 等其他浏览器间的最大差异。


延伸阅读:《这个曾领先于谷歌和微软的开源项目,为何盛极而衰?


Mozilla 已经不是第一次强行败坏自己在用户中的人缘。而开源项目的一大优势在于,只要有足够多的用户对企业在软件中的调整感到不满,他们就可以创建分叉、沿着自己的想法继续前进。而如果已经有这样的分叉存在,那么本家的疯狂作死将给分家带来宝贵的发展空间。


例如,Mozilla 在 2013 年发布的与 Chrome 高度相似的 Australis 主题就引起了用户不安。尽管如此,它还是在 Firefox 29 中变成了默认设置,促使不少 Firefox 用户转向了分支版本 Pale Moon——目前此分支仍在面向 Windows 与 Linux 的环境里积极发展。Pale Moon 保留了 Australis 之前的 UI,继续坚持单线程设计(因此内存效率更高),而且仍然支持经典的 Firefox 扩展。它还衍生出另一个后续项目 Basilisk,属于基于更高 Firefox 代码库版本的分支更新。


Waterfox 的目标是高端 PC 与 Mac 平台,其首位开发者 Alex Kontos 在学生时代就开始了这个项目,由于 Mozilla 官方一度没有提供正式的 Firefox 64 位版本,Waterfox 当年被作为一种替代方案颇受欢迎。更重要的是,Alex Kontos 把众多有争议的功能都删了,包括 Mozilla 遥测机制、赞助商链接以及 Pocket 等捆绑功能。


值得注意的是,该项目随后再次经历分叉并转而以 Firefox 56 为基础——也是官方支持经典插件的最后一个版本;同时向下移植以保持后续安全修复程序。这个分支如今被称为 Waterfox Classic。


Waterfox 目前有两个分支,Waterfox Classic(经典版)和 Waterfox Current(当前版)。Waterfox 从 56.2.14 版后,开始改名为 Waterfox Classic,版本号以发布年月命名,Waterfox Classic 作为旧分支仍会继续维护,保持安全更新和缺陷修复。除了支持旧扩展之外,Waterfox Classic 还能支持最低至 10.7 的 Mac OS X 系统,对于那些硬件已经不受苹果官方系统支持的老用户来说可谓相当贴心。


新一代 Waterfox 则基于 Firefox Quantum 开发,首版为 Waterfox 68,基于 Firefox 68 ESR 开发,之后版本改叫 Waterfox Current,版本号同样以发布年月命名,Waterfox Current 作为新分支则会聚力于新功能更新,如同 Firefox Quantum 一样也不支持旧式扩展件,旧式扩展件需要移植才能兼容于 Waterfox Current。


虽然 Waterfox 项目本身也存在一些争议,例如被广告供应商 System1 收购这一事实;但与持续衰落的本家 Firefox 不同,Waterfox 仍然保持着蓬勃发展。

各种“打脸”分支

除了之前提到的 Waterfox、Waterfox Classic、Pale Moon 以及 Basilisk 之外,还有其他一些做着 Mozilla 基金会已经不感兴趣的事情的分支。截至上个月,仍有部分 Firefox 分支能够支持老旧 Mac,例如 Parrotgeeks Firefox Legacy 能够支持 Mac OS X 10.6,而 TenFourFox 甚至可以支持 PowerPC Mac。


在网景被挤出市场之前,“Mozilla”是其产品的内部代号。后来,Mozilla 成了开源集成互联网客户端套件的名称,包括浏览器、电子邮件、IRC 及网页编辑器等等。


尽管 Mozilla 一再尝试将 Thunderbird 驱赶出去,但它仍然是目前最受欢迎的跨平台电子邮件(以及 Usenet 与 RSS)客户端。除了常规的免费邮件功能之外,Thunderbird 提供一种便捷的邮件与联系人信息本地备份方式,可以防止服务商意外删除账户。


总的来说,这些 Mozilla 旗下的“前产品”都做得挺不错。Rust 非常出彩,Waterfox 更是欣欣向荣,Thunderbird 定期更新并一直是同类别里的最佳工具。但在此之外,其实还有一项成果的用户比这些加起来还多。


我们还记得当初 Firefox OS 刚刚亮相时的情景:“这是一款极度缺乏想象力的产品,功能设置如同被洗劫过般贫乏。”而且仅仅两年之后,Mozilla 就宣布放弃这套系统以及配套运行的设备。


但现在来看,Mozilla 放弃得太快了。一个名为 Boot to Gecko 的分叉仍然存在,之后被 KaiOS 公司接纳并进行了商业化。KaiOS 是一家由中国设备厂商 TCL 支持的企业,TCL 如今也是黑莓手机的生产商。


到了 2018 年,KaiOS 已经成为增长速度最快的移动平台,并吸引到谷歌与印度最大移动网络 Reliance Jio 的支持。KaiOS 手机的成本可低至 17 美元,虽然只是基础款,但它们仍然能帮助用户访问 WhatsApp、谷歌地图及 Facebook 等。


随着时间的推移,廉价手机已经能够运行更丰富、功能更全面的智能手机操作系统,例如 Android Go……但低端产品的空间总是有的,毕竟 2013 年的时候就有厂商把价格压缩到 13 美元并还能保证自己有利润。而且世界上还有众多贫困人口,技术成本越低、对他们的帮助就越大。


Mozilla 曾经是高阶用户的专用浏览器,从 Mozilla 0.6 和 0.7 早期版本、到后来几乎成为一切 Linux 发行版的默认浏览器时都是如此,包括 Rust 及 KaiOS 在内的众多源自 Mozilla 的技术成果也仍被数亿用户使用。总而言之,Firefox 没必要奔着第一去,但 Mozilla 基金会最好能停下粗暴复制 Chrome 的脚步、并多从 Firefox 的各个分支及衍生产品中学习经验。


参考链接:

https://www.theregister.com/2021/11/04/waterfox_firefox_fork/

https://zh.wikipedia.org/wiki/Waterfox

2021-11-05 14:4510238
用户头像
罗燕珊 InfoQ中文站编辑

发布了 477 篇内容, 共 309.7 次阅读, 收获喜欢 792 次。

关注

评论

发布
暂无评论
发现更多内容

新鲜出炉的Android面试题,确定不来看看吗?还有超详细的答案解析哦~

android 程序员 移动开发

有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!

android 程序员 移动开发

【LeetCode】范围求和 IIJava题解

Albert

算法 LeetCode 11月日更

架构师知识分享:架构设计基础之——设计模式

android 程序员 移动开发

来聊聊 Android Jetpack

android 程序员 移动开发

来自阿里P7的兄弟给我说:赶紧掌握这项技术太吃香了

android 程序员 移动开发

某二次元App签名算法解析(一)

android 程序员 移动开发

原来一个 Map 就能搞定注册表了

悟空聊架构

Eureka 源码剖析 注册中心 悟空聊架构 11月日更

春招总结!大厂淘汰率80%,面试难度极高

android 程序员 移动开发

最后再说一次!!不要在你的App启动界面设置SingleTask-SingleInstance

android 程序员 移动开发

最新Android面试题整理

android 程序员 移动开发

未来大趋势!Flutter-VS-Kotlin-跨平台开发市场的最终霸主究竟花落谁家?你看好谁呢?

android 程序员 移动开发

构建yum库

android 程序员 移动开发

王者荣耀异地多活架构

小智

架构训练营

深入Android系统Binder-1-导读与简介(1)

android 程序员 移动开发

是时候丢掉 onActivityResult 了 !

android 程序员 移动开发

模块化开发一:架构搭建

android 程序员 移动开发

深入Android系统Binder-1-导读与简介

android 程序员 移动开发

深入浅出协程、线程和并发问题

android 程序员 移动开发

是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧

android 程序员 移动开发

毕业不到一年的Android 开发陷于迷茫,请求前辈指点一二

android 程序员 移动开发

求面试别再问我HashMap原理了——史上最全源码解读,别再说你不知道HashMap 原理

android 程序员 移动开发

模板方法模式

android 程序员 移动开发

流媒体协议之WebRTC实现p2p视频通话(二)

android 程序员 移动开发

深入学习-Gradle-自动化构建技术(二)Groovy-筑基

android 程序员 移动开发

最接地气的Android面试总结心得

android 程序员 移动开发

某一线互联网大厂内部超高质量Flutter+Kotlin笔记!技术与实战篇!

android 程序员 移动开发

查漏补缺:十个Handler面试最常见问题,带你全面理解Handler消息机制

android 程序员 移动开发

模块化开发一:架构搭建(1)

android 程序员 移动开发

搞懂钩子方法和模板方法,看完这篇就够了

Tom弹架构

Java 架构 设计模式

深入理解HTTPS协议

android 程序员 移动开发

你有火狐,我有“水狐”:专为打脸Mozilla而生的Firefox分支_开源_Liam Proven_InfoQ精选文章