The Snap package format developed by Canonical is gaining ground as a standard way to distribute applications across multiple Linux distributions, enabling developers to produce self-contained apps that are isolated from each other and can easily be deployed and updated.
Canonical developed the Snap package format for its minimalist Snappy Ubuntu Core build of Linux, along with an accompanying Snappy mechanism for delivering updates to the operating system and application code. A key feature of this mechanism is that it is transactional, meaning that updates can be applied easily, and just as easily rolled back if required.
Canonical revealed today that it has collaborated with others in the Linux community to support Snap as a universal package format with the aim of enabling a single binary package that can be deployed and run on almost any Linux system, whether it is a server, PC or other device.
Canonical founder Mark Shuttleworth said that after the firm enabled Snaps to run on its standard Linux distribution in Ubuntu 16.04, he got a lot of calls from developers looking to enable the same support in other Linux distributions.
"After we announced 16.04, we had an unexpected set of requests from developers of other Linux distros as to whether we would accept patches to port Snaps to other versions of Linux, and so we agreed," he said.
Moreover, the developers have ported it in such a way that the same Snap will run in each environment, effectively enabling developers to create a universal app for Linux.
Snap packages, or Snaps, are now supported natively on Arch, Debian, Fedora and Canonical's various Linux distributions, including Kubuntu, Lubuntu, Ubuntu Unity and Xubuntu.
The format is currently in the process of being validated for CentOS, Elementary, Gentoo, Mint, OpenSUSE, OpenWrt and others, according to Canonical.
Shuttleworth said that Canonical has had contact with Red Hat about the technical details of the Snap port, so it is possible that it may also find its way into Red Hat Enterprise Linux.
"We're kind of stunned, and the ISV community we've been working with is stunned, and the device community is kind of stunned that this has worked out this way. I didn't realise how big this would be," he added.
Snap was not intended to replace existing application package formats, but the growing support for it has apparently been welcomed by developers, including Mozilla, publishers of the Firefox browser, which announced in April that it was to support the Snap format.
"With the introduction of Snaps, continually optimising Firefox will become possible, providing Linux users the most up-to-date features," said Mozilla's vice president of product, Nick Nguyen.
Snap packages are handled by a Snapd Daemon, which applies several kernel mechanisms to keep applications self-contained and isolated from each other and the rest of the system. Each Snap package contains all its dependencies, so is essentially a self-contained file that can be executed very fast in place.
Snapd is available now on GitHub, and porting it to a wide range of Linux distributions is proving straightforward, according to Canonical.
Cotton seedling freezes to death as Chang'e-4 shuts down for the Moon's 14-day lunar night
Fortnite easily out-earns PUBG, Assassin's Creed Odyssey and Red Dead Redemption 2 in 2018
Meteor showers as a service will be visible for about 100 kilometres in all directions
Saturn's rings only formed in the past 100 million years, suggests analysis of Cassini space probe data
New findings contradict conventional belief that Saturn's rings were formed along with the planet about 4.5 billion years ago