Adding snaps for secure, transactional packages in Ubuntu 16.04 LTS

The development of the Ubuntu phone platform and its expansion to IoT and devices has challenged us to solve real problems in security and reliability. These challenges apply equally to desktop and server systems and are a source of frustration for users and developers who want newer software on long-term supported releases. This has led us to develop the snap packaging format and tools.

In Ubuntu 16.04 LTS we will make it possible to install snap packages alongside traditional deb packages. These two packaging formats live quite comfortably next to one another and enable us to maintain our existing processes for development and updates to the OS. This reinforces our relationship with the Debian community and it enables developers and communities to publish either debs or snaps for the Ubuntu audience.

Snap packages enable developers to bring much newer versions of apps to Ubuntu 16.04 LTS. Newer versions of KDE, GNOME, browser or other desktop environment apps will usually build easily on older LTS releases but the complexities of packaging and providing updates have prevented us from delivering them in the past.

The security mechanisms in snap packages allow us to open up the platform for much faster iteration across all of our flavours as snap applications are isolated from the rest of the system. Users can install a snap without having to worry whether it will have an impact on their other apps or their system. Similarly, developers have a much better handle on the update cycle as they can decide to bundle specific versions of a library with their app. Transactional updates make deployments of snap packages more robust and reliable.

By bringing snap packages to Ubuntu 16.04 LTS we are unifying the experience for Ubuntu developers, whether they are creating software for PC, Server, Mobile, and IoT Devices. Snapcraft, a tool available for snap development, makes it easy for developers to package their apps and dependencies. Developers targeting snap packages get a great environment to write and test their applications – directly on their desktop, rather than being forced to use a device or a virtual machine.

Developers of paid apps have often been the most frustrated with having to manage dependencies and compatibility with various libraries, especially on older releases of Ubuntu. For this reason these applications are going to be migrated from debs to snaps by Autumn 2016. Canonical will work with the developer community to support that transition in the coming months with tools, training and documentation.

While this is a major new capability for the Ubuntu community, it’s not a break with our heritage. All of the tens of thousands of applications and packages in .deb format will continue to be supported in 16.04 and beyond, and deb archives in particular will continue to be available for all to use and distribute software.

If you want to learn more or have any questions about snaps on classic Ubuntu, join us in these upcoming events at ubuntuonair.com:

  • Snaps on classic Ubuntu Q&A with Olli Ries, Thursday 14 April 15:00 UTC
  • Snappy Clinic, Tuesday 26 April 15:00 UTC

And as usual, you can join the discussion on the snappy-app-devel@lists.ubuntu.com mailing list or ask and answer snappy questions on Ask Ubuntu

About the author

Olli's photo

Olli is heading the development of all Ubuntu Client Platform products and releases for Canonical. His teams are in charge of e.g. Ubuntu (the Linux Distribution), Ubuntu for mobile devices (phone, tablet, embedded) and snappy Ubuntu.

More articles by Olli

Posted in: