Linux, developers and users…
Ralf has literally been asking for a flame war writing about “Why aren’t we all using Linux?”. Since I’m also a GNU/Linux enthusiast and administrator of Windows XP desktop machines, since I also used to help selling computers with both GNU/Linux and Windows earlier in my life, just a few thoughts on that if you dare to read on… 🙂
Though this question indeed is interesting (and by the way similar to a discussion that used to be around on ubuntu-users for quite a while now), generally I wouldn’t completely agree with the idea of GNU/Linux or FOSS in general to be focused on “developers” as users, mainly for two reasons:
(a) Configurability. If you’re a system integrator or OEM PC reseller, using MS Windows XP Home / Professional you are likely to be bound to some pre-configured image to put on your PCs, using a default Windows desktop configuration which looks all the same no matter where you look, and which also _feels_ the same. More than once I’ve seen home users who felt completely lost and helpless sitting in front of a newly-installed Windows… There’s a vast GUI, there are wagonloads of options they don’t understand and probably don’t want to see, and the system itself doesn’t do much helping them to feel more “home” there (in example, take a look at the pop-up message to appear by default whenever you insert a CD-ROM or plug an USB storage device – if you don’t know about things, this is intimitading, to say the least). Having GNU/Linux or some other FOSS operating system core and some decent desktop environment (be this KDE, GNOME, XFCE4 or even just a plain window manager and some tool to handle on-desktop icons and menus), you really are able to build an operation environment that exactly fits the demands and the wishes of your users. Doing so in Windows XP is way more challenging (if it’s possible at all). The only point about this is: There has to be a change in paradigm – in this case, users need to see themselves indeed as “end-users” who aren’t supposed to get their hands dirty with low-level stuff like installing an operating system, configuring device drivers and the like. They should get professional help for that, they shouldn’t have to buy an off-the-shelf – operating system that more or less requires them to manually do a lot of work they don’t want (or know how) how to do.
(b) Developers != administrators, just for completeness’ sake. If you’re a software architect or some other developer working on quite a high abstraction (and tooling) level, chances are that, like a secretary or an end user, you just rely upon a working hard- and software environment, you just know that there is someone who builds things the way you can get your work done. Being a software architect with quite a tight schedule, you certainly wouldn’t get any work done if you had to take care for your computer and software environment, for versioning or application servers to be up and running properly – you will rely upon someone to fix that for you if necessary. 🙂
So overally… Maybe one could get to the point that GNU/Linux mainly is an operating system targeted at administrators, system integrators and not at end users. Personally, I don’t too much care about that. Companies like Novell/SuSE or community-driven distributions like Ubuntu by now are spending time and effort on building GNU/Linux configurations ready to be installed and configured even by users less experienced or without any technical background (for example, installing the latest Ubuntu installation on bare metal is something almost every user should be capable of doing within a few minutes, without requiring a lot of technical knowledge). Besides this, maybe there still is some market opportunity for companies that provides PCs pre-installed with customized GNU/Linux distribution to fit the needs of beginners and real “end-users” with a very limited amount of things they want to do with the machine (like writing electronic mail, “surfing the web” or writing a document once in a while).
And, most of all… Some years ago when MS Windows was the only OS you might have been able to choose if you intended to do some work using your PC, people sometimes complained about missing alternatives, missing competition. Getting back to “everyone-should-use-GNU/Linux” wouldn’t make things better but just shift to another system dominating everything. I think freedom of choice is a good thing here, and even more than just trying to convince people to use GNU/Linux and FOSS, we should spend effort on enforcing and establishing open standards of communication, file storage, hardware access and the like to ensure people really can freely choose which operating system, which office package, which e-mail client to use without having to worry about pointless technical restrictions imposed for example by hardware vendors that only support MS Windows. Perhaps POSIX needs to be reborn in a more strict way to ensure compatibility of hard- and software across all operating system plattforms available. After all, software itself (and even more an operating system) aren’t what things are about – they’re just tools to get work done, to help people live out their creativity, to empower communication and collaboration. We should focus on these positive ways of usage, not merely on the tools used for that.