Snapping at Canonical's Snap: Linux Mint team says no to Ubuntu store 'backdoor'
Version 20 will ship without any snap packages, snapd daemon
Updated The developers of Linux Mint have expressed concern with Canonical's Snap Store and the way it is forced on Ubuntu users who try to install popular packages like the Chromium web browser.
Linux Mint has editions based on either Ubuntu or Debian, so Canonical's decisions have a direct impact on the open-source operating system. Linux Mint 20, expected this month, is based on Ubuntu 20.04 LTS.
The Snap store is an alternative to traditional deb packages for installing applications, and one which Canonical promotes as superior. The approach is different, using container technology, and you can find a full technical explanation here.
History of Snap
A Snap package is a self-contained application which is sandboxed and signed. Snap updates are transactional so if an update fails, the older version should continue to work. The package will work across many versions of Linux. Snap packages have some overhead both in size and startup time, but also have benefits in ease of use and security for the user, and in allowing developers to build one installation package instead of many.
In 2019 Canonical said that it was transitioning the Chromium deb package from deb to snap. Chromium, as Reg readers know, is the open-source web browser that is the basis for Google Chrome. Google Chrome itself is distributed separately by Google and is proprietary software that is not affected.
Canonical said that "maintaining a single release of Chromium is a significant time investment for the Ubuntu Desktop Team," thanks to the appearance of a major new version every six weeks, and that "ensuring Chromium even builds (let alone runs) on older releases such as 16.04 can be challenging."
The Snap packaging solves these issues and lets the team build just one package per architecture. Maintaining both Snap and deb versions was too much work so: "In 19.10, the chromium-browser deb package (and related packages) have been made a transitional package that contains only wrapper scripts and a desktop file for backwards compatibility. When upgrading or installing the deb package on 19.10, the snap will be downloaded from the Snap Store and installed."
Mint gets fresh: 'A self-installing Snap Store which overwrites part of our APT package base is a complete NO NO'
The Mint developers are resistant, though, saying Snap comes with too much Canonical baggage, and in particular seems tied to the official Snap store. "When snap was announced it was supposed to be a solution, not a problem. It was supposed to make it possible to run newer apps on top of older libraries and to let 3rd party editors publish their software easily towards multiple distributions, just like Flatpak and AppImage. What we didn't want it to be was for Canonical to control the distribution of software between distributions and 3rd party editors, to prevent direct distribution from editors, to make it so software worked better in Ubuntu than anywhere else and to make its store a requirement," said Clement Lefebvre on behalf of the team.
"I don't think the points we're raising here are well understood by the community. I hope we'll talk with Ubuntu and the Snap project about this. We're very interested in your feedback as well. A self-installing Snap Store which overwrites part of our APT package base is a complete NO NO. It's something we have to stop and it could mean the end of Chromium updates and access to the snap store in Linux Mint."
June's Mint 20 won't ship with snap, will tell you where to get Chromium yourself
Those issues have not gone away. In a post yesterday, the developers said that "in the Ubuntu 20.04 package base, the Chromium package is indeed empty and acting, without your consent, as a backdoor by connecting your computer to the Ubuntu Store. Applications in this store cannot be patched, or pinned. You can't audit them, hold them, modify them or even point snap to a different store. You've as much empowerment with this as if you were using proprietary software, i.e. none."
In Linux Mint 20, APT will forbid snapd from getting installed
Linux Mint 20 – codenamed Ulyana – will not ship with any snap packages or the snapd daemon, and will be tweaked so that the Chromium package will be "an empty package which tells you why it's empty and tells you where to look to get Chromium yourself." Further, "In Linux Mint 20, APT will forbid snapd from getting installed." APT is the standard manager for traditional Linux packages.
Users can still install Snap if they choose, and this will be documented, but it will not happen automatically.
It is a curious situation, considering the close relationship between Linux Mint and Ubuntu, and it is hard to see how Mint can resist the Snaps tide long-term unless it pivots, perhaps, to focus more on its Debian variant. We have asked Canonical for comment. ®
Updated at 13:44 on 3 June to add:
A spokesperson got back to us to say that "Canonical designed snaps based on a number of principles which include security, ease of use and to reduce fragmentation in the Linux ecosystem.
"Outside of Ubuntu, Linux Mint has the highest number of users across all compatible distributions. These users have chosen to install snaps based on the reasons outlined above among others.
"We appreciate and encourage their adoption of the snaps available in the Snapcraft Store. We would welcome Linux Mint to engage with us and our community to discuss such topics, as we do with other distributions, and work together going forward."