Why I use Gentoo

Sun, 25 January, 2009

I've been a Gentoo user for two years now, and I can't see using another distro anytime soon. There are four reasons for this.

Fine-grained feature control

When a package is compiled from source, a number of flags can be specified to the configure script which enable/disable specific features. Usually the feature adds a dependency on another library, which is why it was optional in the first place.

For example, I know for a fact that I won't listen to Ogg Vorbis audio files (sorry GNU guys), and so I can build my music player without Vorbis support, and skip building libvorbis.

With binary distributions, you get whatever feature set is decided for you. It will always be wrong. For certain packages you want every conceivable feature, for others the basic feature set is fine - only I know when I want robust vs. lean.

Complete updates

A key feature of Gentoo is that everything, not just userland packages, is built from source, and updateable. I regularly pull updates for packages all through the stack, from Firefox all the way down to libc.

The result of this is that major Gentoo releases are completely unimportant to me. I can update the system completely, and not be missing anything that a new Gentoo iso install would provide.

Notice how excited people get about new Ubuntu releases (Jaundiced Jaguar! Kinky Koala!) Yeah, we don't have that.

System stability

This one's simple - there's less hangy-crashy stuff with Gentoo than I had with SuSe. I credit this to everything being properly compiled and linked, so library discrepancies are more easily detected at compile time.

In fact, the only hangy-crashy experiences I have are with two proprietary binary installs - Flash and Citrix.

Cleaner packaging

My virtual hosting provider (VPSLink FTW!) publishes this table comparing package sizes of the distros they support. When I first saw that Gentoo had 9k packages (says more now) vs., say, Debian's 26k packages, I felt ripped off. Am I only getting half the packages? Just half of Linux?

Then I remembered how the binary distros separate, for example, gimp, gimp-devel, and gimp-docs into three packages.

Gentoo uses a single tarball for the whole package. The header files are always installed, which as a developer I appreciate. The docs install is usually a use flag that I can enable if I choose. If I don't install the docs, then decide later that I want them, I tweak the use flag, and re-emerge from the tarball I've already downloaded.

Conclusion

Stability, cleanliness, updates, and granular control: these advantages outweigh Gentoo's perceived warts - the steep learning curve, the low-fi CLI package tool, and the long compile times.

So, for the record, I'd rather be compiling.

About Me

Erik Mackdanz is a software developer in Austin, Texas, along with everybody else.

Links