Read other letters about this article
I live in a mixed marriage household -- I'm a Mac user with an Intel Macbook (that boots XP on the side sometimes) and a PPC powerbook, my partner uses everything (currently he's got a dual boot intel laptop that has XP and Ubantu, plus a PPC powerbook and a PPC ibook running some *X distro other than yellowdog.) I use that term very specifically because the OS wars remind me a lot of the various religious wars over the past several millennia.
I worked for a Sun distributor for two years, in a shop that required me to run Solaris as my desktop, and at the time I was violently opposed to Microsoft and hadn't come over to Mac yet, so I ran KDE at home.
And I spent more time dinking around with my computers at home and work than I spent working. And so did every coworker. I spent more time in the command line universe fixing things than I spent in the GUI doing the things I wanted to do. And that was not okay. Not at all.
My partner still spends a lot of time dinking... fortunately, he loves doing that. I don't. I really don't. I hate having to reconfigure half the machine's protocols because I used the machine at the university library with ethernet hookups, then came home to the household wifi... and now I can't check my mail. The last thing I want to do in the morning before I put my English muffin in the toaster is reprogram it because yesterday, I had toast. And yet, a lot of the time, that's exactly what *X requires of the user.
For most users, a computer needs to be like a toaster - it needs to be able to handle a wide variety of inputs (as long as they're all pretty much similar - i.e. based in 1 and 0) with seamless or near seamless switching.
XP switches adequately, but with a lot of risk behind the scenes; Apple does it well, with far less risk. *X does it well, but it's like watching avant garde theater -- everything's out in the open, all the stage hands are smoking and chatting at the edge of the stage while the actors are trying to perform. And someone's throwing flaming sugarcubes at Barbies and reciting Brecht in German.
For most users - not superusers, which is what I am, and not admins or developers or R&D developers, which is what my partner is - *X requires too steep a learning curve and far too much of the guts hanging out.
*X (and all the flavors of UNIX) have their places, and I do believe that basic computing classes need to be held in the *X environment -- tinkertoy programming isn't appropriate until after you know how the tinkertoys work. But until that happens, and until this and the next generation of GUI-addicted users toddle off to that great LAN party in the sky, we're stuck with a heavy market need for safe, simple, easy to use GUI based OSes. And even after everyone knows the basics, for speed and efficiency, we need the GUIs.
The one thing that the megacorp OSes offer that *X doesn't is user service, documentation and consistency. Sun had it for a while, but Sun hasn't been healthy in years. The various flavors of Linux are all put together by talented and enthusiastic amateurs (and I use that in the sense of one who does so for the love of doing something)... which means it's a spare time project. A kid or a new job comes along and projects get sidelined. Documentation rusts and dies on the vine. Help files and manpages go unupdated. And there's no one to call or email when it gets bad... That consistency, service and documentation improve the user experience a lot in very behind the scenes ways.
There will always be *X users, just as there will always be people who do historical reenactment. Both are labors of love. Both are not for everyone.