I began using Linux in 1996, before Linux enjoyed the popularity it has nowadays. You could easily name almost all the distros -- Red Hat, Slackware, and Debian were the main ones, with Caldera, TurboLinux, and SUSE being popular names, too. A typical distribution in those years was usually shipped without many of the features we now find commonplace, such as sound support, database servers, and programming languages like PHP. If you wanted some of these installed in your system you had to download and compile the applications from the sources, which was a very common procedure.
After having compiled and installed many such packages, I started to realize how many options and optimizations you can select only at compile time. I began to collect a myriad of scripts to compile packages the way I wanted. Soon I had almost all the important packages of my system recompiled from sources.
There are many advantages to compiling and configuring every piece of your system. First of all, you can enable specific optimizations and configurations for your platform and processor architecture. Secondly, you can unselect default features you don't want and select features you need that are not enabled by default. You can go one step further and search the Net for unofficial patches that add, modify, or correct some features. You can even make your own modifications to the source code of the applications. One joke some of my friends and I have is to hard code our names in place of the original name of an application, thus having a "MyName Web server" instead of an "Apache Web server," for example.
Last but not least, you can choose every aspect of your system. You don't have to concern yourself with a missing or outdated software package. No more complaints about your system being based on a 2.4 or a 2.6 kernel; finding KDE or GNOME the default (or only available) desktop environment; having vi or emacs the default editor, or bash or tcsh the default shell; the init scripts being System V- or BSD-based. You have the freedom to make your system fully or loosely compliant with any standard you want, from the Filesystem Hierarchy Standard to the Linux Standard Base. You can even give the latest unstable version of your favourite application a try. You are not bounded by anyone else's decisions. Your system doesn't even need to use a Linux kernel. There are lots of folks out there building systems based on FreeBSD, GNU Hurd, or even Minix.
But before you go downloading and compiling a pile of packages, you must know that there are some drawbacks to building a complete system from source. First of all, there's a very steep learning curve to face. You'll have to read a lot before you can even start, and a lot more after that. Even if you start with Gentoo or the Linux From Scratch book, you will not even be close to the ease and speed of installing a more traditional distribution. Besides that, I have to admit that the resulting system, even if well done, will be far from perfect. In some aspects your system may look inferior or less well finished than mainstream ones. After all, you are only one person, and a hand-crafted system cannot compete with the efforts of tens or hundreds of professionals employed by the commercial distributions or even the thousands of volunteers of the community ones.
I'm not saying your system will be of poor quality. It will not. But you should expect the system to look like more of an artisanal work than an industrial product. The final result will depend on your knowledge and skill.
Building you own system is a very time-consuming and difficult task even to more experienced and technically savvy users. But it's also a very pleasant and rewarding experience for anyone interested in improving his OS skills. When building your own workstation OS you will be faced with many troubles to be solved. You can take this as a challenge, a learning and discovery opportunity, or a loss of time. Whichever is your point of view will determinate whether building your own system is a good choice for you.
What's your desktop OS of choice? Write an article of
less than 1,000 words telling us what you use and why. If we publish
it, we'll pay you $200. So far, we've heard from fans of FreeBSD,
Linux, Debian, Xandros, Slackware, Windows XP, and Lycoris. Next week: SUSE. Coming soon: NetBSD, FreeDOS, Ubuntu, Libranet, Mandrakelinux, Linspire, and more.