I bounced from FreeBSD to COL to Debian to Mandrake to RH to Gentoo.
I very much liked the FreeBSD "ports" system, and was successful in putting up several small servers. But making a graphical desktop out of FBSD was something of a chore at the time, and I can't say that I ever warmed up to fvwm much.
A friend suggested Linux, and since we had an extensive NetWare installation at work, I bought and installed a copy of Caldera OpenLinux (Caldera had NetWare Core Protocol support). I became familiar with the newfangled KDE that was delivered with Caldera, and liked what I saw. Then we got rid of NetWare, and I looked for something that was easier to keep up-to-date.
I remembered how much I liked the FBSD ports system, and decided to give Debian a tumble. I was attracted to the DFSG, and prefer the GPL license to the BSD license. Moreover, GNOME was getting some traction due to squabbling over the QT license (which was not free at the time), so I went wholly hippie, dumped KDE, and went to an early GNOME -- definitely a step backward in functionality but I felt good about myself. Debian itself was an improvement over COL, and I appreciated being able to keep relatively current in incremental steps. But dselect was, shall we say, user-antagonistic and I began to become frustrated with it. I never did get sound running on that system, and when I somehow managed to b0rk Debian's housekeeping database I decided to see what else was out there.
I downloaded Mandrake, burned a CD and then dropped it in the cup-holder. The graphical installer was easy-Margie, and after an hour or so I ended up with a well-integrated desktop and (to my great surprise) working sound! I was impressed, and spent a hundred bucks or so on a box set.
After a few months Mandrake started to show its shortcomings. It had a graphical updater, which downloaded new packages from the 'net, and which purported to handle RPM dependencies. But truthfully, it didn't handle those dependencies well and it was frequently necessary for you to do your own homework if you wanted to upgrade a package. You couldn't upgrade between Mandrake versions either -- you had to reinstall. I followed them through two version upgrades and it wasn't pretty.
Sometime in that period I put up the Ximian (nee "Helix Code") GNOME desktop. That gave me the nicely themed, current desktop that I'd always wanted, and also came with the Ximian Red Carpet update service. Red Carpet was a breath of fresh air, an easy-to-use network based updater with dependency handling that really worked. No more RPM dependency hell!
Mandrake 9.0 was a little unstable for me at home, so I flirted with RH for a few months on my desktop at work. The RH installation procedure was even prettier and easier than Mandrake's was, and it was also briefly supported by Ximian. I never had a chance to warm up to Red Hat (or give them money), because they decided to split the product line into RHEL and Fedora parts. I couldn't afford RHEL, and Fedora sounded to me like it was going to be an unstable and unsupported mess -- complete with the RPM dependency problems that we all love to hate.
Thus began my foray into Gentoo-land. I was attracted to the idea of compiling the system from source and wanted to see if Portage was all that. I bopped over to one of the Gentoo mirror sites and noticed an unadvertised 2004.1 ISO image was there. Checked more mirrors and found that some of them had the 2004.1 release and some didn't. Cool! I've stumbled onto a release in progress. Better download it now before the slashdotters discover it. Bad plan: that release was b0rken, and the installation CDs had problems recognizing some common ethernet cards (including my own). I backed off to the 2004.0 ISO and reran the installation regimen, but foolishly selected the 2.6 kernel despite it's having been marked "experimental". The init scripts subsequently failed because they required devfs (menuconfig had specific advice that devfs was obsolete and shouldn't be selected). Aargh! I threw in the towel.
Four months later Gentoo released the 2004.2 ISOs and I took another shot at it. This time I decided to forego the installation CD, and chrooted under an existing Mandrake. "In for a dime, in for a dollar" I reasoned, and proceeded to do a stage 1 install. It took me a solid week of compiling to have a fully-functional desktop (OpenOffice itself took 49 HOURS to compile on that anemic 350-MHz Pentium-II machine). But the doggone thing *worked* this time.
And you know what? It worked really well. I was particularly impressed by the improved performance of mplayer -- no more skipped frames. The desktop was
noticeably more responsive than the Mandrake system that it replaced. The code was more current than the code supplied by either Mandrake or RH, and it was compiled to my specification.
I've stuck with Gentoo for these two years, and I've no reason to switch. I've never had to reinstall my home machine -- all that reinstall nonsense with each new "version" is gone. I've converted an OpenBSD server for a nonprofit I help run to Gentoo, and my work desktop is Gentoo. All three machines have radically different missions and footprints, yet Gentoo adapts to each of these with grace.
Sorry this has been long-winded. To summarize what
I like about Gentoo:
- Portage rocks. We still have dependency issues from time to time, but nothing like the problems I've seen in RPM-based systems. The devs work hard to keep the tree current.
- Gentoo allows me to compile-out bloat (um, "features"), which has a cumulative effect on performance. For example, I consider spell-checkers to be bloat. I dislike emacs' support for X -- so I compile it out and don't have to deal with it anymore whenever emacs runs in an xterm. My ISP doesn't support IPv6 -- so why should I? USE="-ipv6" takes care of that.
- Gentoo can be what you want it to be. It can be a stripped-down single purpose server. It can be a loaded home desktop with multimedia capabilities. It can be a business desktop, or anything in-between. You decide!
- The Gentoo community is helpful and friendly, and the documentation is first-rate.
(And though you didn't ask, let me implore:
Don't dumb Gentoo down! Gentoo does require some amount of hand-holding, but it's all about that "choice" theme that we keep hammering on. Making Gentoo idiot-proof means reducing the choices that we have; better to send the idiots elsewhere. When they're ready for Gentoo, they'll come.)