(Editor's note: The HTML formatting is mine; not the original author's. The text was not properly word wrapped as I recieved it, and it was faster to add <p> tags than to rewrap it. The text is still identical. )
Date: Fri, 21 Aug 1998 15:50:33 -0500 (CDT) From: Todd GillespieTo: malda@slashdot.org Subject: A Standards Essay: A Violent Disagreement (This is a response to your call for essays. Sorry it's late; I've been busy. BTW, I hear you go U Mich. I'm about to move to Ann Arbor. Are you at that campus? bye..)
/. Readers need no introduction to the current standards war. We have seen a year's worth of opinions and flamage compressed into the past month alone. Most of these discussions revolve around 1) the theory that a standard will allow better functionality, 2) the idea that diversity will tear apart the Linux community, 3) the need for standards to enter the mainstream, and 4) that the most important argument against standards is more freedom, rather than more functionality.
These 4 points are all wrong.
I highly favor the rebuttal given by /. reader dan.no@spam.ezlink.com: ``I am also highly skeptical of anyone that wants to build a cathedral in the middle of a bazaar.''
Linux has from the start been developing in a bazaar fashion, and continues to do so. Building a cathedral in the middle of said bazaar in a hope to improve development, functionality, support, and acceptance is a fool's ambition. It is also a pointless endeavor, because bazaars have their own order. This bazaar happens to show its order in functional code. Linus and almost every other Linux developer have show no fear in ripping things out, breaking compatability, and reworking sections of code in order to achieve better operation. When kernel 2.1.46 came out, did it require lots of upgrades or did it remain in its standards cage? Lots of upgrades, and now everything works better. So it is with many other programs for Linux. On the flip side, Windows and MacOS have such standards that I never know whether or not a program will run or die on an outdated piece of code that has to stay for some other arcane reason. Or bug fix patches: remember, standards like the LSA run totally counter to the ``release early, release often'' wisdom of the Open Source camps: the LSA could never keep up, even if it tried, and it would confuse the consumers that the LSA is trying to appease!
In short, Linux's development has always been pushed forward by the ``random growth'' that one /. columnist likened to cancer; a title I think more appropriate to the mess of Win32, whose coders are bound by business interests and not the supreme quality of working code. Remember, mutations and growth alone don't make cancer deadly, but from the immune system failing to kill it. Linux has killed off an insane number of apps, filesystems, libraries, I/O standards, etc, etc, etc. Frankly, I think we're the healthiest organism out there, if we continue the cancer metaphor.
I think the first assumption is seriously attacked by the above. The other three have other sizable problems, explored below:
Is anybody following Berlin these days? Why are Gnome and KDE being portrayed as the villians, when Berlin is attacking X itself?!!? Surely this is the more serious crime.
Did we have to endure this constant bickering 3 months ago? No, and it's not just because finals were on (for those still in school). This splintering has come about not from the existence of multiple competing groups, but because either they or we are trying to make one of them into the standard, and the other one into dust. Many /.ers think one of the groups should fold into the other; presumably no developer on either team likes this idea, and being pushed towards that solution doesn't help calm the flame war. Threat of annihilation has a tendency to increase fighting, btw.
We have likened Gnome/KDE to the Motif/Openlook war of times past. In that case, both parties were going for each other's throats. This behavior is what has, and will, splinter groups.
Ineroperability can be added as it is needed. All our source is open; the two groups can cannabalize each other's work without having developers cross-over onto the other group. The notion that we need to carefully regulate and unify developers and try to maximize their efficiency is foolish and stupid, and I don't believe that many of it's supporters are developers themselves. Competition has made Linux great, now let us continue.
Fuck the mainstream. This OS has never been designed for maximum acceptance, and a glance at things that are: Windows, television, pop music, mass media ``news,'' etc, tend not to be of high quality. Linux has a history of being run by people who value quality, recognize it, and contribute to it. I think these are the only entrance requirements of Linux.
For home users, we have a tiny chance of entering that market. Absolutely nothing on a computer is intuitive and they rarely know what they want to do with it anyway. I have friends who work in sales at computer stores, and the often get customers who don't know what they want, what they are going to do with it, but like any consumer product, they are going to buy one. I see no reason to lower the quality of Linux to support these users. Linux (and UNIX in general) has always been used by people who have a need for it. UNIX users don't want ``a computer,'' they want a parallel-processing number cruncher, a database server, a router, or a graphics machine.
In business, we are already making great headway. And the companies who realize the value of open source products usually have enough brains to configure Linux and babysit libraries; it's easier than rebooting 5000 NT machines twice a week. (Btw, out of 100 brand-new machines, you can expect 5 or so to just totally fuck up, even after repeated installs. About 15-20 will need reinstalling. The sysadmin costs for NT networks are enormous.) They also tend to have the mental resources to contribute back into the source. When you have 3000 programmers, you can post quite a few of them on bug-fixes, rather than tens of millions of dollars in the vain hope that M$ will provide a patch. The businesses that we want in the community can already work with Linux; the ones who can't until everything is standardized wouldn't really be good community members.
Moreover, we gain nothing from the home users joining in. But the big distro companies do, who happen to be sponsoring this little excursion.
Well, yes, but that isn't the only reason. Firstly, all the code is still GPL'ed, so LSA isn't trying to lock it all down. Innovation will still exist. But I think that the performance of Linux will be degraded, or at least hindered by the standards that are being offered now.
We have grown to love Linux as a high-quality OS. We are at a juncture here, where we decide whether to push for higher quality or wider acceptance. I preferred earlier advocacy, which endorsed a higher quality user rather than a friendlier system. Today, are we trying to increase the skills of the user, or tune the OS to their skill level?
Linux has made great strides in both functionality and user base. The key is not to confuse the two.