Earlier this week, we reported on the Berlin Packaging API, an effort to consolidate the various different packaging formats and managers in the Linux world. Many compared this new effort to PackageKit, and today Linux.com is running an article detailing what PackageKit exactly is, with a few quotes from the project’s lead developer, Richard Hughes.
“PackageKit is a glue layer between the distro-specific parts, and some prettiness,” Hughes explains. What PackageKit effectively is, is a universal front-end to the various distribution-native packaging formats such ad dpkg and rpm, leaving them intact. As is often the case, the tool started when Hughes asked himself a fairly simple question: “Can you make a system so that you can still use the existing tools and put a bit of cleverness on top?”
PackageKit only runs when it’s called, and communicates with the native packaging systems using the libpackagekit library. As Hughes explains:
PackageKit has no idea what it’s doing. It just takes the standard output of dbus signals or whatever, and then puts it out through the common API. So far as PackageKit is concerned, it just says do this, and the back end does it and gives the information about what happened back to PackageKit.
Again, I have my reservations. Just like with the Berlin Packaging API proposals and concepts, PackageKit simply doesn’t address the bigger issue at hand: software installation on just about any operating system is inconsistent, messy, overly complicated, and anything but transparent. Whether we’re talking the ten billion million different types of installers in Windows, the insanely complex (for less computer-literate users!) Synaptic, or yes, even PackageKit, these tools are extremely alien and incomprehensible for less computer-savvy people. Mac OS X does it better, but it lacks a whole boatload of other features that any self-respecting operating system should have, such as a system-wide application updater or a proper way of uninstalling more complex applications.
In order to fix these deeply rooted issues, we need to radically change the way we approach installing, managing, and removing applications. All present-day paradigms have their strengths, but also a whole slew of limitations. That’s why I came up with the Utopian Package System, which combines all the strong points of the various paradigms.