The Current State of the Gentoo Project
I have been using Gentoo Linux for over 2 years now. Let me start by saying, I like Gentoo. I don’t know that I would ever again want to use a distro without a rolling release cycle. It’s great to have almost immediate access to all the latest and greatest. But therein lies the problem. Portage used to packed full of bleeding edge software. Sometimes software that hadn’t even been released yet. But this no longer seems to be the case, more often than I’d like.
Portage is Gentoo’s package management system. It is a build from source system, based on BSD’s ports system. Many who oppose Gentoo oppose it because of the idea of build from source. Let’s face it, it takes a while to update something like KDE in a build from source system. It could be quite painful on an older machine. But after living with it for 2 years, I can say it’s really not that bad. I feel the advantages of portage greatly outweigh the disadvantages.
- Access to multiple versions of every package – I can install the latest and greatest, or easily rollback to an older release if I am experiencing some sort of problem. This is very handy indeed.
- Easy command line search of all packages.
- The use of USE flags to enable or disable certain parts of a package. For instance if I don’t want GTK on my system, I can still use gvim.
- Effective dependency system.
- Complete control through well documented configuration files. This paradigm is present throughout every part of Gentoo.
The problem is, lately, it has been taking a while to get updated ebuilds in portage for many popular apps and libs. Some examples:
- KDE 4.1 – released 7/29, ebuilds available in portage approx. 2 months later
- Boost 1.36.0 – released 8/14, no ebuild in portage
- Boost 1.35.0 – released 3/29, still hard masked
- GCC 4.3.2 – released 8/27, available in portage 10/4
This varies by package. Some package maintainers are good about staying on top of new releases, some are not so good.
Now, the lack of KDE packages for 2 months caused quite a ruckus, but all in all, things aren’t too bad at this point. Some distros, such as Arch Linux, are a bit more responsive, but that’s Ok. I believe this is the beginning of what will be a larger problem, though. Gentoo without a responsive rolling release cycle is likely bound to fail. I’m a firm believer in identifying problems, and subsequently fixing them, when they are small rather than when they are large.
So what is the problem? On the surface, it seems to be lack of manpower. It was actually described on the Gentoo homepage as a “severe lack of manpower”. Open source projects have to be rooted in a strong community of volunteers. A diminishing community will certainly lead to the demise of a project. But why is the community diminishing? What is the root of the problem? The answer, I believe, is twofold – organization and marketing. Both have suffered in recent years.
This is exemplified in many package maintainers either leaving the project voluntarily, or being asked to leave. In fact, this is what happened to the KDE release team. Distrowatch.com has highlighted the cons of the distro as: “the project suffers from lack of direction and frequent infighting between its developers”. I am not in any way involved with the Gentoo project as an organization, so I can’t speculate as to how to solve this problem. All I can say is, they need to get themselves out of self destruct mode while they still can.
The other major, and also related, problem is the recent degradation of the Gentoo “brand”. Gentoo was once considered a “sexy” distro amongst hardcore Linux users and other geeks. This was due to its highly configurable nature and rather demanding installation procedure. But their brand image has diminished. Partly because of the organizational issues mentioned above, but partly because Gentoo needs to stay true to the philosophies that made it popular in the first place. Always remember who your target user is, it has not changed. It is still the same Linux fanatic that doesn’t want to deal with the bloat or generalized nature of most desktop Linux distributions on the market. Give these people what they really want.