A constant refrain in the email I get from people trying to use Linux for the first time is, "Linux needs better hardware support." At the same time, many experienced Linux users, who also wish Linux had better hardware support, worry about Linux getting "dumbed down" if a lot of people who aren't very knowledgeable about computers start using it. But better hardware support will only come if Linux becomes more popular among non-gurus. Here's why:A friend of mine -- a respected Linux developer -- points out, "Microsoft doesn't write hardware drivers for Windows. The manufacturers write them. For a Linux distribution to write all their own drivers they'd have to buy almost every kind of hardware out there, and none of them except maybe Red Hat can afford to do that, so Linux hardware support is dependent on the community."
My friend also notes that community-generated Debian has an advantage over commercial Linux distributions when it comes to hardware support, because instead of being produced by a single company, Debian is made by thousands of individual volunteers, all of whom have their own hardware. Among that huge crowd, someone or other is likely to own almost any common component or peripheral there is, and sooner or later will either reverse-engineer a driver for it or talk another Debian person into doing it for them.
But Microsoft still has the advantage here. Instead of being forced to either reverse-engineer manufacturers' drivers without their help or write new drivers from provided specs, they simply sit there and wait for device manufacturers to write Windows drivers and send them in. This isn't because hardware manufacturers necessarily have great love for either Microsoft or Windows, but because those manufacturers must either support Windows or not sell enough product to make a profit.
You can appeal all day to the better nature of for-profit manufacturing companies, and talk about why they should write GPL-licensed drivers for the public good until you are blue in the face, and it will get you nowhere. Computer device manufacturers may be at least somewhat interested in the public good, if only for PR reasons, but when you come right down to it their primary interest is selling product, and if the most commonly used statistics are anywhere near accurate, there are nearly 20 times as many Windows users as Linux users. Not only that, a lot of Linux users, especially gamers, have at least one Windows partition somewhere, and if they really, really want to use a particular piece of hardware, they'll boot into Windows.
So what real sales improvement does a device manufacturer get by offering Linux support? Two percent? Three percent?
Sure, you can say, "If more hardware makers provided Linux drivers or opened their software up so third parties could write Linux drivers or even if they just loaned equipment to Red Hat or Debian volunteers or someone else to make it easier/cheaper for them to write drivers, Linux would become more popular because it would run on more hardware."
Now pretend you are the CEO of a device manufacturer in today's rough market. Your software development staff is stripped to the bone because of layoffs. You are trying to avoid giving away any free product for any reason whatsoever; you are even tightening up on loaning review units to computer magazines and other media, despite the fact that favorable reviews are one of your best marketing tools. Are you going to spend any money or other company resources (developers' time) supporting a Linux market that probably isn't going to buy more than a tiny fraction of your production? I don't think so.
Add in another factor: In many cases, what makes one video card (or whatever) work better than another one is not the hardware but the driver software, and if you, the CEO, open up your software you will make it easier for competitors to reverse-engineer it and make products that can blow yours out of the market.
Now add in a third factor: the nature of the central, old-line Linux community. If you release proprietary drivers, they are not going to be included in all-GPL Linux distributions, so you are going to have to come up with install routines that will add them easily, and I say "routines" plural because there is still no single standard Linux software installation tool.
We're starting to see pretty good manufacturer-supplied Linux driver support at the server and enterprise hardware level, not out of the goodness of anyone's heart, but because Linux is now a significant factor in that marketplace, by some estimates running as much as 25 percent or 26 percent of all the Web servers in the world. When a hardware company CEO sees numbers like that, he or she happily allocates resources to ensuring Linux compatibility.
It's a simple numbers game. More Linux users = more Linux hardware support. If one out of five or even one out of eight or ten potential customers tells a computer device manufacturing company (politely), "I'd buy your product, which looks very nice, if I could run it with Linux," that company's executives are going to start to say to each other, "Maybe it's time we started supporting Linux."
But we need to accept the fact that Linux is already well-entrenched among sophisticated computer hobbyists and experimenters. There is little room for Linux growth in this closed club, where "Joe Sixpack" gets sneered at, and we hear comments about Linux getting "dumbed down" if Joe and Jane and the kids want to use Linux the way they use Windows today, as if their computer was a simple Internet, office, and entertainment appliance instead of a mystical box to be loved and tinkered with and explored. Our next level of outreach must be to Joe and Jane and a bunch of other Sixpacks, to get them accustomed to Linux on any level so that the next time they buy a computer or peripheral they walk into the store and ask, "Does it work with Linux?"
The day the Sixpacks start asking that question, in mass, is the day you'll start seeing big "Linux Friendly" stickers on everything from scanners to sound cards, and "Linux Inside" stickers on prebuilt systems sitting on major computer retailers' shelves.
When Elsa the Insurance Agent is getting ready to replace the 14 desktops and two servers in her office, and tells her system supplier, "I want everything I buy from now on to be Linux-compatible because I'm gradually converting to Linux, starting with the servers," you can bet that her supplier will suddenly start thinking about finding a Linux-friendly hardware source, and will start looking real hard at the idea of sending what's-his-name, the young tech who runs Linux at home, off to get some sort of formal Linux training and certification.
When you get deeply immersed in Linux culture, to the point where most of your best friends are people you met through a Linux Users Group, it is easy to forget just how huge the Sixpack family is. It is also easy to sell them short. Joe may not be a sophisticated computer user, but he might be a diesel mechanic, and it is no great stretch to go from solving electronic fuel injection problems to learning how a computer's file system works, once you get him started. And people like Elsa the Insurance Agent are nearly as numerous as the Sixpack family. There are far more computer-using small businesses than there are computer programmers, sysadmins, and hobbyists combined. Walk or drive down any major street in almost any city or town, and you will see them lined up: insurance agencies, doctors' offices, law practices, retailers, auto repair garages, restaurants, home decorators, and many more. And hardly any of them use Linux. Yet.
More and more of these people and businesses are getting curious about Linux. Not a huge percentage, perhaps, but if only 5 or 6 percent of them get a working Linux box in their hands, that would just about double the total number of Linux users -- and double the potential market for Linux-friendly hardware. And when more than 10 percent of a device manufacturer's potential customers start asking, "Does it work with Linux?" that device manufacturer's CEO is going to have no choice but to start thinking about Linux compatibility.
We need to make sure we extend a welcoming hand, not a sneering face, to those who are exploring Linux for the first time. We need to show them the easiest (usually GUI) ways to get going, not tell them they must learn complicated Unix-style tools if they are going to be "true" Linux users; they can either be eased into those later on or become paying customers for "command line" Linux gurus willing to take their money in return for providing them with either remote or onsite Linux support services.
Because there is no single company "in control" of Linux or "in charge" of Linux marketing, that means Linux advocacy is up to us: today's Linux users. Whether we do it one-on-one or through a LUG (or by starting a LUG) really doesn't matter. As long as a whole lot of us boost "end user" Linux one way or another, we will gradually see more Linux users, not all of whom need to become command line gurus to function, and that will mean more Linux hardware support -- and more Linux-related job opportunities -- for all of us.