.comment: Can Linux Grow Up?
A Muddled Mess
It will come as a surprise to many--sometimes I forget it myself--but Linux has become more than a hobbyist operating system for interested persons to futz around with.
It will come as no surprise, either, that there is a view, probably the prevailing view, that Linux will never be the robust operating system that enterprises demand. Admittedly, this view is ironic, because the commercial operating systems that are said to be business-class are typically less stable and less secure than Linux.
But honest observers will recognize that there are some serious problems in Linux. (By "Linux," I mean a full distribution, not just the kernel.) Some of us all the time, and all of us some of the time, approach much of Linux as if it were a computer game, the goal of which is to get something to compile and work reliably. An industrial-strength operating system would have successful operation as a laughably bare minimum.
I thought it was just me, but as I've conversed with others heavily involved in Linux over the last several months I've learned that there is the widespread view that in many places Linux is in desperate need of a thorough housecleaning if it is to progress much farther. In this regard, what has been its great strength heretofore is proving to be its greatest weakness: a diverse and discrete collection of little sub-communities is not very good at establishing things like standards. Little, separate communities work only when they are not expecting to interact with each other. When they must all work together, there needs to be an organization, a set of rules. This organization, this set of rules, is what Linux does not have, and what it most needs.
Who's to Blame?
Most of us have been there: the hardware vendor says it's the operating system's fault; the operating system vendor says it's the application's fault; the application vendor says it's the hardware vendor's fault. And all we're trying to do is get the damn thing to work.
That is certainly a situation commonly encountered in the commercial operating system world, which is why there are many millionaires who acquired their riches by sending in people who, at a high hourly rate, make things work.
But it's a commonplace in the Linux community, too. Is everything on your machine working? No problem with that new sound card or printer? Never had any problem with something not working in Linux? Never had any problem getting it all sorted out?
It is of course possible to get everything to work, but doing so often involves considerable alchemy, and what works on your machine may not work on anybody else's. And that's because of a serious lack of standards and conventions that establish the relationships within the community and within distributions themselves.
An example: the best I can determine, the prevailing opinion among kernel developers toward the XFree86 project is contempt or something close to it. The opinion in the XFree86 project is that Linux is just one operating system for which XFree86 is developed. If getting substantial parts of it to work requires a version of the Linux kernel that hasn't been released yet, well, whose fault is that?
Now, the Linux kernel is the one thing essential to running Linux, and for many people XFree86 is nearly so. And if you have a 3dfx video card, a recent Linux development kernel, and the current XFree86 release, you will discover a certain duplication of effort. For instance, both the kernel and XFree upon compilation can produce a kernel module, tdfx.o. A module of that name is necessary for direct rendering using the 3dfx card. But which one do you use? Are there conflicts? Is one better?
Ask people involved in the respective projects and you will be told "mine is better," but details beyond that are few. Sorry, you'll be told, not my job. So you'll hack away and at the end of the day, or week, or month you either will have achieved some success or you'll have given up on it and gone on to something else. This is not an improvement on other operating systems; indeed, it is worse. It does not impart confidence.
Okay, one example. Big deal.
Well, yes, it is. And it's not the only example.