关注了就能看到更多这么棒的文章哦~
Fedora's missing Chromium updates
By Jonathan Corbet
March 4, 2022
DeepL assisted translation
https://lwn.net/Articles/886609/
谷歌的 Chrome 浏览器如今似乎主导了互联网,但这并不意味着每个人都想使用它。Chrome 浏览器是建立在一个名为 Chromium 的开源项目上的,但 Chrome 本身并不是一个开源产品,它包括了一些专有的(proprietary)附加组件(add-ons)。但是,Chromium 的源代码完全公开,只要花费一些功夫,就可以用来建立一个可以使用的开源浏览器。一些发行商就在这样做。但是 Chromium 是出了名的难以做成 package,发行版提供商有时也很难跟上它的步伐;最近 Fedora 社区的一场讨论让人们重新关注这个问题。
比较 Chrome 和 Chromium 的时候,往往关注点都集中在后者所缺乏什么功能上。例如,它没有谷歌的自动更新,而且它缺少一些很麻烦的媒体格式的编解码器。Chromium 中谷歌书签同步的功能在 2021 年也被剥夺了。但 Chromium 用户也可以指出用它能得到哪些好处,首先是它是免费软件,并且 Chromium 不包含 Chrome 中的许多数据报告(data-reporting)机制,而且也不是那么固执地要求在各种网站上都要使用自己的谷歌 ID 来登录。发行版提供商也还可以自己添加功能。
Chromium 的问题是,它是一个庞大而混乱的程序。源码压缩包本身就远远超过 1GB 了。它的依赖也非常多,其中一些是与浏览器源代码捆绑在一起的,而另一些则必须由操作系统提供。因此导致的结果是,哪怕是希望下载下来之后直接编译都是很有挑战性的工作。如果发行商想要进行修改来满足自己的要求,那就就更难了。
Fedora 确实有自己的一些特殊要求。有一个通用规则就是不可以捆绑库文件进来(bunduled library),软件包应该使用发行版中提供的共享库。Chromium 要跟其他应用程序一样与 Fedora 环境的其他部分配合好,例如要能与 Wayland display system 配合好。红帽的法律团队对可以发布的软件也提出了自己的要求,这意味着作为 Chromium 一部分的一些代码(主要是编解码器)必须从编译构建的过程中排除出去。而且,似乎因为这一切还不够有挑战性,Fedora 还要用 GCC 构建浏览器,尽管 Chromium 的开发者都是使用 LLVM。
对于任何为 Fedora 构建 Chromium 的开发者来说,这一些都像是在完成一个困难的适配工作。这不是什么新的情况,它第一次出现在 LWN 上进行介绍是在 2009 年,当时将 Chromium 纳入 Fedora 似乎还是一个不可能的任务。2013 年,Chromium 终于能够进入 Fedora 软件库,并且一直得到了支持。此后,Chromium 的打包任务对发行商来说变得更容易了,但 "更容易" 并不等同于 "容易"。
与 Chrome 相比,Chromium 声称的优势之一是其具有更快的更新周期。但源码更新和发行库中的更新包是两码事。目前 Chromium 的版本是 99.0.4844.48,但截至本文写作时,Fedora 正在发布的还是 12 月时候的 96.0.4664.110 版本。Jonathan Schleifer 在 Fedora 开发邮件中抱怨了这个滞后问题。他列举了一长串自 Fedora 上次发布 Chromium 版本以来已经得到解决的 CVE 编号,指出其中一些据说在网上正在被进行针对性的利用。他说,Fedora Chromium 用户应该 "立即停止使用",Fedora 应该考虑使用 RPM Fusion 版本,目前是 98.0.4758.102。
Demi Marie Obenour 更进一步说,Fedora 也许应该放松对 Chromium 包的标准了:"就 Chromium 这样的东西而言,一个得到及时更新的不那么完美的发布包要比一个不符合要求的发布包好"。这引起了 Neal Gompa 的强烈反对,他对任何 "认为在发布软件方面做得不够好的人" 感到失望。他说,除了解决与 Fedora 的整合问题(包括面向用户和律师的工作)之外,Fedora 构建带来了许多优势。
例如,Fedora 的 Chromium 将尝试在 Wayland 桌面上默认使用 Wayland。上游的 Chrom(e|ium)还没有准备好。我们提供 VA-API 集成,这是谷歌没有提供的。我们在 Wayland 上可以进行截屏,而现在上游默认是没有这个功能的。我们可以启用上游拒绝的安全功能(例如 CaBLE)。等等。
他说,退回到 "简单地打包发布" 的话,就会失去这些好处。Tom Seewald 回应说,如果很难保持 Chromium 的及时发布,那就应该把浏览器从版本库中删除。
Tom Callaway,这些年来为维护 Fedora 中的 Chromium 做了大量的工作,他跳出来说,由于家庭问题,他一直没有时间去做开源项目。不过他为 Fedora 在 Chromium 方面的工作进行了辩护,并说他终于设法克服了一些阻碍工作的构建失败问题。这部分工作的成果可以在 Rawhide 发行版中看到,它目前的版本是 98.0.4758.102。并不是说问题已经解决了。"当然,谷歌今天早上发布了一个新的主要版本,所以可怕的旋转木马又开始旋转了"。
Fedora 很可能在不久的将来会得到一个更新过 Chromium。同时,对其所维护的 Fedora Chromium 软件包的批评可能在邮件列表中遇到了强烈的反击,但它们并不是完全没有道理的。发布一个存在已知安全漏洞的互联网应用程序是像 Fedora 这样的发行商应该要竭力避免的事情,任何被这些漏洞影响的用户都不会从 Chromium 包的其他优势中得到安慰。一个过时的、有漏洞的 Chromium 软件包没有达到 Fedora 社区为自己设定的标准。
虽然有开发者为 Fedora 工作是得到工资收入的,但这个发行版也很依赖志愿者利用自己的时间进行的工作。Chromium 软件包可能因此受到影响,它看起来很像一个人的英雄主义努力,可以从一些额外的帮助中受益。也许现在是时候让 Red Hat 和 Fedora 社区尝试提供这种帮助了。这样包括其他浏览器的用户也能从一个可靠的 Chromium 软件包中受益,因为有很多网站 "只用 Chrome" 的网站。从长远来看,不提供这种帮助,可能对 Fedora 是有害的。
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~