In the Linux world every day thousands of passionate people worldwide are working alone or together in groups to improve the kernel, the distributions, the desktop environments but also the immense amount of available applications. There is a wide variety of applications available for the Linux platform for every imaginable use case. Some of these applications are dedicated for a specific distribution, but most of these applications can be used under any Linux distribution. What makes the Linux ecosystem somewhat intransparent and difficult to handle for people who are just starting out with Linux is the diversity of package formats in which Linux applications are made available by developers. In addition to the classic formats such as DEB for Debian derivatives and RPM for Red Hat, Fedora and derivatives, now also distribution independent package formats such as Flatpak, Snap and Appimage are available for Linux. And because applications in these formats are inconveniently available in their own dedicated stores, there was a strong need for a central place where everything comes together. And this central hub function is now available in the form of linuxappstore.io.
Note: On September 8 2019 the developer behind linuxappstore.io communicated that the decision had been made to end this project, so this blog post is of no value anymore.
What is a package format
Before we look at linuxappstore.io it is useful to first briefly explain why there are different package formats. As indicated in the introduction, there are several ways to install applications under Linux. You may be wondering why there isn’t just one way. In a world where software is not developed for commercial reasons but from an open source community perspective, there are many people involved with many opinions that can lead to many different approaches and different solutions This can be a good thing, but it can also lead to confusion and decision-stress for the end user, especially for beginning Linux users. The good thing is that there are multiple levels of convenience, simplicity and safety, but the question is what approach is the best for you. Some users just need stable software that they can install in a simple way, similar to a Google Play store or an Apple App store. Other users feel the need to always install the latest bleeding edge versions of software, perhaps those even still under development, and find it less important that software is stable. That is why there are different approaches for different users.
Most Linux distributions offer their own software repositories. In case of distributions like Linux Mint, which is based on the Long Term Support release of Ubuntu, this means that the repository offers a stable and reliable set of applications, but will grow a bit out-dated because newer versions of these applications will only be available in the next LTS release. But more and more people want to use the most up-to-date versions of their favourite applications. And there package formats like Flatpak, Snap and Appimage come in handy because it makes it easier to always have the most recent versions.
These packages run on whatever distribution without the necessary effort to connect the application to the right dependencies and libraries. Because as a developer you use container technology you pre-bundle the required libraries with your app, so you always know your application will work on every platform and you offer the user of the application a hassle-free solution. As a developer, with these formats you just create one application for the entire Linux desktop domain and on top of that you are in control on updates as well. Flatpak can be compared with Snap, but Snap is backed by only one company (Canonical, the company behind the Ubuntu operating system) while Flatpak is independent community based. Software distributed as AppImage is probably the most simple solution for the end user as it is not required to actually install the software. You just download an application, convert it to executable, and you can run it from whatever location you like. It doesn’t matter if you use a Debian/Ubuntu based distribution or other distros like Arch or Fedora. It runs everywhere. And as the AppImage is a file that contains the application and all of its dependencies, you know it will always run as it was designed.
And now there is one place where everything comes together, so you don’t have to find out if your favourite application is available as Flatpak, Snap or Appimage and need to search in these separate app stores.
In linuxappstore.io you just browse for an application and the available options will be presented to you. Some applications are available in one format, some in more. Just click on the result tiles and you will be transferred via the underlying link to the correct application page in their relevant app store with nice screenshots, license information, info on the last update and descriptions. From there you can install the selected app or get a description on how to install the app.
The SnapCraft store:
For more information on app package formats and how to install them you can read “How to install applications in Linux Mint“, which is one of my chapters of my free Linux Mint beginner course.