Ubuntu's "snap" package format now works on a bunch of other popular Linux distros, including Arch, Debian, Fedora, and most of the Ubuntu flavors. It's also coming to CentOS, Mint, OpenSUSE, and even OpenWrt, among others.

Traditionally, application developers have to create specific versions of their app for each different version of Linux they want to work with, and many distros are left out in the cold, or lag behind on updates, or have to create their own compatible packages. Snap solves this by including the necessary dependencies right within the app, instead of pulling in those dependencies into the underlying OS through a traditional application install process like apt-get.

Snap also offers a number of other nice-to-haves, like faster installs, automatic updates, and security rules to confine the app to only certain OS features. You can even subscribe to a specific release channel of a snap, like how you can choose between stable, beta, and "Canary" versions of Chrome. There’s also an Ubuntu-curated "snap store" where you can search through Ubuntu-approved apps, but snaps aren’t intrinsically tied to the store.

The main tradeoff is package size: because each app brings its own dependencies, they can't all rely on a single popular library, so you end up with a lot of duplicates hidden away in each package. Of course, this is usually a good thing, because it means one install can't update a library to an incompatible version and break the other apps. Obviously, because this is Linux, if you don't like snaps you don't have to use them.

There are other similar projects out there with many of the benefits of snap. For instance, the scuba dive-logging software developed by Linus Torvalds, the creator of Linux, is distributed with a package format called AppImage. But Ubuntu's obvious strength in the market and the apparent quality of the snap format seems to have won for now.