And thus we come to Linux. Once you get over the initial learning curve, Linux makes a very powerful tool, and its flexibility and stability can even make it a superior tool. But Linux suffers from the same problems as Windows when it comes to obscure or poorly-built hardware or software, and problems with troubleshooting and advanced configuration can likewise be difficult for non-expert users. Linux has the advantage of superior reliability, but this advantage gap has narrowed substantially over the past decade as both Windows and Mac systems have made major strides in this area. But where Linux really falls down is in "operating in a reliable and consistent manner." Getting new hardware or software to work in Linux can be easy, or it can be hard. And the methods that you might use to make something new work in Linux are varied, and in some cases, quite a drawn-out process. You might need to install frameworks or libraries, and in each case there might be more than one way to do each thing, with no clear indication of which method would be best or why. The hardware you might want to use might not be supported, or might only be supported by way of complicated hacks. If you want to make a configuration, there may or may not be a user-friendly graphical config tool, and if there is one, it might not work the way it should, depending on other factors. I won't even start into the whole X Server and DE conversation.

It seems that the most user friendly OS is also the most tightly-controlled. Microsoft brings on a lot of its own troubles on itself by providing so much backward compatibility and making it easy for its developers to be lazy by using cheap hacks and old APIs, but a Windows developer has more freedom than a Mac developer does. Linux developers, of course, have even more freedom, and that's one reason why Linux is all about options. There are at least two ways to do everything. In large part, the freedom is a contributor to Linux being difficult for non-experts.

But that's not the whole story. There's also the decentralized nature of Linux development to blame. Both Apple and Microsoft can rely on a central authority for user interface conventions, and of course can focus their efforts on a single desktop environment. The Linux community is riven by fundamental philosophical disagreements on how to do things, GUI-wise, and even where there's agreement, the various players are still largely acting independently, or at best are organized into a loose confederation of interested parties.

Then we have the "geeks" angle, as posited by our questioner. Because so much Linux development is driven by advanced users' imperative to scratch a particular itch, the areas of Linux development that receive the most and best attention are the areas that are of particular concern to its most highly-skilled users. That's why stability and performance are Linux's strong suits. Most Linux alpha-geeks are quite content with the everyday usability of their particular setups, and their advanced skills make things like troubleshooting and configuration pretty easy for them. So yes, the fact that "geeks" are developing Linux for themselves is a major contributor to its user-friendliness deficit.

But what about the big companies working on Linux. Don't Novell or Red Hat have some interest in improving Linux's user-friendliness? Well, yes, but not really. First off, no company working on Linux has nearly as many engineers working on GUI issues as either Apple or Microsoft. Second, they never will, because the Linux companies aren't very interested in Linux as a desktop or workstation OS. The big money in Linux is in servers and in "enterprise" applications. Linux as a server is easily as easy-to-use as Windows or Mac. Both Microsoft and Apple make great server OSes, but in some ways their adherence to desktop conventions put them at a disadvantage against Linux and all of its UNIX server heritage. So Linux companies are putting a lot of effort into making Linux more user-friendly, but more user-friendly as servers. Companies like IBM, Red Hat, and Novell do some business setting up big networks of workstations or even desktop PCs, but they tend to be relatively locked-down, centrally-managed systems where professional sysadmins wouldn't want the users mucking around too much anyway, and the available DEs and apps for Linux really do get the job done in that setting. Or they're workstations for "geeks" so the previous point applies. So I wouldn't expect much action there.

I think the best hope for a sea-change in Linux usability would have to be an initiative like Google OS, where Linux is chosen to be the underpinning of a new, user-friendly OS by a large company that will unilaterally undertake to create an elegant user interface on top of Linux, much as Apple did from BSD. And just as an Apple user can launch the terminal and get all UNIXy, such a project would still be Linux underneath, and would hopefully still accommodate those people who treasure having half a dozen ways of doing everything.

So this question of Linux user-friendliness can be attacked at its roots, by debating what really constitutes user-friendly, or it can be addressed head-on, by examining what could be done to improve Linux's accessibility by new users. I'm sure there's a lot more to say. What do you think, OSNews readers?