/var/opinion - Come Together

Unique innovations are wonderful, but do Linux distributions have to differentiate at such low levels?

The whole PC world is plagued by a lack of good standards. Some of the
most frustrating standards problems are hardware-related. For example,
what brainiac thought it was a good idea to make the FireWire connectors
and USB connectors on motherboards identical? The motherboard manuals
are usually careful to point out that if you mix these up, you can damage
the motherboard. That's nice, but who made it possible to mix them up
in the first place? Dumb.

It's just as troubling to see a continuing lack of good, comprehensive
standards among Linux distributions. As with hardware, you can almost
always find a way to make something work if you are careful and know
what you're doing. But that's no excuse for the lack of standards across
distributions, and the few inadequate standards that exist.

Here's what inspired this complaint. If you've been following my columns,
you'll know that I've been trying to put together a MythTV box. I followed
several how-to pages for installing special drivers for the tuner cards
I have tried. Most of the published instructions, including those
linked to by some hardware vendors, tell you to place firmware everywhere
but the place Ubuntu stores firmware. Ubuntu looks for firmware in the
/lib/firmware/<kernel version> directory. Most instructions tell you to
put the firmware in /usr/lib/hotplug/firmware. One card, the Hauppauge
PVR-150/500, wants firmware files in multiple locations, including the
/lib/modules/ directory. It uses different filenames depending on
the version of the kernel and driver. I've tested three cards so far,
and I finally ran out of patience and used a shotgun approach. I put
copies of the firmware just about everywhere but my son's sock drawer.
All the drivers work now. I have no idea which copies of the firmware
files they are finding, but I don't care anymore.

Personally, I like the Ubuntu approach to locating firmware. Ubuntu uses
udev, which many agree is superior to hotplug. It lets you install
separate versions of firmware based on the version of the kernel.

Some may argue that this differentiation is what open source is all
about. If Ubuntu's choice is good enough, other distributions will
cream-skim it, and it will become the standard. Fair enough, but wouldn't
it be more efficient for customers if the distributors simply agreed on
such fundamentals as udev and where to put firmware? At least that way
we'd be less likely to run across how-to pages that don't apply to our
chosen distribution.

As much as I like this one thing about Ubuntu, Ubuntu is far from perfect
when it comes to establishing or observing standards. Try to install a
vanilla kernel on Ubuntu and see for yourself. You'll notice that you
can no longer mount some disk partitions. Ubuntu, by default, installs
and uses a logical volume manager (LVM) and enterprise volume management
services (EVMS), one or both of which break how Ubuntu works if you
use a vanilla kernel. I managed to fix the mount problem by editing
the configuration files for LVM and EVMS to ignore all the drives on
my system. The next version of Ubuntu will add ivman, yet another
volume manager. I can't wait to find out what I'll have to reconfigure
when the new Ubuntu is ready.

Unfortunately, my suggestion that distributors collaborate is utopian and
unrealistic. They don't even work as a team in ways that would benefit
them most, such as pressuring hardware vendors to preload Linux. When
it comes to standards, most distributors aren't even willing to agree
on a package format let alone build a package system where you could
install a Mandriva RPM in Fedora without running into dependency problems.
They can't agree on where to put firmware files or whether EVMS should
be part of the basic system.

The best possible solution would be for all major distributors to build
on a single base distribution. This was one of the original ideas posed
when Linux Standard Base was first formed, but distributors rejected the
idea in spite of the fact that it would save them all a lot of duplicated
effort. Why are distributors disinclined to agree on a comprehensive
standard distribution? Competition. A standard base distribution would
lower the barrier of entry for new competing distributions. Put more
bluntly, despite all the lip service Linux distributors give to how
their commitment to open source and freedom empowers end users, they
really do like having a degree of customer lock-in. Their lock-in just
isn't as severe, obvious, destructive or effective as Microsoft's lock-in.

Don't get me wrong. I don't want to see the Linux market homogenized
so much that distributions start to disappear. I'm glad there are many
distributions from which to choose. I would simply like to see them
differentiate their distributions at a much higher level, a level that
eliminates needless compatibility problems. But I confess that there are
times when frustration leads me to the temptation to start a crusade to
get everyone to run Debian. What do you think?

Nicholas Petreley is Editor in Chief of Linux Journal and a former programmer, teacher, analyst and
consultant who has been working with and writing about Linux for more
than ten years.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.