Don Reisinger of CNet News.com wrote an article appearing on Slashdot today that talks about linux and its place in the consumer market. He illustrates a dichotomy between two different types of linux developers, but his conclusions are off-base.
According to Reisinger, linux has either three directions from here: 1. Become super user-friendly at the expense of the tweakability and under-the-hood capacity of linux, 2. go back to “linux’ roots” and follow Linus Torvalds, or (and here I quote) 3. “face a “civil war” that could lead to total Linux annihilation.”
I’d like to present something to you. In the good old days of the Microsoft world, we had MSDOS, a relabeled version of the “Quick and Dirty Operating System”, QDOS. In this world, everything was configurable. You could do anything you wanted. Unfortunately, because doing anything complicated took too many steps, people didn’t often do much. This is why they developed (following Apple), Windows. Now Windows didn’t do much, but what it did do was easier and more honed to human beings than was the command prompt.
Windows took a step further from that with WinXP and Vista, wherein the command prompt, while still there, is crippled to the point of being barely usable.
On the other hand, Apple’s newest, OSX, is a BSD-derivative operating system, and while it has a fully functional and exceptionally usable GUI, it also has a complete shell available to the user, with approximately all the tools from Linux/BSD available.
This “civil war” Reisinger presents is a fear that’s ungrounded. I am an Ubuntu user. This is because the simple tasks that I perform on a daily basis, as well as the setup tasks that prepare the machine to meet my standards, are made extremely easy for me, and with minimal interference. It’s important to me that the terminal remain always available to me, that I can still write and run bash scripts, that, when it’s faster to do so, I can still fire up a shell.
But I shouldn’t be forced to.
This is where the dichotomy becomes entirely flawed. There is nothing that says an operating system can not be both oriented toward usability, and fundamentally malleable. A person should be able to fire up an application and have it, within reasonable tolerances, do what he or she expects. This is a mark of a conscientious programmer; any code which is not designed with, or with the ability to have, a GUI attached should be viewed as nearly wasted code.
Linux’ roots are the same place that any other operating system’s roots are: a collection of applications and machine code which enables the user to utilize the capabilities of the machine. An operating system which does not do this is an unfinished operating system.
Unlike any other operating system, we can keep working together to finish Linux.
I want other people to use Ubuntu. I’ve been putting up posters, wearing stickers, giving out burned copies, telling people about it, I’ve been evangelizing this because as an OS, Ubuntu is almost finished. It’s friendly, it’s usable, and I don’t have to hold a newcomer’s hand quite as hard to get them into it. It’s not about money, because I can’t, don’t, and won’t ask for any–and I don’t think Canonical ever will either.
What I want is users. I want a whole boatload of us. I want enough of us out there that choose Linux over non-*nix that open source libraries start getting used to reach us. I want games designed by corporations in OpenGL2, rather than DirectX. I want applications to be released using Mono instead of .Net; I want these things to happen so that anyone, anywhere, on any operating system–Even Windows!–can use everyone else’s software. And that’s only plausible if we get attention.
So I applaud Mozilla for providing the best cross-platform browser and email client, Canonical for the easiest Linux distribution, HP for their open printer drivers, System76 and Dell for providing preinstalled machines, Blizzard for already releasing OpenGL games (like World of Warcraft), and all other companies that stand behind the choice of the user.