LWN.net Logo

Hmm... Why?

Hmm... Why?

Posted May 15, 2008 12:24 UTC (Thu) by Duncan (guest, #6647)
In reply to: Hmm... Why? by khim
Parent article: The Grumpy Editor encounters the Hardy Heron

Interesting you mention Gentoo.  That's in fact what I was going to 
mention as well.  Binary distributions often have compile-time support 
choices that force library dependencies if enabled.  It was apparently 
judged worthwhile to enable bluetooth support for those that had it, even 
at the cost of forcing the library dependency.  The option would be 
disabling bluetooth support even for those that needed it.

This is the kind of choices binary distributions make all the time.  Among 
other things, it's why most binary distributions favor one desktop 
environment (KDE, GNOME, XFCE, whatever) over another, even if they have 
binaries for both.  Inevitably there will be packages with compile-time 
enabled options to better integrate with more than one, and a binary 
distribution will, by working policy borne of necessity, tend to enable 
the support for their "default" desktop while disabling the other, thus 
not forcing the installation of their non-default desktops, while forcing 
the installation of at least major components of their default choice due 
to the build-time linking they enabled.

The only way around this sort of thing for a binary distro is shipping 
multiple choices, either as different distribution flavors, 
ubuntu/kubuntu, etc, or by shipping multiple versions of the same package 
(say vim and vim-minimal, to cite one example I'm familiar with from my 
time a few years ago on Mandrake).  Either way that's a limited 
workaround, because it doesn't deal with the more obscure choices, which 
will tend to be enabled or disabled based on individual distribution 
policy for that sort of dependency and the functionality hit taken when 
disabling it.

While they certainly have their own faults, source-based distributions 
shouldn't have this one, at least not to anywhere near the same extent, 
because being source based, the choice of whether to support the extra 
functionality and take the extra dependencies is made at the user end, at 
compile and install time.  That's what Gentoo's USE flags are all about.

If you're using a binary distribution, you're choosing a package set where 
untold hundreds, more like thousands, of these choices have been already 
made for you.  If you choose one more or less compatible with your usage, 
purposes and preferences, a good share of them will be the same choices 
you would have made anyway and you've saved yourself the hassle of 
compiling everything from source at the cost of, probably, a handful of 
packages that get installed as dependencies that you'd not need had you 
compiled each package with just the support you needed.  Hopefully, you 
find one fairly close to what you want and you have just those few extra 
packages and interdependencies.  But, you WILL get those few.  It comes 
with the territory.  It's a tradeoff you choose to take when you choose a 
binary distribution.  If you don't like it, choose a from source 
distribution that allows you to control such things... at the cost of 
compiling everything yourself.  Your choice.

When it comes to my computer, I'm definitely and admittedly a control 
freak, and I had decent hardware, so I chose the extra control.  Others 
don't mind the loss of functionality and customizability, as long as 
it "just works".  For them, from all I read, GNOME based Ubuntu tends to 
be a pretty good solution, as are (in a different way) various 
proprietaryware solutions, where you pay your money and get a more or less 
turnkey solution they expect you you to take more or less as is and not be 
too interested in poking away at the internals of (indeed, it tends to be 
against the EULA to do so).  If they are lucky, it'll meet their needs and 
wants as well as my Gentoo with KDE has for me, and they'll be as happy 
with the results as I've been. =8^)

Duncan


(Log in to post comments)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds