Canonical reworks Snap app packages on Linux
Snap is a software packaging and distribution platform for Linux developed by Canonical, the makers of Ubuntu Linux. Snap apps are more portable than traditional Linux software, and most of them are containerized to avoid some common security concerns. However, Snap has a lot of issues as well, which could be the reason Canonical is experimenting with a new architecture.
Canonical spoke about “the future of Snapcraft” in a ubuntu.com//blog/the-future-of-snapcraft”>new blog post (Going through Oh my God! ubuntu!), which is basically breaking down the Snap framework into smaller, modular components. There aren’t any specific details on what the end result will look like, or whether it will be better for the average person to install and use Snap apps. However, this should make the creation and maintenance of Snap apps easier for app developers and Canonical, potentially freeing up time for Canonical to focus on other aspects of the Snap framework.
Canonical said: “The basic concept is to break Snapcraft into smaller, even more modular and reusable components that can be used in a range of different products. The common basis of this effort is a set of craft libraries, as we have already mentioned in the Craft pieces blog post. The theory calls for the use of a generic part builder based on craft vendors and craft parts, with Snapcraft features added as a separate layer.
Snap packages are definitely an easier way for apps to be distributed on Linux, as they don’t need to rely on the system’s own package manager, which isn’t always the same across different Linux desktop distributions. For example, if you wanted to build an app for Ubuntu, Fedora, and Arch Linux, you would need to maintain three entirely different distribution methods (APP, RPM, and Pac-Man). In comparison, Snap apps run on almost all modern Linux based OS: Ubuntu, Arch, Debian, Fedora, Majaro, Pop! _OS and others.
Snapcraft has been criticized over the years for a variety of issues. Custom repositories or application servers are not supported, so all software must be distributed through Canonical’s own Instant store, and Canonical has not released source code for Snap store servers. The centralized model isn’t popular with everyone, especially since Canonical has slowly replaced core apps in Ubuntu with Snap versions (like chrome). Linux Mint blocks the installation of Snap applications fully, and other distributions have approved Flatpak as an alternative. Canonical’s blog post didn’t mention anything about support for third-party stores and repositories.