Zork the Almighty wrote:Thanks for all of your replies. For the record, I have been using Gentoo as my main operating system since the beginning of 2003. It was actually the first distro I tried to install (back in 2002), and I made it all the way to a working X11 before deciding it was insane. I liked the concept though. Then I tried Mandrake, Redhat, and Debian, but they all installed too much crap or it was impossible to get certain functionality, and I came back to Gentoo. There are, in my opinion, five reasons to use Gentoo:
1) it is usually possible to get something to work
2) you are very likely to find help in the forums (see 1)
3) you have quite a bit of control over what is installed
4) it doesn't do too many weird things to config files
5) you can get very modern software
If you're interested in learning Linux and you want to try lots of software, Gentoo is a great distro. In fact, it is probably the best distro for that purpose. I have, however, gradually become more and more busy with work and I don't have time to tinker with my Linux system anymore. I've also seen most of the software that's out there and decided what I like.
In the last three months I have updated my machine three times, and every time something seriously broke (ie: it took more than 15 minutes of my time). In one instance the device files in /dev which were previously tarred and restored were no longer tarred and restored after an update, which broke X11's video and mouse config. The new Nvidia drivers also had some sort of crazy problem. I was forced to update the system because my profile (from 2005) would not be supported any longer, meaning I would not be able to update at all and I would have to reinstall.
My criticisms of udev, modular KDE and Xorg, etc, are not meant to say Gentoo should not make those changes. But some sort of announcement or schedule is needed for major updates. The update to udev, for example, took me completely by surprise. You can't always tell when an update is a major update that has the potential to break your system. On more than one occasion I thought "I'll just update this minor thing before I go to bed" and then BOOM! I was up all night trying to make sure the system would boot up in the morning when my wife needed to use it. The fact is, every time I update the system I have to set aside time because of the potential for major hassles. For modular KDE, I didn't even bother. All that trouble for what, KDE 3.5 ? It would have been better to save that change for KDE 4.0, which is guaranteed to be a massive problem anyway.
The change to modular Xorg at least coincides with a major version number, and ultimately, it makes sense, but I can't help thinking it would be less trouble to reinstall. Unfortunately my processor is a little slow these days, and although I use tmpfs for compiling (best tip ever!) it still takes 12-18 hours to get everything set up. BTW, another good trick I find is to stick the portage tree on /var on a separate partition. It avoids fragmentation, but also too many partitions. You can delete distfiles and even most of the ebuilds to gain free space on /var if you ever need it.
So basically, my only real gripe with Gentoo is that I'm getting really tired of things breaking. I don't mind if things break for major updates, even if it's multiple things at once. But it's really annoying to have it happen every month or so, when you least expect it. Maybe my system has just lasted longer than usual (I last reinstalled in late 2004) and nobody else is experiencing these problems, but if that's the case then it is a serious issue (and one of the reasons why I hate Windows).
In a larger context, I think the whole "package management" system that Linux uses is broken. I would prefer a distro that had Desktop and Server base installs, and otherwise statically compiled apps with few dependencies (only big things, like Gnome or KDE). With i686 builds and prelinking the speed difference is gone, and although it's interesting to construct a system with no bloat, you can't maintain it for reasons I posted earlier. I think Linux should try as much as possible to copy Mac OS X (before Apple wrecks it). It's far from perfect (don't look under the hood), but its approach to installing applications is correct.
Otherwise, FreeBSD offers a good model. Gentoo is very close to FreeBSD in many ways, however the difference is that FreeBSD has releases, and the fundamentals of the system don't change outside of those. You can upgrade things and they basically don't break. On the Linux side, Slackware is often compared to BSD, and it is the distro I will probably try next (when version 11 is released). I've used it before to breathe life into an old notebook computer, and although I find their defaults too conservative (2.4 kernel !?) you do at least get a stable, no-nonsense system. My only concern is that it will quickly get stale, at which point I will have to reinstall Gentoo
After all of my ranting (is anyone still reading?) I'm not so sure Gentoo should change. It's useful as it is, which is an exercise in frustration while trying to stay on or near the bleeding edge. It's a very good distro for trying new software, and for learning about Linux as a whole. Most of the credit for the latter belongs to these forums, and to the people who take the time to post and write documentation. Thank you.
As for Gentoo:
1) We need some indication of when a change is major. Certainly 30 blocked ebuilds highlighted in red seems to get the point across, but sometimes it's not obvious.
2) We need to combine major updates, to minimize or at least schedule the inconvenience to users. The quarterly profiles were a good idea, but they are actually not frequent enough. I suggest changing the stable branch once a month (patch Tuesday!) with the exception of security updates. Nobody can claim that's not bleeding edge, but at the same time it should reduce the burden on package maintainers and provide some sort of protection for users against broken updates. The testing branch could be frozen for 5 days before the switchover to allow people to upgrade earlier (at a slightly higher risk). People who don't have time for problems could upgrade later in the cycle. You could schedule your upgrades according to how much risk you want to take (nifty!). Gentoo is a large distro with a widely varying userbase. It could work.
3) We need to speed up portage, and fix the meta-packaging. I know people are working on this, but it's important.
What do you people think of point number 2 ?