What Makes Linux and Unix Adherents so loyal?
This short essay examines some possible reasons why Unix (of all
flavors, but especially including Linux) inspires a loyal devotion shared
by no other operating system (except the original Macintosh, may it rest
in peace). This is mostly speculation, because the reasons given by those
loyal devotees are patently false. Frankly, I think they themselves don't
really know.
Here are most of the reasons I have heard and/or seen, not in any particular
order:
1. Stability.
2. Security.
3. The command line is faster.
4. Open source.
And one I have not explicitly seen, but which might actually be the real
reason:
5. User control.
Let's look at these in turn:
Stability
You often see and hear claims like this: "My server has been running for
months without crashing." I believe them. I suspect (but cannot prove)
that there are also Windows systems that have been running for months without
crashing. Maybe 2% of the total Windows systems don't crash all the time
-- at least not the Windows-based servers. What percent of the total linux
systems do not survive for months without crashing? From my experience,
I'd say 98%. The difference between the crash-often Windows systems and
the crash-often Linux systems is that the Windows system are still usable,
so people muddle along, crashing often and cursing Bill Gates and the entire
northwest corner of the USA; the unstable Linux systems are inoperable,
and people simply give up trying to use them, or else they bring in an
expert (who proceeds to crash them a few dozen more times before finally
achieving stability). Yes, I have actually seen this happen. In two years
of trying, using several different vendor products on a variety of platforms,
I succeeded only once in getting a version of Linux to survive the first
reboot -- and it was autistic, unable to access either the local ethernet
nor a secondary drive for file exchange; I called in the local Linux expert
(a full professor of Computer Science, whose preferred operating system
is Linux), and he managed to crash it back into inoperability. Then he
did the same for the local server.
2% of the Linux installs work and work well; the other 98% are inoperable.
2% of the Windows installs work and work well; the other 98% still
work, but crash often.
98% of the Macintosh installs work and work well. Make that past tense;
the newer Mac systems crash often.
There is another aspect to stability, that of the programs that run
in that system. A few years (less than a decade) ago MacWeek quoted some
industry guru "Everybody knows unix programs crash all the time." I think
that may be somewhat diminished, but still true. There is a very easily
understood basis for that: a unix program that crashes doesn't (usually)
take out the whole system, so software vendors are not held up to the same
degree of accountability as Windows and Mac software (where you lose everything,
not just the data that crashed it). When the system is easier to crash,
the software vendors must try harder not to crash it. They succeed.
So much for stability.
Security
Unix fans often brag about the security of their systems. Wweeellll, kind
of. A few years back InfoWorld published a table of the number of known
security flaws in the various available systems. I don't have the article
in front of me to look at, but as I recall, the commercial unix systems
fared worst, with several hundred documented flaws each. Several more unix
versions (I think including Linux) and most Windows versions were in the
100-200 range. One or two unix versions were under 100, but over 40. The
MacOS (not OSX, which was not yet released, and is really just another
unix, with all its flaws) had seven known and documented security
flaws, an order of magnitude lower than the nearest competitor. If security
were a real and compelling reason for preferring an operating system, the
MacOS would not now be dead.
Faster Command Line
It's fun to stand behind one of these command-line bigots and just watch
how fast it is. They type very fast. They type (a large number of) backspace
and cursor control keys even faster. And they mutter a lot at their own
typing mistakes. The things they do could be done much faster with a few
clicks and drags in a system that supports a humane interface, as anybody
with a stopwatch could tell you. But the typists are convinced they can
type faster than they could mouse. There is a reason for that perception,
related to the perception that driving a max 20 mph on city streets through
traffic lights and stop signs and around many turns seems faster than staying
on the rush-hour L.A. freeway averaging 30 mph: when you make hundreds
of tiny decisions (which corner to turn at, which light to stop for or
try to beat, which commands and filenames to type, how much typing errors
to back over), you have no cognitive capacity to monitor the passage of
time. Sitting in the car rolling along at a pokey 30 with no decisions
to make, or dragging an already-spelled file icon onto an already-spelled
program icon, leaves you a lot of time to think about other things, such
as how much faster you can go when the traffic is not clogged, or how long
it takes you to move that mouse across the screen. But the stopwatch tells
the truth: it's not faster.
People who grew up on command lines will probably not be (or else already
are) convinced that direct manipulation is faster, but the next generation
looking over their shoulder and seeing how long it takes will not
be blinded by that prejudice. If the command line were really faster, Linux
would not ship with Gnome and KDE (both dog-slow, compared to Windows and
the old MacOS).
Open Source
This is a real advantage, but it has a downside.
And last, but not least, open source gives the...
User Control
The Macintosh was (that's past tense) popular for one reason only: it was
so easy to use that the users no longer had to be dependent on the local
computer experts.
Conclusions
We can test this hypothesis out: Let's design an operating system with
all the user control that the Macintosh and Smalltalk and Lisp -- and yes,
the unix command line -- give you, but without the command line. If we
throw a party, will they come? That depends on what the real reasons are.
If the system is OpenSource and small enough that a single person can completely
understand it (and fix it), it will be stable in the sense that Linux is
stable. If its user interface is designed properly, it will be faster than
any command line. Let's do it!
Let me know.
Tom Pittman (TPittman@IttyBittyComputers.com)
First Draft: 2003 June 23