June 18, 2008

Why Many Projects Is Better Than Just a Few

I kept reading opinions regarding the big number of Linux distributions out there, most of them saying that we have a huge number of distros, each one with its own package management system, keeping Linux divided. Most of them suggest only a few such projects, and that all developers should unite in order to produce a 'universal' solution to this. A comparison with MS Windows is always brought in as an argument. Of course, every person with its own opinion, but why do I think a big number of projects is the way to go?

Well, in the first place, I think a 'universal' distribution is not quite possible. There will always be persons who will want to have their own project and eventually start it from scratch instead of contributing to an already solid one. Not to mention that Linux itself was born from such a project, and examples of projects which started the same way as the Linux kernel are countless.

Since free-software as promoted by the FSF is all about freedom and free choice, the developers are free to choose their own way of programming and building projects. If someone wants to start a new audio player instead of contributing to Amarok or Audacious, for example, then good for him. This way, we'll have one more audio player available out there, one more to choose from. Most of the big, established projects already have enough developers and contributors. They usually need only feedback from users and bug reports.

Now, regarding the way of installing things. It's true, we have big distributions like Debian (with its popular derivative, Ubuntu), Fedora or Gentoo, each of them with their own package management. So you are tempted to say that we have too many systems of installing software instead of a single one. Well, in the first place, learning to use a new package installing system can only take a few hours (if you really need to switch from a distribution to another). Most of the software one needs is available in the repositories and can be fetched easily using either command line or a GUI interface. Decent applications like Skype or Opera offer their software packaged for each distribution out there, so there will be no problems installing it on any system. Not to mention the graphical tools available. For example: a Fedora user who somehow will need to fix a Debian box (or install some software on it) won't need to know how to use APT, he will only need Synaptic or KPackage to do the job. And I'm sure over 90% of the Linux users get familiar with a new graphical tool in less than 30 minutes or one hour. It's true, if problems like a sources.list file edited the wrong way arrive, he will only need to follow an online guide which will get him out of trouble.

Again, ten projects for one thing is better than a single project. It happened to me to see people who were not satisfied with a very popular application for some reason, even though the majority liked it. So they had the choice to try another one, which probably suited their taste better. What if they didn't have that choice? They would have been forced to use something which they don't like. The same goes with distributions: a single 'universal' solution might be OK for most of the people, but there will always be a number of people who will want an alternative, something which works the other way around. And to have this alternative is imperative. Just think of a Linux world where there would only be Ubuntu, or only SuSE, or only Slackware.

I already said this, a single project for a specific task is not even possible. There is no such thing as 'let's all unite our forces and only do this thing'. 'Every KDE developer, forget KDE and let's develop GNOME, or vice-versa. Every passionate, either professional or amateur programmer, forget your little projects you love and join the big ones'. This won't happen. And it's better not to happen: free choice is all what Linux is about.

Updated: Jun 18, 2008 (Created: Jun 18, 2008)


James said...

Besides all that mono culture is harmful. Look at eco systems. One crop only takes one prolific disease to wipe it out and then all that depends on it.

Plus the diversity is hoped (but probably doesn't to the extent hoped) to offer a variant of the many eyeballs. The more ways you bundle and pack and distribute something the more likely errors in it are to be found.

Anonymous said...

Hello! I've found your blog through Digg and I liked your article. But most of the people who say Linux should unite - or at least become less shattered - say it because of matters of popularity and "confusion". Of course there is this freedom subject but the argument I guess you'd rather attack is this: A lot of distributions puzzle new users ;)