Gentoo

Gentoo is a meta distribution:
 * Based on source packages but also with binary package support (mostly in order to have a quickly usable OS, use of source packages is recommended; dpkg or rpm packages can be accommodated, too)
 * Is configurable
 * Can be tuned a lot with compilation variables (you can also do it automatically) and a support of use flags that add or remove support for specific features when compiling a program
 * Dependencies are handled by Portage

This distributions shares some similarities with BSD based systems (Portage is similar to ports)

Gentoo philosophy
As said in the Gentoo installation handbook, Gentoo is about empowerement. The choice is up to the user which packages and which features to use. This makes it possible to easily build a system tailored to one's own needs.

When you install Gentoo you can choose a lot of things and the choices are explained (for example you can choose between different filesystems,and these filesystems are briefly presented to the user in order to permit the user to choose more easily).

You have also the choice of compiling a certain program with different use flags that can enable or disable certain features in the programs; for example in xmms you can choose to include or remove ogg and mp3 support (the mp3 support is lacking in certain linux distribution due to the fear of being sued because of mp3 copyrights). The USE variable is, in essence, a shorthand for the longer and more complex options which you normally activate via the ./configure script at build time of a software package.

Once Gentoo is installed you can keep your system current simply by syncing with a Portage mirror and then upgrade the packages which have been updated for your branch (e.g. packages marked stable on x86), instead of waiting for a new distribution release and then upgrading all packages. Thus nearly every installation of Gentoo is unique due to the different package versions, use flags set and compiler options set. Some packages (like GCC) have been known to cause problems with major upgrades but a rebuild of the system group normally solves most of these problems.

There is also a good point for Gentoo:the documentation and user community is excellent:
 * official documentation
 * forum
 * unofficial wiki

Gentoo limitations
Because you build and install all your packages that there are not included by default you need to know that they exist and know their name. Most distributions come with a lot of useful and un-useful packages, you will most likely have a complete desktop environment with a web browser, email client etc. With Gentoo, you would at least have to know that either the meta-package for the Gnome or KDE desktop environment would be needed to get something similar. With Gentoo you need to know that such packages exist and know their name. Or at least be willing to read the documentation or browse the grouped package repositories.

The consequence of that is also that you'll need to pass some time to understand some concept and choose and install things that are already done in others distributions. However, if you want to change some default behavior in other distributions you'll likely spent a lot more time on them than on Gentoo (not default=>no docs+not made for it(=>you'll need to resolve problems)).

Architectures and ports
Gentoo can run on different architectures, but there is also project of running Portage under others OSes (mac-os) or use different kernels (bsd) there are even experimental ports of portage to Windows's unix subsystem (such as cygwin)

Useful Gentoo Links

 * Gentoo Main Site
 * Gentoo Wiki

Gentoo Gentoo