Source Based Distributions, Part 1
[This article was contributed by Ladislav Bodnar]
One of the great advantages of open source software is the availability of its source code. This, combined with free compilers and interpreters, gives us a relatively painless way to compile open source applications into executable binary files, nicely tailored to our hardware. The idea has caught on and we have seen an emergence of several source-based Linux distributions over the last few years. Indications are that they are becoming increasingly popular, especially among computer aficionados and home users.What makes one decide to use a source-based distribution, such as Gentoo or Sorcerer, over a more traditional binary distribution, such as Red Hat or Mandrake? These are the often cited advantages:
1. Speed. When you compile an application specifically for your hardware and with correct compiler flags, it should execute faster than an application that was compiled with more generic compiler flags to cover wide range of processor architectures. In the cases of large programs, e.g. KDE or OpenOffice, the increase in speed will be noticeable.
2. The freshness factor. The world of Linux is full of great software, and new releases are announced daily. If you use a binary distribution, you have to wait until binary packages for your distribution become available, which can take months. There is no such delay with source-based distributions - in most cases you will be able to run the latest version with all the great features within days of its release.
3. Painless software installation. Most source-based distributions provide a sophisticated infrastructure to download, configure, compile and install software (and its dependencies) with one simple command. In majority of cases this works surprisingly well. Have your heard people complaining how hard it is to install software on Linux? That's because they have never tried a source distribution.
4. No software restrictions. Source distributions have learned the art of by-passing restrictions imposed by vendors of useful, but proprietary software (such as the NVidia video drivers) or software illegal in certain countries (such as libdvdcss library for watching encrypted DVDs). Since they don't supply the actual software, only scripts that fetch the packages from the maintainers' web sites, they are not subjected to those restrictions. Most binary distributions are reluctant to include such software.
Before you decide that a source distribution is perfect for your needs, consider some of the disadvantages.
1. Long and tedious installation. Getting your machine from empty hard disk into a full graphical environment with all the latest applications will more than likely take several days, even with a broadband connection and a fast processor. With a binary distribution, the same can be achieved within an hour after inserting the installation CD.
2. High maintenance level. Because of continuous and never-ending software upgrades, things will break. An innocent looking new library version can cause havoc on your system, due to new bugs or incompatibilities with existing libraries. It can be frustrating to work on a system which regularly lets you down.
3. Stability issues. Source distributions are notoriously reluctant to declare their releases "stable" and many of them seem perpetually stuck in a "beta" or "release candidate" state. As such, they are not suitable for production servers and their use is generally limited to workstations.
4. Fast Internet connection. While broadband is not a requirement, very few people will have the patience to maintain a continuously evolving source distribution over a slow, dial-up connection.
There are four major and well-established source-based distributions: Gentoo
Linux, Linux From Scratch, ROCK Linux and the Sorcerer group (which includes
Sorcerer, Lunar Linux and Source Mage GNU/Linux). We will look at these in
more detail in an upcoming issue of LWN.
