I’ll be the first to admit I don’t understand all the technical details, but I find the Autopackage project is trying to overcome the problems I’ve tried to point out:
What’s a desktop Linux platform? Why do we need one?
Essentially, software is easy to install on Windows and MacOS not because of some fancy technology they have that we don’t – arguably Linux is the most advanced OS ever seen with respect to package management technology – but rather because by depending on “Windows 2000 or above” developers get a huge chunk of functionality guaranteed to be present, and it’s guaranteed to be stable.
In contrast, on Linux you cannot depend on anything apart from the kernel and glibc. Beyond that you must explicitly specify everything, which restricts what you can use in your app quite significantly. This is especially true because open source developers often depend on new versions of libraries that have been out for perhaps only a few months, putting Linux users on a constant upgrade treadmill.
Worse, sometimes the only way of easily upgrading a particular component like GTK+ is to upgrade your entire distribution which may be hard, especially for dialup users (the norm in third world countries). The problem is especially big because many distros don’t install obsolete library versions by default, relegating them to compatibility packages the user must know about and request explicitly.
I especially like that part: “open source developers often depend on new versions of libraries that have been out for perhaps only a few months, putting Linux users on a constant upgrade treadmill.” Just today I heard back from the Cheese project folks, and essentially they say what everyone else in the entire chain says: “It’s someone else’s fault.” I’ve already tried the GNOME people, and they won’t even answer the questions.
At least not everyone in Open Source is that inconsiderate.
Pingback: Linux Migration for the Home PC User, Part 1 « Just Passing Through
Pingback: Dork Next Door » Linux Migration for the Home PC User, Pt 1