With Ubuntu snaps, the company set out to create some software to make it easier to install Linux applications on its operating system for mobile devices. It then made the software available as open source, and some developers have now adapted so that vendors can ship a single binary that works across all Linux distributions.
“Today is a celebration of work that’s being contributed by Linux developers, to make snaps work perfectly from a whole bunch of other distributions,” says Mark Shuttleworth, executive chairman with Canonical.
“Snaps are a different way of installing and removing software with a package system,” says Shuttleworth. A snap is an easier way to update an application compared to a traditional Linux upgrade, which may require the installation of thousands of files. They’re also confined, so third-party software can be installed without the ability to look around the larger software ecosystem, thus increasing security.
“Because of GitHub and the cloud, many important projects don’t even make releases,” says Shuttleworth. “Snaps, because they don’t get integrated with the rest of the system, allow you to install today’s software.”
Linux snaps now work natively on Ubuntu, Arch, Debian, Fedora, Kubuntu, and Lubuntu. They are currently being validated on CentOS, Elementary, Gentoo, Mint, OpenSUSE, OpenWrt, and Red Hat Enterprise Linux, and are easy to enable on other Linux distributions, as well.
It’s a major simplification to publish a snap rather than manage diverse package formats and security update mechanisms across many Linux distributions.
“We believe snaps address the security risks and manageability challenges associated with deploying and running multiple third party applications on a single IoT gateway,” said Jason Shepherd, director of IoT strategy at Dell, in a statement.
For Mozilla, snaps will allow the Firefox OS to be continually optimized across many platforms, devices and operating systems.
In addition to IoT and cloud use cases, Shuttleworth says Linux snaps can also be put onto switches to run CentOS, Cumulus, or Ubuntu, for example.