Linux not viable?
I read this article this morning, and got to thinking about it. He states that Linux has “falied to become a viable desktop”. Somehow, if it were failed, I wouldn’t be seeing Dell selling machines with Ubuntu preinstalled. The author’s biggest complaint was, from what I got out of it, drivers and compiling.
The article brings up a point about VMWare not needing to be compiled to be installed on OSX or Windows, but for Linux, a kernel driver needs to be compiled. Fair enough, but let’s examine the reason why. Windows and OSX have the same core kernel, therefore, the driver is prebuilt. Since Linux users can be running any variety of different kernel / kernel configuration, one module will not work for everyone. Is this a problem? Perhaps for the end user, however, it’s not a widespread problem in Linux itself. I’m willing to wager that if OSX or Windows had the ability to use custom kernels, they would be in the same boat.
The article also mentions about “ugly” driver support, and how the kernel often needs recompiled. I have yet to have a driver where I’ve needed to recompile the entire kernel, I’ve only needed to compile a kernel module or two, and hopefully this is what the author meant to say by kernel recompiles. The only driver I’ve had to compile anything for was nVidia, and that’s only because I like using the latest and greatest drivers. Bottom line is that it compiled a kernel driver, not the entire kernel, and the installer was very user-friendly for a curses-based install. Every piece of my hardware was functioning out of the box when I first installed Ubuntu. Windows, however, was a different story, as I had to either pull out CDs or go looking for drivers on the net.
One other point the article brings up concerns software, specifically configuration files and distribution. Let’s look at configuration files first:
Quote:
Configuration files need to be eliminated entirely. It’s inexcusable to have a configuration file(expected to be edited by the user) in any part of a desktop app. It should all be done by GUI.
A GUI would work for editing, but eliminating the configuration files and going to a registry-style configuration would turn into a disaster.. I like having my configuration files available for editing, and if there’s a GUI issue, there’s always the configuration file to fall back on. If apps were to keep a registry such as Windows, we’d see the same issues Windows sees. As that registry fills, system performance is going to degrade, and if something happens to that central registry, forget about your system.
Note that the article didn’t specifically state anything about a registry, but if you eliminate the configuration files, where else are you going to store your configuration information? Additionally, most programs have no need for you to go into the configuration file, as they can already be configured via their GUI. Xorg is a notable exception, but of late it’s detection routines can generate a working configuration upon boot, and you would never have to get into the configuration file in normal circumstances.
The other side of the software issue concerns distribution of software in binary-only form. Unless you’re trying to run the uber-newest version of something, or some obscure program, chances are you are going to find the program in your distribution’s repository, which (unless you’re Gentoo) is distributed in a binary format.
Personally, I’m not the type to go preaching what you should use. There’s only one answer to what you should use, really, and that is to use what works for you. For me, that’s Linux. I have everything I need, and I can run the games I want to play all from within the comfort of KDE. I booted Windows just last night in order to apply patches and keep it up to date.

