11.10.2005

Why Linux Sucks (as a desktop OS)

Reposted without permission from http://www.vbrad.com/pf.asp?p=articles/art_linux_sucks.htm. I will gladly remove the post if I have to.

What brought this article on is availability of cheap PCs, sub $300 PCs from mass merchandisers like Walmart. These PCs are loaded with various Linux distros like Mandrake, for instance. The assumption is that these PCs are being bought by first time users (or maybe as a second PC) who are not computer experts or light Windows users. I've recently witnessed three instances of where these PCs were purchased, then the hard drive was reformatted and a copy of Windows was installed. I am sure there is more of that going on. The obvious conclusion here is that Linux for whatever reason did not pass the grade. Here are some reasons, in my opinion.

It has been written about to death. KDE & GNOME have released their respective excellent wares, but still, Linux is not making inroads at the desktop level. And chances are that it will never make them, unless some radical changes are undertaken by respective leaders of key Linux projects (kernel, X, desktop). Actually latest KDE & GNOME are rivaling Windows at this point, but it doesn't matter. The problem is the modularization and clear separation of kernel, X and the desktop environments from each other. This division has caused Linux to be poorly integrated. Actually, the problem has several faces.

Problem #1. The integration of device (and otherwise) drivers into the system. Case and point. RedHat 8 and 9 provide no ability to access WinXP NTFS volumes. They claim is that they can't provide this functionality because of its unsettled legal nature. Now a nice man (woman?) at linux-ntfs.sourceforge.net provides this ability. But how was this done? He took the original RedHat kernel, compiled the module that provides NTFS access and added the module to the kernel. Users can download the RPM that takes care of all the complexity. A couple more simple steps and voila - you can access your XP share. There are more examples like this where the user can add new functionality to the system by recompiling the kernel. In this case, because so many people need it, someone has taken initiative and provided a ready-made replacement kernel. Most of the cases are not like that. And herein lies the problem. Users don't want to recompile kernel or its modules - they want ready made solutions. Even power users don't want to recompile kernel. Period.

Keep in mind, I am NOT complaining that RH doesn't include NTFS support. I am bringing up an objection to manner in which users add functionality to their system.

Consider how support for other file systems is implemented in Windows. No one needs to recompile anything. Instead you simply run an installation that installs a dynamic device driver (.vxd) to handle foreign file i/o. For examples, see www.sysinternals.com.

Problem #2. Video drivers & X. Somehow it came to be that the Xfree is the one and final arbiter when it comes to displays, video drivers and functionality. They release their wares on a fairly slow schedule. So, if you got a brand spanking new video card, you are pretty much stuck waiting for the next release. This is the case mostly when you just bought a new PC (which will most likely be loaded with windows). You install Linux on the second partition, but alas the install reverts to a generic video driver. Sucks for you.

I understand if they release new functionality for X on a slow schedule - that's fine. But drivers should be released separately as soon as they are available.

Problem #3. Plug & Play. Unfortunately for Linux, its constituent parts are not tightly integrated. As a result, when I plug my USB digital camera (or mouse, printer, etc) into the PC, absolutely nothing happens. In Windows, you get the 'Add New Hardware' wizard (or something similar). In WinXP, it is even better: if the system can find a signed driver for the device on its own, it simply installs it without any user intervention and you can use it immediately. That's what I call true Plug & Play. In fact, the first time I encountered this feature, it took me for a loop. Years of dealing with PCs have conditioned me to a familiar routine: connect hardware, install the drivers and pray that it works. So after installing WinXP for the first time, I connected an Epson USB printer and sat patiently waiting for the 'New Hardware Found' box. Instead, all I got (and missed the first time around) was a little icon in the system tray and a popup tooltip informing me that new hardware has been detected and software for it installed. I hope we see more of this in the future.

No comments: