/var/opinion - Come Together
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.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Mediated Reality: University of Toronto RWM Project
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Dart: a New Web Programming Experience
- OpenOffice.org Off-the-Wall: ToCs, Indexes and Bibliographies in OOo Writer
41 min 42 sec ago
- Kernel Problem
10 hours 44 min ago
- BASH script to log IPs on public web server
15 hours 11 min ago
18 hours 47 min ago
- Reply to comment | Linux Journal
19 hours 19 min ago
- All the articles you talked
21 hours 43 min ago
- All the articles you talked
21 hours 46 min ago
- All the articles you talked
21 hours 47 min ago
1 day 2 hours ago
- Keeping track of IP address
1 day 4 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?