Fedora, GNOME Software, and snap
A question about the future of package distribution is at the heart of a disagreement about the snap plugin for the GNOME Software application in Fedora. In a Fedora devel mailing list thread, Richard Hughes raised multiple issues about the plugin and the direction that he sees Canonical taking with snaps for Ubuntu. He plans to remove support for the plugin for GNOME Software in Fedora 31.
There are currently two major players for cross-distribution application bundles these days: snaps, which were developed by Canonical for Ubuntu and the Snap Store, and Flatpak, which was developed by Alexander Larsson of Red Hat as part of freedesktop.org. Both systems are available for multiple Linux distributions. They are meant to give an "app-like" experience, where users simply install an application, which comes with any dependencies it has that are not provided by the snap or Flatpak runtime.
The GNOME Software application has a snap plugin that, when enabled, supports the distribution, installation, and management of snaps. The Fedora project currently provides the snap plugin as a package in Fedora 30, though it is not installed by default. Hughes is the Fedora maintainer for the plugin; he announced his intention to disable the plugin since, he says, he was told that Canonical was not going to be installing GNOME Software in the next Ubuntu Long Term Support (LTS) release.
Hughes is also concerned about the stability of the snap plugin, noting that
"the existing snap plugin is not very well tested and I don't want
to be the one responsible when it breaks
". Additionally, Hughes
outlined a
few other areas of concern that have led him to plan to drop support
for the snap plugin in Fedora.
The other issue that Hughes raised is that in his view, enabling the snap plugin would also enable the Snap Store, which would be a violation of Fedora rules for enabling access to non-free software (the same is true of enabling Flathub support, he said). He noted that he expects that the decision will be controversial and that there will be those that want it turned back on in GNOME Software. He suggested a path forward if there were developers interested in maintaining snap support for GNOME Software:
In a blog post, Hughes provided his views on the situation and the bigger picture. The post was of the form of an extended automotive analogy that took issue with companies that are not working toward enabling an open ecosystem supported and used by multiple parties. Overall, it was a thinly veiled swipe at Canonical.
Among those that disagreed with the decision was Fedora contributor Neal Gompa who disputed many of Hughes's assertions, including the claim that snaps are not sandboxed.
We've been working very hard upstream on improving this story for Fedora, and we've made tremendous progress.
Canonical responds
At the core of the issue of whether Fedora will or won't ship the snap plugin is whether or not Ubuntu will be moving away from GNOME Software and just use its own Snap Store by default for the next Ubuntu LTS release. It's a question that Canonical has not definitively answered, though it has stated that it plans to keep supporting the snap plugin for GNOME Software.
LWN contacted Canonical to ask about Hughes's claims. In an email, Will Cooke, desktop engineering director at Canonical, said that in the last week there have been several discussions at the company about the Snap Store. "To date, there has been no decision on this potential change, nor have any announcements been made to this effect," he said. "We remain committed to maintaining snap support in GNOME Software and ensuring users who wish to use snaps can do so regardless of their Linux distribution."
In the mailing list thread, Canonical developer Robert Ancell
emphasized that Canonical is committed to maintaining the GNOME Software
snap plugin. He also extended an offer of support to help Fedora
include the snap-plugin in a way that is stable. "We're happy for the snap
plugin to be built in a separate source package for Fedora if that's
necessary and we're obviously keen to see snapd-glib up to date in
Fedora
", Ancell wrote. "The
dependencies are fairly light so it should be quick to
update but let us know if there is anything we can do to make this
easier.
"
Gompa responded, wondering how the situation had deteriorated to the point where the plugin was seen by Hughes as being unstable. Rather than building a Fedora-specific source package, Gompa would prefer everything to be done upstream, and is hopeful for more communication to help identify any issues.
Flatpak vs. snap
Red Hat is a big supporter of Flatpak. The Fedora Silverblue distribution is designed with Flatpak as a core component, for example. In an interview with LWN, Fedora Project Leader Matthew Miller said that, in his view, Flatpak and snap can both happily coexist. "Obviously Red Hat's desktop team is heavily invested in Flatpak, and we also have members of the Fedora community who are very interested in snaps — and I include Canonical employees working on snap in that," he said.
Of concern to Miller is the source of snaps and in making sure that there are multiple developers and organizations that are producing snaps that are available via GNOME Software. Miller noted that the Fedora project is not just a producer of a base operating system, or just a desktop without apps, it also has a long history of contributors working on packaging end-user applications. "We have a project where Flatpaks in Fedora are actually automatically generated from our existing packages, and some Fedora developers are working on a plan for doing a similar thing with Snaps," Miller said. "We have a talk on that at our upcoming Flock conference and I'm looking forward to learning more."
Decision time
From a governance perspective, Miller explained that Fedora has a defined change process and it's ideally used for anything with a large impact. In Hughes's view, the snap plugin change would only have limited impact. Hughes said that the snap plugin was never shipped for Red Hat Enterprise Linux (RHEL) and it's not a feature that is installed by default for Fedora. The change would only impact a small number of people, he said, so it may not need a full-on change proposal. Fedora program manager Ben Cotton said that while a change proposal would be nice, it probably isn't needed; adding something to the Fedora 31 release notes should do.
Decisions on minor changes can be handled by Fedora maintainers. Miller noted that if Hughes feels like he can't reasonably maintain a feature, that's a judgement call. "Ultimately we do put a lot of trust in our maintainers, and I personally have a lot of trust for Richard here," Miller said. But Miller noted that currently it sounds like there is community interest in preserving the snap plugin and he thinks it's likely that someone will step up to do that. "This is still a developing conversation," he said.
From a user perspective, however, even if Fedora 31 disabled the snap plugin in GNOME Software, users could still download GNOME Software directly from upstream, which still has the plugin."Either the functionality will have a strong owner and support, in which case there will be no problem in Fedora, or else it'll become clear that it's not maintained in which case it will be dropped upstream as well," Miller explained.
The discussion is likely to continue for a while
longer as different developers and community members make their voices
heard on the topic. Fedora 31 is currently scheduled
for release in October, with a beta freeze set for August, so there is
still plenty of time for a final decision to be made.
| Index entries for this article | |
|---|---|
| GuestArticles | Kerner, Sean |
