Snap is a software packaging and distribution platform for Linux developed by Canonical, the developers of Ubuntu Linux. Snap applications are more portable than traditional Linux software, and most of them are containerized to avoid some common security issues. However, Snap also has a lot of problems, which could be why Canonical is experimenting with a new architecture.
Canonical spoke in a. about “the future of Snapcraft” new blog post (over OMG! ubuntu!), which is mainly about breaking up the Snap framework into smaller and modular components. There is no precise indication of what the end result will be or if it is better for the average person who installs and uses Snap applications. However, it should make it easier for app developers and Canonical to create and manage Snap applications, which could potentially free Canonical time to focus on other aspects of the Snap framework.
Canonical said, “The basic concept is to break Snapcraft down into smaller, more modular and reusable components that can be used in a number of different products. The common basis for this effort is a number of craft libraries, as we discussed in the Craft parts Blog entry. The theory requires the use of a generic parts maker based on craft suppliers and craft parts, with additional Snapcraft functionality as a separate layer. “
Snap packages are definitely an easier way to distribute applications on Linux because they don’t rely on the native package manager, which isn’t always the same across different desktop Linux distributions. For example, if you want to build an app for Ubuntu, Fedora, and Arch Linux, you need three completely different distribution methods (PPA, number of revolutions, and Pacman). In comparison, Snap apps work on almost any modern Linux-based operating system: Ubuntu, Arch, Debian, Fedora, Majaro, Pop! _OS and others.
Snapcraft has been criticized for a variety of issues over the years. Custom repositories or app servers are not supported, so all software must be distributed through Canonical’s own Snap store, and Canonical has the source code for the Snap Store server is not shared. The centralized model isn’t popular with everyone, especially as Canonical has slowly replaced the core applications in Ubuntu with Snap versions (like chrome). Linux Mint is blocking Snap applications from installing complete, and several other distros have endorsed it Flatpak as alternative. Canonical’s blog post didn’t mention anything about support for third-party stores and repositories.