Linux and tomato sauce: The cost of choice

Have you ever wondered about the relationship between Linux's slow desktop adoption and the proliferation of tomato sauce varieties in the average grocery store?

When a user decides to try Linux, they're overwhelmed with choices before, during, and after the installation. The first big choice: Which distribution?

Most people are just interested in trying "Linux". They don't know about the various distributions, so they have to find out what the differences are, then try to decide which is best for them - and they'll probably change their minds later.

During the installation, they're asked many more questions: How would you like to partition your hard drive? Which filesystem would you like to use? Would you like a server, desktop, workstation, or developer installation? Which text editors would you like to use? Which do you like better, KDE or Gnome?

For dedicated Linux users, this is great - they already know what all of these choices are, they've probably tried most of them, and they have concrete opinions that allow them to choose.

But for newcomers, this presents a huge barrier to entry. What's a swap partition and how big should it be? What's the difference between KDE and Gnome, and what's a window manager? Was this really the right distribution for me? What the heck is a workstation? Why do I have to make all of these decisions?

It's equally frustrating to purchase tomato sauce.

My grocery store has over 30 different varieties of tomato sauce. I know that they're significantly different, but I'd rather not learn all of the distinguishing factors and take the time to try them all. I'd rather the store employ a tomato sauce agent to pick the best four varieties with clearly defined roles such as "pizza" or "meatballs". As long as the agent didn't choose Ragu.

I can't just choose randomly, because I might accidentally buy tomato sauce that sucks. The decision can't be made lightly, but I don't have to be the one who makes it. I just want to move past the sauce decision and make meatballs.


There's plenty of useful Linux knowledge out there, but it's fragmented by the many distributions and program choices.

If someone discovers a great trick that makes Ragu useful without having to eat it, that might be of great value to the rest of the tomato sauce community. But it works differently on Prego, so the Prego users are left without that knowledge (and with no choice but to eat their sauce).

Some monopolies are good. We have one and a half PC desktop operating systems that matter to application developers. If you want to write a program that needs to run on a user's computer ("Web -1"), you're probably limited to one target OS. If there were 283 operating systems, each with a nontrivial marketshare and none having achieved dominance, such a venture would be doomed. But we only have 1.5 desktop operating systems, so you can choose either of them and have enough of a target market to sustain a business.

Web developers can generally ignore all but three web browsers. They don't even need to consider which markup language to send to the browser - HTML is the only choice. No markup-language research or decision-making is necessary. They can spend 100% of their time making higher-level decisions, and they won't have to start over after 6 months of hard work because they made the wrong markup-language choice.

Fragmentation also affects the talent pool and job market. If you want to hire a web developer, you can only select from a fraction of the talent pool because most candidates have developed their skills exclusively in PHP, ASP.NET, C#, or Java (I won't even pretend to know which Java acronym or framework is most appropriate here). But all of them are HTML experts.

Good defaults

People don't want infinite choices. They sometimes want the ability to choose, but they rarely want to be forced to choose.

They don't care about distributions and package managers and directory paths and window managers and text editors. They want other people to do the research and choose the best solution for the most people. They want good defaults.

Apple understands this. On a Mac, you have one email client, one music player, one photo manager, and one calendar program. Apple has made the decisions for us, and by narrowing the choices, they're able to further develop their products into solid, mature offerings.

We're welcome to go back and find alternatives if we want, but for the most part, Apple made good choices. We don't have to decide which is the best email client on the Mac - we just use Mail. (Good thing, too. Thunderbird on OS X is awful and the Mozilla Foundation should really just fix it or kill it.) There's generally one good, solid choice and a handful of specialized alternatives for everything you need on OS X.

Windows is even easier. People don't even have to choose to use Windows or any of its popular software, such as Microsoft Office or Internet Explorer. If they haven't chosen not to use these, they probably already are using them. Their market entrenchment is so strong that using them represents the lack of making any choices: if you don't specify otherwise, and you want to buy a computer for typical needs, you'll end up with this setup. It's also the result of undoing a choice: when people decide that they don't like OS X or Linux, they "go back" and revert to Windows. It's the ultimate non-choice. (There are plenty of people who have consciously chosen to use Windows after evaluating the alternatives, but the massive majority find themselves using Windows by inaction.)

Is Linux doomed?

Desktop Linux would be able to advance far more quickly and be much easier to adopt if it had fewer choices. Why is the talent and effort split between KDE and Gnome, Red Hat and Debian and Gentoo and Ubuntu, Vim and Emacs and Nano and Pico, Konquerer and Firefox and Mozilla, and everything else I'm forgetting because I've spent too little time on desktop Linux to care?

Unfortunately, Linux and its entire culture are based on overchoice. I don't see this changing. It's what gives Linux such appeal to many of its users, yet it's also what will restrict its usage mainly to those users.

If they can just agree to use Classico, they can stop unnecessarily duplicating so much work and put their efforts toward making great strides in areas that matter.