I was reading the commenting section of our recent Gentoo Linux story about its 1.4-RC1 release. It seems that there is a chasm between Gentoo users, the users who are happy with it the way it is, and the users who can’t stand its usage shortcomings. The first group are mostly developers, the second group seems to be only users. Linux always had such a “schism”, but with (the source-based) Gentoo distribution it seems that this is even bigger. Here is a proposal to the Gentoo maintainers about a possible solution of how to change Gentoo’s usagebility in order to satisfy all.The users’ main gripe (except the involved installation process) is that Gentoo takes too long to compile either itself (during installation) or when later compiling big packages (eg. KDE/Gnome) or when updating the system. Installing the system, using the Stage 1 tarball, can take from 24 hours up to 2 days, depending on the power of your system. Also, (un)fortunately, most packages have new ebuilds in the Portage tree every few days or weeks, with fixed bugs. This is of course a good thing. But it is not when you need to wait hours to recompile from scratch all these packages every few days. And when “updating world”, most of the times it would take a while. This is a tiring process.
Purists will say that they just leave the compilation processes taking place overnight, but let’s face it, this is hardly an elegant solution, it does not solve the problem, it just hides it (in the dark of the night). Developers will argue that Portage is great for solving dependancies automatically, and I will agree with this.
However, on my personal experience with Gentoo since this April, there were more than 10 distinct cases where updating the system or libraries it broke other packages or even the system. And at the end of the day, Portage is not an easy to use system. Sure, “emerge -u world” or “emerge kde” sounds like a piece of cake, and it is a piece of cake. But when you actually get to use the system, you will see that you need to get your nose in several /etc/ scripts or Portage’s own command line arguments. Many times I had to edit portage-related ebuild scripts or configuration files (both on /etc/ and /usr/portage/ and elsewhere) and when it comes to the cryptic USE command, it just becomes too complicated and too involved for the plain user. It is just more than I would wish to do with my system.
Today, it is possible to download binary ebuilds, however there are not many such binaries uploaded. Still, 99% of the cases deal with source recompilation on Gentoo. And while some will argue that this is Gentoo’s strength, I would argue that this is absolutely and utterly tiring for a desktop machine, and simple users might end up leaving the distribution because of this reason.
I would like to suggest that the Gentoo maintainers and third party Gentoo devs distribute binaries for all software they enter in the portage tree. It would be nice if the software is categorized first by platform, then by the Gentoo version and then by CPU architecture. In other words, the long and painful job of creating packages will get in the developer’s shoulders, not on the user’s. Gentoo should only support i586, i686, PIII, Athlon, AthlonXP and Pentium4 architectures by utilizing the mcpu and march GCC flags. Users for the rest (and least used) CPU architectures (like K6, Athlon-MP, PPro, Cyrix etc) could have two options: either use the default i586 build which works on all modern CPUs, or simply resort in the traditional Portage method, the recompilation, if they want to squeeze every bit of performance out of their machines.
The power of Gentoo should be in the way it handles the packages, not so much on how fast it makes the system. Becoming just 2% or 3% or even 10% faster than itself when built for another CPU architecture, or than Mandrake or Red Hat, does not justify the cost of losing users.
Portage is a great package management system, it is considered as the next generation of Debian’s and FreeBSD’s package managers. However lacks a good front-end to make its most advanced usage (which is often required) easier (there are five different GUI front-ends, each one with its own problems), it often breaks stuff, and it does not provide an easy way to exclude a specific package when globally updating the system. If Gentoo “sponsors” and supports one of the 5 gui front ends and complete it, change Portage to be as simple as “Install/Uninstall Packages” and “Update System” instead of all this jibberish and confusing UI, it would be best for the further acceptance of Gentoo by everyday users, and not just a bunch of geeks and developers. OSNews recently hosted an excellent article on what kind of integration and ease of use a modern package system should provide.
Gentoo developers, this is not about giving up your beliefs, it is about providing the best for your users. Sometimes “best” is not what would actually be best, but what would be hassle-free for the user. Microsoft built an empire with this way of thinking.
On the other hand, distributing binaries built for different architectures, it ensures bugs on the applications themselves, because GCC creates different binary code for each time of them. And developers do not always have handy machines with all these different CPUs, to test with. This is why Gentoo would need a “beta test” cycle before everything goes to the main Portage tree (and I am not talking about beta testing via editing configuration files in order to allow emerging of “hidden” ebuilds).
Personally, I haven’t updated my Gentoo box for a month now. I am fed up with all these compilations taking place almost daily (I like trying lots of applications…), and especially now that GCC 3.x is the default compiler and it is way slower in compilation times than GCC 2.9x (but creates faster code), it is just a no-go option for Gentoo to remain my main Linux distribution (I have 4 others installed currently). I am a geek, and I am a developer (Gentoo’s main userbase). However, after a while, I just want to use the OS, and not let it get in my way with broken libraries or packages (my last ‘update world’ broke my ALSA sound – haven’t bothered to fix it completely yet, I got sound only via the terminal and not on KDE/Gnome).
I do like Gentoo, I love its community and its helpfull developers and I do like it being fast and all. But I believe that my next main Linux distro will be Red Hat 8, if Gentoo Linux won’t offer a “user-oriented” hassle-free distribution in time. If this is not the scope of Gentoo Linux, well, no hard feelings, I would perfectly understand and part ways under the best of terms. But Portage’s automatic dependancy solver is still sweet and hard to part ways.
It’s a pretty typical social developement. Gentoo is quite ‘hip’ in “Linux cycles” and has a geek factor.
So everyone wants to run it. But it’s still a bit too complicated. So we simply request an easier Version and sacrifice quality for masscompliance – just to be able to run that gentoo thing and feel cool.
The optimization thing is largely overhyped. USE ist the big PRO about compiling from source. You want the inflexibility of binary software, but that felling of an “optimized” system, though you hardly would not recognize a difference. It’s just for the personal show. For the ego. You don’t want to compile, there are other out there, which are not worse – they just don’t have that geek status. They are not part of that shiny, great, new community. That’s what’s all about.
I love Gentoo for its flexibility and I use it at home because I’ve got time to set things up as I want. I use “emerge rsync” every couple of days and I frankly believe that the emerge interface is pretty simple. If most people would take the time to do “man emerge” that would help a lot
I love Mandrake for the instant availability of loads of binary packages that allows me to setup a system in a record time. That’s my choice at work.
Now I am not bitching at Mandrake for not providing a source base distro nor I am bitching at Gentoo for not taking the burden of providing binary packages for all architectures under the sun. That would seem to me highly unreasonable in both situation.
Gentoo developers don’t owe anybody anything. They do their best with the amount of time they have and what they’ve achieved in less than a year is just great!
At this particular location I’m running currently 15 Gentoo 1.2 machines. Each of them with their own purpose, some identical in use.
At no given time have any of these systems (including 2 workstations) ever broke due to portage deps. The speed difference from the dist (they wear a padora) that was on these systems is unmatched. Only FreeBSD compared to the speed but I did no benchmarks.
What I’m getting at is, this is a nice dist for those who are willing to spend the time. I’m not sure what the expectations of the article’s author was, but it clearly states that this is not your mom’s Linux dist.
Maybe he should switch to Mandrake where he can wallow in RPM package dependancies and instead of waiting for builds, he can wait for his system to boot.
Then why don’t you stay away from it? Nobodys forcing you to use a source-almost-only distribution full og weird configuration stuff?
Go with RH og Mandrake instead?
Just my 2 cents.
Let me begin my stating that I am a Gentoo Linux developer, so I am, unsurprisingly, somewhat biased in favor of the distribution. I have been using Gentoo Linux as my primary Linux distribution since early 2001.
After analyzing the comments of a recent Gentoo release note on OSNews.com, the author suggested that there is a schism between Gentoo developers and users. Taking a look at those comments myself, it looks to me like very few of the comments, pro or otherwise, are by developers, so I’m not sure that the author’s claim is, in fact, justified.
That said, there are, indeed, a number of justifiable user complaints about Gentoo Linux. The biggest complaint, by far, is “emerge –update world (or emerge foo) broke my system!”. Quality control, right now, is our number one issue. I believe that we have made vast strides over the last couple of months, but we still have a lot to do here. This area is one where, I’m afraid, Gentoo Linux is likely to always prove more troublesome than a distribution such as Red Hat. The reason is that the underlying raison d’etre of Gentoo Linux is flexibility for the users, which we have implemented through the use of “USE” flags in the ebuilds. For example, the “jed” editor can be built with or without X and gpm support, depending on what USE flags have been set. Such flexibility, though, means that quite literally every Gentoo Linux user could be running a different system!
Here’s a quick numerical example of how quickly things can get out of hand: At the moment Gentoo Linux has about 3000 packages. Assume an average of three USE flags per package that can be set, or not set, and at least eight different architectures (i486, i586, i686, athlon, P4, ppc, sparc, sparc64), and suddenly instead of 3000 packages we really have (3000)(2^3=8)(8)=192000 different packages. Now imagine the number of possible permutations of those different packages, and the numbers become truly overwhelming.
The net result is that traditional distributions can control the numbers problem to some extent by having the distribution, instead of the user, decide on what functionality should be compiled into a package and for what architecture packages should be compiled. I would not recommend that Gentoo Linux, in its default state, be used as an enterprise desktop solution. On the other hand, it would be very easy for a company to create its own distribution based off of Gentoo Linux.
The above numbers illustrate how difficult it would be to have a binary package available for each architecture and each combination of USE flags. However, the upcoming 1.4 release will offer compiled stage2 (gcc, glibc, gettext, and binutils) and stage3 (the rest of a “core” Linux system) tarballs that have been compiled for a considerable variety of platforms with a reasonable default set of USE flags (see http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_… ). I believe that in the future we will probably make binary packages available in a similar fashion, but there are a number of details that would need to be worked out first.
The considerable flexibility permitted by Gentoo Linux thus comes at a noticeable price for the user, as Gentoo Linux has deliberately traded simplicity for flexibility. I will cheerfully agree that we still have quite a way to go in making Gentoo Linux both easier to use and more powerful, but I hope our dictum will always be “as simple as possible, but no simpler!” There are already many fine Linux distributions that offer a mostly “hassle-free”, if inflexible, desktop solution; Gentoo Linux need not attempt to compete in this arena. Instead, Gentoo Linux shall, I trust, remain “a versatile and fast, completely free Linux distribution … geared towards Linux power users.”
Finally, let me add a minor comment about installation. The new “livecd” install cd for 1.4_rc1 makes installing Gentoo Linux a bit easier, and I’m sure that eventually we will have some sort of gui-based installer, but the “involved installation process” mentioned by the author will always be easily available for those who want (or need) to be able to tweak absolutely _everything_ involved in a Gentoo Linux install.
your right sean about removing packages you already merged.
Just last weekend I experienced my first broken ebuild.
I was trying to remove packages I already installed to save space.
I lost my sound on mylaptop. I was forced to remerge my alsa-driver to get it back. I heard that most of the time to fix something you just have to remerge some ebuilds.
Also, If I didn’t make too many crazy configurations under /etc this wouldn’t have happened.
Eugenia,
Since OSNews is a website staying up to date with technological changes and economical change through-out Operating Systems, I can safely assume that things like “target market” is a pretty simple concept to discuss here?
Who is Gento’s Target Market?
Is it those who ask and expect “”user-oriented”” installs?
I have yet to see an indication that Gento and Gento’s dev team ever wanted to target that market.
Let’s assume that Gento team decided to evaluate their options and see if they wish to appeal to other markets. What are the reasons to do so? What will give Gento the competitive advantage over other open source operating systems that already impliment packaging systems? Should Gento developers re-think of what Gento is about?
ok, lets take 1 step back. Did you consider Gento’s target market auidence when you put together the editorial?
All i am intending to point out is that suggestions, assistance and changes to Gento can be very useful, yet are you really understanding that Gento is leaving RedHat’s audience alone at this point in time?
If i mis-understood who Gento team target then please help me out and provide something of official nature (something from Gento team) describing who Gento aim to appeal to.
So to sum up: “What audience are Gento’s target market?” Is ALL of the editorial accurate if that question is answered?
Looking forward to thoughtout comments
Gwurb.
why do we assume that every distro is supposed to appeal to everyone?
I started using Gentoo because it’s portage system is similar to the *BSD ports system, and wine works. (could never get it fully functional under FreeBSD).
For me, the whole point of Gentoo is that you get to compile everything from scratch. If you don’t want to, and are unwilling to read the simple documentation about the ebuild system and the USE variable, then you prolly shouldn’t be using gentoo.
as far as stability goes, i’ve been running the pre-release gcc 3.2 system in both a production server and on my laptop for a month now, with no issues at all.
And yes, it’s very much like FreeBSD, without the filesysttem disipline, although it’s pretty good for a Linux. The basic difference is that _everything_ is in portage, as opposed to a seperate source tree.
As I understood the article she saw a need being presented by users and merely spelled it out she didn’t say gentoo had to change just that there was a market there.
Yes it is for power users(?) still trying to figure out how you can use the system doing that many compiles.
But there are people out there who would like an off shoot of the project with the things she mentioned. Maybe some of the prgrammer types out the could get together and make thier own version just a bit behind the cutting edge but still more advanced then the other distros?
Course I’m not a cutting edge fanatic I still have 2.2 kernal on one machine.
Guess it boils down to Linux is supposed to be about choice and being able to pick and choose what you whant when you want it.
Quoted from http://www.gentoo.org‘s about gentoo section:
” Gentoo Linux is a versatile and fast, completely free Linux distribution for x86, PowerPC, Sparc and Sparc64 that’s geared towards Linux power users. Unlike other distros, Gentoo Linux has an advanced package management system called Portage. Portage is a true ports system in the tradition of BSD ports, but is Python-based and sports a number of advanced features including dependencies, fine-grained package management, “fake” (OpenBSD-style) installs, path sandboxing, safe unmerging, system profiles, virtual packages, config file management, and more.”
What point were you trying to make again?
The author mentions instability in his essay. Honestly, I have a hard time seeing where he is coming from. Does he refer to the fact that if you keep your system “up to the minute” current, sometimes e-builds break? Couldn’t be. If the e-build breaks during build/install, you still have your old package readily available. As long as you can be content with a fairly tested RELEASE version, stability of portage isn’t an issue.
Or does he refer to the overall stability of the system after everything is built/configured? Honestly, I have never had a stability problem with a linux-based system. Ever. The only things that ever crash on me are applications that I really don’t depend on anyhow. I believe that linux systems get better with every passing day. It is a win-win situation really.
–David
Wow, I’ll just ignore the “free space” check upon first typing “dir”. Not to mention the blistering speed of deleting several thousand files. Yeah, 16 bit systems rule! Who needs all those extra registers anyway?!
I’m a recent Gentoo convert, having used Redhat almost exclusivly for 2 years now, I’m completeing the change over to Gentoo on all my systems.
Gentoo works for me, it’s one of the good things about Linux that people are free to pick and choose in a far greater way than under other OSs. The portage system is a great deal better for my way of working than RPMs – but it’s not for everybody, a good slice of bandwidth is handy for it, time is another factor…
Compile time on the whole is an issue, as is problems with some software/code and GCC (esp. with increased compiler optimisation), but Gentoo allows a person to hand craft their OS to their machine and requirements, like no other _I_ have used in recent times.
Every OS has there problems, Gentoo is no exception in this respect. I think Gentoo has a huge amount of potential, it is rare than anything impresses me, but Gentoo over the last few months has.