AppStream: Standardizing Software Installs on Linux – Or Not
The latest big news out of the Linux world was the introduction of the AppStream project, which aims to make package management “suck less” (in the words of one contributor) by building a standardized application installer that will work across all Linux distributions. That’s cool, but will it really make the lives of end users that much easier? Here are some thoughts.
Although the details on AppStream are still being spelled out, the basic idea is to create a front end for finding, installing and removing applications that will work on all Linux distributions. The developers plan to base this tool on Ubuntu Software Center.
AppStream’s major selling point is it will allow users to manage the software installed on their Linux systems, no matter which distribution they run, without having to think about what kind of package-management system they use or which versions of different libraries they have installed. AppStream takes care of all that geeky messiness behind the scenes, leaving users free to focus on what matters — namely, finding and installing the applications they want.
Another cool feature included within the AppStream specifications is integration with the Open Collaboration Services API to build things such as user comments and ratings of different applications into the management tool. This addition of a social dimension to the process of finding applications is a relatively novel idea that could produce fascinating results.
Does It Matter?
AppStream will unquestionably add some value to the Linux experience. I’m always encouraged to see Linux software which focuses on the needs of non-geeks, as is clearly the case with this new project.
I’m left wondering, however, how much help AppStream will be in overcoming the most perplexing dilemma faced by normal Linux end users when it comes to installing software, which is the fact that many popular applications — particularly proprietary ones such as Skype or Adobe Flash — don’t provide Linux installers for all architectures and all distributions. That can be a major headache for non-geeks who just want to install an application and don’t know what suffixes like “i386” or “rpm” mean.
Third-party developers like to claim that it’s hard to package their software for Linux because different distributions handle installation in different ways, and it’s impractical to support them all. At first glance, AppStream seems poised to overcome that difficulty through its promise of standardizing software management across distributions.
In reality, however, AppStream doesn’t actually standardize the underlying processes involved in installing and removing applications; it just wraps around them to make life easier for the user. Different distributions still will use different package formats, meaning that developers who want to package their software for Linux still will have to create both RPMs and Debian packages. And repositories can still vary from distribution to distribution, so dependencies that are resolvable on Fedora are not guaranteed to be so on Ubuntu, for example.
What Linux could really use is true standardization of package management across distributions — an idea which, as Susan Linton has pointed out, developers have pursued more than once in the past, never with success. Until the Linux community achieves that ideal, however, AppStream is not a bad compromise.