[CS-FSLUG] Quick Review: CentOS 4.1

Ed Hurst ehurst at asisaid.com
Sun Sep 11 20:59:10 CDT 2005


dmc wrote:
> Can you post a list of what you require of your Linux distro?

Ideal Distro

Everybody has their own idea was to what this might be. Here is my
definition. Bear in mind the objective: something I can work with and
tweak to my heart's delight, something that yields to exploration at
whatever level my curiosity drives me. At the same time, I should have
no fear offering it to a complete newbie. I explore so that I can
support the newbies, but I shouldn't have to if they don't want it.


Generalities: Sensible defaults for newbies, while offering advanced
controls for the experienced user. This should be applied separately to
each task, from installation to every configuration item. As users
become more advanced, they'll become expert in the things that matter
to them, but seldom everything across the board. Make heavy tweaking,
such as compile-time options, reversable by average users. Don't bury
departures from the norm with multiple obscure and overlapping
alterations to generic sources.

An example of the last is bytecode hinting. If the distro managers see
a risk and don't want to include it, fine. But make it possible to
rebuild the freetype2 package without major difficulty. It ought to be
no more than changing one line in a SPEC file for a source RPM, for
example. It shouldn't require a recompile of the whole X server. I
don't recall which distro did this, but it refused to run the X server
when I changed the bytecode hinting. This is arrogance on the part of
the distro/package managers. There are too many users wanting that
enabled to play games.

Irrational dependencies are common these days, and not always the fault
of the distro. For example, I've often complained GNOME developers will
put overlapping code in the least common package. A calendar app which
uses some of the same code as the pilot-link app -- the common code
should be in the calendar, not in the pilot-link package. I should not
be forced to install the pilot-link to make the calendar work. However,
some distro managers have begun doing even crazier things, such as
requiring some free TTF font package for Lyx, when said fonts are not
even an option for use in Lyx.


Documentation: Some distros have whole CDs of it, some have nothing
more than comments in source code. I shouldn't have to go to the
official website as the only source. How hard is it to offer a CD copy
of a snapshot of available documentation? SUSE includes a searchable
collection of their entire knowledge base at the time of release. The
app for reading that knowledge base also displays manpages and
infopages, and no arcane terminal commands required. Write at a
friendly level. When possible, offer a simple guide to the impatient,
with more for those willing to study, on everything that isn't fully
automated.


Configuration: If there is catch-all configurator, give it a prominent
place in the default menu of every window manager/desktop offered. If
there are multiple configurators, list them in a submenu. Don't neglect
any of them, as that appears they are "hidden." If configuration means
editing files by hand, write a simple guide and put the display of that
guide in the menu. Never *ever* make your autoconfigurator rewrite
changes in config files made by hand! Several distros will
automatically wipe the fonts.scale files from certain font directories,
which cripples the display on any interface that doesn't use Xft. If I
create proper fonts.scales files, leave them alone. A couple of distros
rewrite the fstab file on reboot, removing lines for peripherals that
aren't static. Always offer a way to protect such user tweaking, either
by smart scanning or by offering guides on ways to make changes that
the configurator will ignore. Such info should not be buried in a
manpage.


Specifics: These are gripes I have based on my own experience.

1. Firewalls -- Always have a default firewall turned on from the
moment of installation. The arcane science of what to block, and how to
construct rules, should not be required material for the bulk of users.
Better, offer a short selection of defaults during installation, with a
reasonable explanation of what each choice does, with comments on the
likelihood the user will need it. Several major distros neglect this
issue altogether.

2. Net Connection -- A related issue is dialup applications. A few
distros are infamous for crippling everything except their own
creation. If I want to use KPPP, it should work from the start, and
permission for the user should already be set up. If you want to
replace it, make the new one work the same by embedding in the Kicker.
Same goes for any GNOME-based dialer. If I want to use WvDial, you
might expect I'd know a little more. This is sometimes part of the
issue of crippling the window manager/desktop which distros include but
isn't their favorite. If the dialer is originally designed to be simple
and is a standard, don't break it.

