/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.

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState