You are using an older browser version. Please use a supported version for the best MSN experience.

Ubuntu’s container-style Snap app packages now work on other Linux distributions

TechCrunch TechCrunch 14/06/2016 Ingrid Lunden

Docker’s container-style approach to distributing and running apps on any platform has been a big boost to helping patch up some of the fragmentation in the world of Linux. Now, a new package format hopes to have the same effect for smaller apps that need to speak to each other, or simply get updated. Snaps — a packaging format Canonical introduced earlier this year to help install apps in Ubuntu — is now available for multiple Linux distributions to work across desktops, servers, clouds and devices.

A new packing format for Linux, which would have to compete with the likes of RedHat’s RPM and Debian’s deb format only stands a chance if it’s supported by a wide range of distributions. Canonical manages to pull together a pretty impressive group of supports that include Dell, Samsung, the Linux Foundation, The Document Foundation, Krita, Mycroft, Horizon Computing, and contributors to Arch, Debian, Gentoo, OpenWrt, Ubuntu, and several of their derivative distributions. In addition, Canonical says  Snaps now work natively on Arch, Debian and Fedora, as well as Ubuntu-based distros like Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Unity, and Xubuntu and are currently being validated on CentOS, Elementary, Gentoo, Mint, OpenSUSE, OpenWrt and RHEL, and are easy to enable on other Linux distributions. 

Canonical itself first experimented with the idea of Snap in its own “Snappy” editions of Ubuntu, too. Mark Shuttleworth, the founder of Canonical, says that while Snaps were originally developed for Ubuntu (which was originally created by Canonical), he says that the community was very quick to expand it to other distributions, too. “Today’s news is not about Ubuntu but about the fragmentation and diversity of Linux,” he told TechCrunch in an interview. “Thanks to contributions from a range of developers, Snap packages apps can now run unmodified on all major Linux distributions.”

The idea behind Snaps is that it will help software vendors distribute their Linux-based apps more easily. “We strive to offer users a great experience and make Firefox available across many platforms, devices and operating systems. With the introduction of snaps, continually optimizing Firefox will become possible, providing Linux users the most up-to-date features,” said Nick Nguyen, Vice President of Product, Firefox at Mozilla, in a statement.

In terms of early use cases, he says that some places where Snaps are being used include “big piles of dependencies” like the application stack necessary to run a complex database like Cassandra, where apps are complicated to install and have multiple dependencies, as well as in some consumer apps like Telegram and the Atom editor, which were “written in Javascript but have never been able to be installed on Linux, but work very well on Snaps, which let you bundle up pieces together.” Snaps, he noted, may talk to each other, but they are also securely isolated from other snaps and other data on the device, by way of “a range of kernel isolation and security mechanisms tailored to the snap.” 

On top of this, they can be both updated or rolled back to previous versions. One area where this aspect is being used is in IoT:

“The IoT market is very diverse, it’s often complex and expensive for device makers to build their full software stack”, said Curtis Sasaki, VP of Ecosystems and IOT General Manager at Samsung Strategy and Innovation Center (SSIC), in a statement. “That’s why developers creating new products based on Samsung ARTIK modules want the ability to leverage an ecosystem of snaps to accelerate their product lifecycle, and why we are excited to have snaps running on ARTIK”.

Shuttleworth’s company Canonical makes revenue from support and related services for Ubuntu, and he says that there is no financial or business angle to Snaps.

More from TechCrunch

image beaconimage beaconimage beacon