Linked by Thomas Leonard on Tue 16th Jan 2007 00:32 UTC
General Development In the Free and Open Source communities we are proud of our 'bazaar' model, where anyone can join in by setting up a project and publishing their programs. Users are free to pick and choose whatever software they want... provided they're happy to compile from source, resolve dependencies manually and give up automatic security and feature updates. In this essay, I introduce 'decentralised' installation systems, such as Autopackage and Zero Install, which aim to provide these missing features.
Permalink for comment 202453
To read all comments associated with this story, please click here.
the problem is...
by Obscurus on Wed 17th Jan 2007 00:02 UTC
Obscurus
Member since:
2006-04-20

... that every single distribution of Linux is effectively a unique Operating System - it would be like having several hundred versions of Windows or OSX, each with varying levels of binary compatibility. This makes it very difficult for developers, especially those who have valid reasons for keeping their source code closed, to write software for Linux. This is why most commercial software written for Linux is written for Red Hat, Suse or occasionally Debian - as far as commercial software houses are concerned, there are no other distros, and for most, Red Hat is the only distro (Red Hat=Linux, all other distros != Linux in their view).

Package management tools like APT are a good idea for managing core OS updates, but a really bad idea for the installation of apps.

This is one area where Windows gets it pretty right - the OS comes bundled with very few applications, and the apps it does come with are all written and maintained by the vendor. MS manages the core OS and these packages with its own package manager (Windows Update). Many apps you install on windows have their own automatic update features etc..

Where Linux distros get it wrong is by bundling sometimes thousands of apps with the OS, and then trying to manage them, which is simply impossible to do properly in a centralised way. It also has the potential to backfire on developers and users alike - say you install Gimp for the first time on one distro and it is horribly buggy, due to poor packaging. Your first impression of the program is not very good, and most people don't give things another chance, so that user is going to move on to something else, even though the original developer had nothing to do with the bugs that were created by a poorly packaged distro. Thereby one program gets a bad rap because of one distro. The ISV should shoulder the responsibility for the app, and get the kudos as well, not the distributor/packager).

Linux distros need to stop trying to bundle 374 types of kitchen sink in the distro, and instead focus on shipping a small, stable, compact Operating System with a limited set of basic software (browser, media player, text editor, file manager, image viewer and perhaps an email client), and create a stable binary platform for ISVs to be able to simply make one package that will work for all distros.

Until that happens, Linux is unlikely to make its way onto a much bigger % of PC than at present, simply due to the fragmentation and confusion generated by having too many distros, too many apps that basically do the same thing in slightly different way.

For me, the ideal Linux distro is one that comes with a limited set of core functionality, an uncluttered, simple but powerful and tightly integrated GUI (eg XFCE, which I am very fond of), and the ability to install signed drivers and software from the Vendor's official website. It should not take up more than a couple of hundred megabytes.

I like to have a single program that has a comprehensive feature set that does one thing well, rather than using 15 different programs to perfrom only part of a task at a time.

Since I rarely have more than a dozen or so apps installed over my base OS (at this point on WinXP as my main OS), I don't need any tools to manage my installed software, and since I use tools with comprehensive functionality, I don't forsee any need to change this by installing hundreds of little bits and pieces.

Linux as a whole needs to simplify, rationalise and become more organised and integrated to really take off in the way many of us would like it to. Linux the OS needs to separate itself from the apps that run on it, and at the same time create a stable platform for ISVs to create software that can be distributed separately in binary (or source) form and Just WorkŪ on any distro.

Reply Score: 2