Fedora's missing Chromium updates
Comparisons between Chrome and Chromium often focus on what the latter browser lacks. It doesn't have Google's automatic updates, for example, and it is missing a number of codecs for problematic media formats. Chromium's ability to use the Google bookmark-synchronization feature was taken away in 2021. But Chromium users can also point to what is gained, starting with the fact that it is free software. Chromium lacks many of the data-reporting mechanisms found in Chrome and is rather less insistent about using one's Google ID with random web sites. Distributors can also add their own features as well.
The problem with Chromium is that it is a huge and messy program to build. The source tarball (compressed) weighs in at well over 1GB. The list of dependencies is long; some of those are bundled with the browser source, while others must be provided by the operating system. The result is that even an out-of-the-box build can be challenging; if the distributor has to make changes to meet its own requirements, the problem gets harder yet.
Fedora does have its own requirements. As a general rule, bundled libraries are not acceptable; packages are expected to use the shared libraries provided by the distribution. Chromium, like other applications, is expected to integrate with the rest of the Fedora environment — working well with the Wayland display system, for example. Red Hat's legal team places its own requirements on software that can be shipped, meaning that some of the code (codecs, primarily) that is part of Chromium must be excluded from the build. And, just because that all isn't challenging enough, Fedora builds the browser with GCC, despite the fact that the Chromium developers use LLVM.
It all comes down to a difficult impedance-matching task for anybody who works to build Chromium for Fedora. This is not a new situation; it first cropped up on LWN back in 2009, when including Chromium in Fedora seemed like an impossible task. Chromium was finally able to enter the Fedora repository in 2013 and has been there ever since. The task of packaging Chromium has gotten easier for distributors since, but "easier" is not the same as "easy".
One of the other advantages claimed for Chromium over Chrome is its faster
update cycle. But source updates and updated packages in distribution
repositories are two different things. The current Chromium release is
99.0.4844.48 but, as of this writing, Fedora is shipping version
96.0.4664.110, which was released in December. Jonathan Schleifer took
to the Fedora development list to complain about this lag. He included
a long list of CVE numbers that have been addressed since Fedora last
shipped a Chromium release, noting that a number of them are said to be
actively exploited on the net. Fedora Chromium users, he said, should
"stop using it NOW
", and Fedora should consider using the
RPM Fusion version, which is currently
at 98.0.4758.102.
Demi Marie Obenour went further, saying
that Fedora should perhaps loosen its standards for the Chromium package:
"In the case of something like Chromium, a sloppy package that gets
timely updates is better than a fully conforming package that does
not
". That led to a strong response
from Neal Gompa, who expressed his disappointment with anybody "who
thinks it's okay to do less than a good job on shipping software
".
Beyond addressing the integration issues (both for users and lawyers) with
Fedora, he said, the Fedora build brings a number of advantages:
For example, Fedora's Chromium will attempt to use Wayland by default on a Wayland desktop. Upstream Chrom(e|ium) is not ready for that yet. We ship VA-API integration, which Google doesn't offer. We have working screencasting on Wayland, which upstream doesn't have right now by default. We can enable security features that upstream refuses to (CaBLE, for example). And so on.
Falling back to "sloppy packaging
", he said, would lose those
benefits. Tom Seewald responded
by saying that, if keeping Chromium current is too much work, the browser
should simply be removed from the repository.
Tom Callaway, who has done the bulk of the work to maintain Chromium in
Fedora for all these years, jumped
in to say that, due to family issues, he has been short of time to work
on open-source projects. He defended the work that Fedora does with
Chromium, though, and said that he had finally managed to get past some
build failures that had been holding things up. The results of that work
can be seen in the Rawhide distribution, which currently ships version
98.0.4758.102. Not that the problem is solved: "Of course, Google
released a new major version this morning, so the terrifying carousel spins
anew
".
Fedora will likely get an updated Chromium in the near future. Meanwhile, the criticisms of its maintenance of the Fedora Chromium package may have encountered strong pushback on the mailing list, but they are not entirely without merit. Shipping an Internet-exposed application with known security holes is the sort of thing that distributors like Fedora normally go far out of their way to avoid, and any users who are compromised by one of those vulnerabilities will take little comfort from the otherwise high quality of the Chromium package. An outdated and vulnerable Chromium package falls short of the standards that the Fedora community sets for itself.
While there are developers who are paid to work on Fedora, the distribution
also depends on volunteers working on their own time. The Chromium package
may have suffered from this; it looks a lot like a heroic, one-person
effort that could benefit from some extra help. Perhaps it is time for
both Red Hat and the Fedora community to try to provide that help. Even
users of other browsers benefit from a solid Chromium package for all of
those "Chrome-only" web sites; failing to provide that could prove harmful
for Fedora in the long run.
