Ever since Ubuntu 16.04, which launched just under two years ago, Canonical has made it possible to install snap packages. Snaps are self-contained applications that include dependencies for the software to run, they also bolster security by giving developers more control over the update process and the dependencies. Now, Canonical is trying to formulate policies around snaps which it wants to ship by default in future versions of Ubuntu.
Ubuntu snaps have been picking up steam in recent weeks with Spotify becoming available in December, Slack becoming available in January, and Skype becoming available in February. With the ecosystem becoming more mature, Canonical now wants to set out its policies surrounding the usage of snap packages that it decides to ship with Ubuntu.
In a post on the Ubuntu mailing lists, Steve Langasek, said:
“Snaps represent a new way of building packages with reduced barriers to entry. By design, the snapcraft tooling imposes very little policy to avoid also introducing friction. As more software becomes available as snaps, we want to take advantage of this body of packages as part of the default Ubuntu experience, but maintaining the Ubuntu community’s commitments around this default experience means reintroducing policy on top of snaps. This document is an attempt to translate existing policy for the Ubuntu archive to the new world of the Canonical Snap Store.”
Here are some of the highlights from the draft posted by Langasek:
- There should be a commitment to handle upgrades cleanly and provide continuity of behaviour across updates within the stable channel.
- Snaps included by default should reference a per-Ubuntu-series branch, ensuring forward compatibility by allowing publishing to this branch if the mainline of a snap becomes incompatible with a given Ubuntu release.
- A snap should have its publisher as either the upstream or the Ubuntu developer community.
- Snaps installed by default should have their source code available and should be able to be built in the common Launchpad environment; additionally, they should not require third party repos to build so as to ensure nothing breaks in future.
- Snaps should stay in line with Canonical’s licenses.
- A clear owner of a snap must be established in order to deliver security updates. The process for designating an owner should include a sign-off by the Ubuntu Security Team.
Snaps could start shipping by default as soon as April, with Ubuntu 18.04. By that time, the policies surrounding default snaps should be finalised.