Fedora, FFmpeg, Firefox, Flatpak, and Fusion
FFmpeg and Firefox
At the beginning of June, Otto Urpelainen posted
(on the Fedora development list)
about some surprising behavior he had observed on his system. Initially,
the Firefox browser was able to play the videos he wanted to watch.
Installing Fedora's ffmpeg-free package, though, caused those
videos to fail to play. As Urpelainen noted: "This is unexpected,
because one would expect that installing any variant of ffmpeg would
improve video support, not degrade it
".
As Kevin Kofler pointed out, this behavior looks like a bug in Firefox, which is unable to find the OpenH264 variant of the H.264 decoder found in the ffmpeg-free package. But it was not lost on anybody that this problem does not occur if the version of FFmpeg shipped by RPM Fusion is installed instead, and that the H.264 codec found there doesn't require the various convolutions required to get OpenH264 onto Fedora. The H.264 support in RPM Fusion is thought by some to work better as well. For this reason, Vitaly Zaitsev said that the proper solution is for users just to enable RPM Fusion.
Michael Catanzaro took issue with that advice:
Vitaly, your suggestions to enable rpmfusion are not helpful for inexperienced Fedora users, who expect multimedia to work out-of-the-box. Common multimedia needs like "play a video" absolutely need to work without rpmfusion, and we need Fedora developers testing this to make sure it works.
But Kofler replied that "It
is common knowledge that Fedora is/was effectively useless for anything
remotely related to multimedia without RPM Fusion packages
". Zaitsev
doubled
down later by saying that Fedora should simply preload the RPM Fusion
repository so that users need not go through the process of learning that
they need it and figuring out how to enable it themselves.
That is the process that is required now; a new Fedora installation will not be set up to obtain packages from RPM Fusion and will not help users understand that, sooner or later, they will have to configure that repository. But fixing that problem still does not appear to be in the works; one of the constraints placed on the Fedora project is that it cannot help users find repositories containing code that, for example, might have patent problems in some jurisdictions. This "pretend it's not there" approach has led to a certain amount of frustration over the years.
Enter Flatpak
More recently, though, there has been a development on a related front. In June 2021, the project adopted a proposal to set up the Flathub repository by default on Fedora systems. Flathub is, like RPM Fusion, an independent repository (run by the GNOME Foundation) and, again like RPM Fusion, it contains software that Fedora cannot distribute, but it distributes packages in the Flatpak format rather than using RPM. There is a push within Fedora to ship applications as flatpaks rather than as RPMs. Flatpak makes dependency management easier and, in theory at least, can run applications within secure sandboxes, but many developers see the format as inferior and would prefer to avoid it.
The Flathub repository was set up in a "filtered" mode, meaning that only applications that were acceptable to Fedora would be available (by default), but that still left room for proprietary flatpaks like Zoom, Microsoft Teams, and Minecraft. Last April, though, the situation changed: permission had been received to drop the filtering and present the full Flathub repository to users. Fedora developers are currently working on enabling this change for the upcoming Fedora 37 release. Catanzaro welcomed this news:
Er, so everything from Flathub is fine now, no restrictions? Seriously great news. In this case, I'd say priority one is to stop shipping Fedora's Firefox and Totem altogether, and default to getting them from Flathub instead.
Not everybody was so joyful, especially given that the plan is to have the system select a flatpak package over a traditional RPM package when both are available. Deferring to an outside repository for important packages like Firefox is also not universally accepted as ideal. But the idea that Fedora can now freely set up access to an external repository with software that Fedora cannot ship itself is generally welcome. It could be a solution to Fedora's longstanding limitations with regard to problematic media formats.
Why not RPM Fusion?
Since that decision was made, developers have been asking if access to RPM Fusion could be preloaded in Fedora as well, always to be told that it is not possible. The question came up again in this conversation as well; Catanzaro responded:
For avoidance of doubt, Fedora Legal has decided we may use flathub but not rpmfusion. As I explained to you previously, they have also decided not to share their reasoning for this.
Fedora project leader Matthew Miller answered with a pointer to this explanation:
Flathub is a third-party repository which provides software for various Linux distributions. It doesn't shape what software it carries around what Fedora does not. It fundamentally exists to solve a problem with Linux app distribution to which our policies around licensing, software freedom, and etc., are incidental. This makes it a different case.
It is fair to say that not everybody finds this explanation convincing.
Kofler described
it as "an absolutely ridiculous double standard
". "Maxwell G" called it "a
pretty flimsy argument
". Petr Pisar tried
to explain the difference: RPM Fusion specifically targets Fedora, while
Flathub is not Fedora-specific, and that somehow makes a difference.
The logic behind this policy surely makes sense to somebody in Red Hat's
legal department, but it may have some unfortunate consequences in the
Fedora user community. It is not hard to imagine that it could be causing
a lack of morale among the RPM Fusion developers, who have worked for many
years to address a key shortcoming in Fedora systems. If Fedora pushes its
users toward the Flathub solution, RPM Fusion may eventually just give up,
leaving no alternative to Flathub, which is a less-appealing repository for
many. It is not at all clear that Fedora and its user community would be
better off in that world.
