Snaps(apps) Everywhere
New Ruler For Linux Application World
Ubuntu 'Snap' packages now available for Linux Distros based on Arch Linux, Debian, Fedora and Gentoo
Canonical Ltd. announced this month() that the lightweight Snappy Ubuntu Core's "snap" mechanism, which can now also work with other Linux distributions. Yes, You heard correctly...!! Snappy apps can now run on several different Linux distributions, including Arch, Debian, Fedora, and Gentoo.
This wide-ranging support could see Snap apps become the de-facto Linux app package format. Imagine it: a single binary package that will work perfectly, predictably and securely on any Linux desktop, server, cloud or device regardless of which flavor of Linux it runs.
"Linux fragmentation (Especially, Fragmentation In Linux Application Ecosystem)" is one of the issues being faced by Linux community for longtime, But Cross distro support for Snap apps may end this...
"Snaps bring apps to every Linux desktop, server, device or cloud machine, giving users freedom to choose any Linux distribution while retaining access to the best apps."
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.
Boudewijn Rempt, project lead at the Krita Foundation who said: "Maintaining .deb packages in a private repository was complex and time consuming, snaps are much easier to maintain, package and distribute. Putting the snap in the store was particularly simple, this is the most streamlined app store I have published software in."
Some Salient Features Of Snappy Apps :
Enhanced security for apps and devices
Each snap is confined using a range of kernel isolation and security mechanisms, tailored to the snap, ensuring that vulnerabilities in the application are contained to the greatest degree currently possible. A careful review process ensures that snaps only receive the permissions they require to operate. Users do not have to make complex security decisions when installing the snap.
"Security is particularly important when running third-party software," said Steve Langasek, a Debian developer. "Snaps meet that challenge with robust confinement, neatly addressing many of the risks of apps in sensitive environments."
Simpler and easier to create
The snap format is simpler than the native internal package formats of individual Linux distributions, because it is focused purely on applications rather than the core system itself. Snaps are essentially self-contained zip files that can be executed very fast in place, making them easy to create.
"Snaps are much easier to create than traditional Linux packages, and allow us to evolve dependencies independent of the base operating system."
Automatic updates
Updated snaps are delivered automatically, improving the flow of features and fixes as well as the feedback cycle both for commercial applications and for open source applications.
Stable, candidate, beta and daily versions
Stable releases, release candidates, beta versions and daily builds of a snap can all be published at the same time, enabling users to preview upcoming releases with different levels of stability.
"Rolling updates are popular in the Arch community," said Tim Jester-Pfadt, an Arch contributor. "One nice feature of snaps is support for edge and beta channels, which allow users to opt-in to the pre-release developer versions of software or stick with the latest stable versions".
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.
Free software on Github
The snap format, designed by Canonical, is handled by snapd, a free software project on Github. Porting snapd to a wide range of Linux distributions has proven straightforward, and the community has grown to include contributors from a wide range of Linux backgrounds.
Snap packages are easily created with the snapcraft tool. The home of the project is snapcraft.io which includes a tour and step-by-step guides to snap creation, along with documentation for users and contributors to the project. Snaps can be built from existing distribution packages, but are more commonly built from source for optimization and size efficiency.
What About App Image, Flatpak, Orbital Apps, Etc?
App Image has been around for a while. 'It delivers a single binary but it doesn't make any attempt to do it in a secure way; it doesn't have the upgrade semantics that Snaps were designed to introduce,' Shuttleworth explains.
Flatpak is the new name for GNOME's XDG-App initiative, though '95% of the commits come from one Red Hat employee,' Shuttleworth cheekily noted. 'We would be delighted if they'd work with us."
Orbital Apps are primarily focused on portability and do not offer a transactional update model.