3. Stability -- If your distro is all about cutting edge, warn newbies
to stay away. I have a real argument with standard semi-annual releases
so common today, whether it be distros of large projects included in
distros. There is a difference between "upgrade" and "bug fix." If you
are going to fix something, then offer the fix in the smallest package
possible, as most of the world still connects via dialup. Don't require
a full upgrade to fix something that was done wrong in the first place.
Don't require updating every related package. Fix the old version you
broke in the first place, or don't call it a release -- call it a beta
and advise ordinary users to stay away from it. Support older versions
of your product to the fullest extent possible, and encourage volunteer
efforts to extend the life of any good product. This gets easier when
you release less often, and do a better job in the first place.

4. Bug reports -- Make this brain-dead simple. Accept the burden of
sorting through the junk reports, instead of making it so very hard to
file a simple report. Bugzilla is for coders and experts. Try to find a
way to dialogue for clearer information. If you can't afford the help
or can't get a volunteer to help with the workload, you are wrong when
you say your product is for everyone.

5. Packages -- Don't include something like emacs because you think
everyone should learn it. Don't include vi just because it's common on
Unix/Linux systems. Most users will never see them, so it's just
installation bloat. A default install should be simply a reasonable
collection of the most popular stuff. No newbie has any business facing
the commandline for package management, so get a good GUI. There are
too many out there easily adaptable to just about every distro. (That
is, unless the distro has no GUI in the first place.) Make sure the
package manager has useful descriptions of packages. Grouping them by
function is so inconsistent, with some distros great, and far too many
plain silly. Newbies aren't interested in whether a package is a free
contribution from commercial sources, just list it with other similar
applications if you are going to offer it. Here is what I consider a
sample of must-haves:

 - Whether KDE, GNOME or something lighter, include all the standard
   packages. Too many distros chop out bits, and the user has to
   compile from source. Either offer the whole thing or stay away from
   it.

 - OpenOffice plus any one alternative for each part, preferably
   a collection that's integrated. Even Siag Office is better than
   nothing, and works fine on older machines. Also, no distro is
   complete without a fully functional calendar/appointment keeper, and
   an indexed addressbook.

 - Mozilla's full collection: Mozilla, Firefox, Thuderbird, etc. Keep
   track of new releases and offer security updates quickly for
   previous releases of your distro.

 - Nedit, CoolEdit, or any other high-end text editor. Offer several,
   if possible.

 - A GUI manpage and texinfo page reader.

 - Tutorials for newbies to learn the Unix/Linux way, and simple basic
   instructions on console operations. I seem to recall something about
   a generalized console program called "help" that offered a menu of
   task-oriented tutorials. If the user typed in "help" by itself, the
   tutorial ran. (Maybe it was just a proposal.)

 - A GUI file manager at least as simple as the old DOS Navigator. It
   could be mc in an xterm as long as it's built to accept mouse events.

 - A GUI CD-burner and music CD-player that auto-detects.

6. Amenities -- This is not the same as eye candy. There are some
things that enhance the user experience greatly, including a collection
of subtle changes wisely chosen. The standard locale should always be
the UTF-8 version of a national language; there's no excuse any longer
for not doing that. There's also no excuse for supporting it poorly. I
know of at least one distro that has used it since it was available.
Even their version of Lynx renders smart-quotes properly. Furthermore,
I've seen pasting text into a simple editor that automatically
converted non-ASCII characters to the nearest ASCII equivalent. I seem
to recall one distro set up system messages to appear in whatever email
client was configured by default. Little things like this go a long way
to enhancing the user experience.

7. Hardware -- I am sure I don't understand what's involved, but I
can't see any reason one distro can detect and configure everything
perfectly, and another with the same kernel and package version profile
can be so miserable, both on the same hardware. There is too much
excellent work done over the past couple of years to play politics and
refuse to adopt a good detection program. Installers don't have to be
GUI; they have to work well enough to surprise folks when they fail.
Also, no newbie should have to make decisions about partitioning, except
whether to keep their Windows partition.


That should be enough whining for one message. Currently SUSE 9.2 comes
closest. I note 9.3 included some truly heroic efforts at idiotic
dependencies, but added some new amenities. Sadly, it was worse on
hardware than 9.2. SUSE has long had a problem with video detection.
CentOS did far better, but broke all the standard dialers and offered in
essence nothing to replace them. All varieties of Debian lack a standard
firewall, from what I've seen, and many of them won't do framebuffer at all.

-- 
Ed Hurst
-----------
Applied Bible -- http://users.tconline.net/~softedges/
Plain & Simple Computer Help -- http://ed.asisaid.com/
Plain Package blog -- http://ed.asisaid.com/blog/




More information about the Christiansource mailing list