[KLUG Advocacy] My Top Ten Reasons Linux Sucks List

Adam Williams advocacy@kalamazoolinux.org
20 Sep 2002 18:45:49 -0400


So here is my list....

Adam Tauno William's top ten reasons Linux sucks.

	First let me clarify, everything sucks.  "Familiarity breeds
contempt."  You may have a new shiny car today, but someday you will
want to pound it with a Louisville slugger.  And if it hadn't ceased to
be shiney and new by that point.....  But I digress.  Linux sucks,  but
for me at least, it sucks far less than other alternatives.  
	I left M$-Windows back in the WfWg 3.11 days,  primarily because I was
a poor college student, and everything I wanted to do cost money, and
then more money.  Some people graduate with credit card debt as a result
of spring break trips, not me.  My money went to Microsoft, Borland,
JLT, Empress, and others.  And consitently the software I got didn't
live up to what was "promised."  I believe 100% in learning by doing, 
but one just could not afford "to do."  So I ordered a $10 copy of
Iggrasil Linux through a 1x2 inch mono-color add in the very back pages
of Byte magazine.  
	I'd used UNIX (AIX) at my night job on an IBM RS/6000 530 and an IBM
Xstation 130.  That was NICE!  WfWg couldn't hold a candle to that.  And
compiler, libraries, etc... all where right there waiting to be
bespoiled by my greedy hands.  And they worked -EXACTLY- as the fourteen
volumes of documentation said they did.  I read those manuals
voraciously, like a teen age girl with a stack of Harlequine novels.  It
was like the first time I'd read J'ose Ortega's "The Revolt Of The
Masses" or Erasmus' "In Praise Of Folly".  The power contained in those
manuals was palpable.  This was the kind of technology that could change
the world.  This was before the Internet, or at least before it reached
the masses beyond the university.  But "The Internet" (as we know it
now) was there, you could see it in those books, waiting to be born.
	I didn't expect the $10 "free" UNIX to be nearly as nice, and it showed
up with only 21 pages of documentation.  At the time I had a smokin'
self-constructed amd386DX40/16Mb!  Iggdrasil Linux (kernel 0.99a)
installed without incident and X windows came right up.  I copied some C
code from a floppy disk and after a few permutations of "gcc {blahblah}
filename.c" I had a running program.  There was a TCP/IP network (albeit
nothing but "lo"), a task schedular (at & cron), and it was multi-user. 
At the time I didn't know what the GPL was, who Linus Torvalds was, or
even how Linux had come into being.  But I was stunned, because this
worked.
	Years have passed, and they've been interesting.  Back then I had to
reboot into WfWg to do word processing (Word Star).  Then Corel released
Word Perfect for Linux and the WfWg partition became just that much more
swap space.  I've never looked back, to M$-Windows that is.  One of my
roommates got Windows 95 the day it came out. My opinion: "more of the
same".  NT has come and gone.  But I'm happily using my Linux
desktop/workstation/server.  That's what works for me.
	I balance my checkbook, surf the net, send e-mail, scan documents,
create presentations, write documents, and grouse around in enourmous
spreadsheets.  All on my Linux box.  It sucks less then any other
platform I have used,  and there have been quite a few.  Specifically my
desktop is: RedHat Linux + XFS/LVM, Ximian GNOME, and Sun's Star Office
6.0.  While the initial amazement at the Linux platform has faded I am
still a very happy user,  but there are a few things that just don't
seem to be progressing or just get under my skin.  Which brings us to
the point of all this - my "Top Ten Reasons Linux Sucks" list,  in the
tradition of the ubiquitious "Top Ten List".

1. Printing from applications.  If I could make a "Top Thirteen" list,
I'd give this one all the top three slots.  Don't misunderstand me,
printing works fine.  But there I am using a world-class web browser, I
want to print a page, and up pops up a dialog where I have to key in
"lpr -Php895ps".  There is only one word for this: stupid.  The GIMP has
provided me with a list of available printers for years,  and all these
other applications are still fumbling about concerning this very basic
functionality.  Try explaining to a novice why this happens, what it
means, and what the heck "lpr -P" is.  And I have just short of one
hundred printers defined in my /etc/printcap.  You want me to remember
exactly what the name of that printer is!  The one I haven't printed to
in three months!  Hang on a minute while I open a terminal window and
"more /etc/printcap".  GNOME2's print dialog makes this worse by
presenting a print dialog with a text entry field and no indication of
what one is supposed to type: just the name of the printer queue, just
the lpr options, or the entire lpr command?

2. Documentation.  The state of Open Source documentation is dreadful. 
That isn't to say it hasn't improved.  Back in the day one had to setup
pppd based upon a few scant notes in /usr/doc and the brutal pppd man
page.  It has improved, for the most part because it now exists.  I've
still seen nothing like those fourteen AIX volumes from IBM,  the answer
was always there.  Current Open Source documentation is scattered across
the Internet, often fails to refer to what version of a package it is
documenting,  and there are hundreds of elementary documents covering
the same thing which makes google searching extremely frustrating.  What
the Open Source community needs now is a freshmeat for documentation,  a
repository for catagorized links where users can vote for the quality
AND depth of the document.  It is imperitive when using documentation to
know when it was written, and if an updated version is available.  This
is a problem that desperately needs to be solved.  There is still some
shortage of documentation for some pretty basic tasks.  And this is a
shame.  Anyone can write documentation, you don't need to be a
developer.  And if you install and configure applications or services
don't you create your own documentation?  At least on your own install. 
How difficult would it be to add a little logical glue to your notes and
make them available?  Even sample configs can be extremely useful to the
frustrated user.

3. X Windows Cut-N-Paste.  X Windows chose to implement a very
complicated clipboard system and is still suffering for it.  I can
highlight/middle-click most of the time.  But in some applications I
have to edit->paste to get my selected section,  on other I have to
edit->copy to be able to middle-click into another application. 
Sometimes one has to edit->copy, edit->paste.  Occastionally this
happens without any apparent rhyme or reason.  If one uses all GNOME
applications the problem is somewhat alleviated, but pasteing
highlighted test into Star Office still seem hit and miss.  Maybe this
is just a flaw in the X11R6 architecure and nothing can be done about
it, but it is irritating.

4. With all the talk about the security of Open Source software the
shoddy support of filesystem ACLs is shocking.  Finally we have a
filesystem that supports them: XFS.  They are coming to ext3 soon we
hope.  But not a single tool supports them.  The easiest way to set ACLs
on files on my Samba server is to login to a Windows 2000 workstation
and build them using Properties->Security.  Does this strike anyone else
as absurd?  Where is an equivalent tab in nautlus?  There I'm stuck with
the tired old UNIX permission bits which just aren't appropriate to the
complexity of modern networks and organizational structures.

5. The "use this database for everything" mentality.  Primarily this
relates to mySQL.  I'm not dissin' mySQL,  but the attitude that embeds
in every application.  First off, running two databases is one too
many.  Many sites have existing database infrastructure, it is trivial
to use unixODBC, GDA, or some other method to make applications database
functionality abstract from the actual backend.  A user or administrator
is going to pass over an application that demands a database other then
the one they already installed.  The second part of this is the use of a
database where such a use is simply over kill.  The other day I was
looking at an administrative utility for IMAP servers,  and it stored
its settings in mySQL.  Say what?  I need to install a database engine,
create a database, grant access to it, just so an application can save
its settings?  XML anyone?  Not to mention that security issues of
running various database engines all over the enterprise.  There are
quite a few Open Source developers who don't really seem to see the big
picture.

6. Lack of application finess.  I download a really nice application
with about 40,000 lines of code and even some scraps of documentation. 
But does installing the application add it to the system side menu? 
Nope.  Ok, I can do that.  But the application doesn't even include an
icon so you have to pick one of the generic ones.  This makes going from
one system to another confusing.  This may not matter terribly to gurus,
but it is baffling to neophytes.  GNOME2 is finally cleaning up MIME
type and application associations, but up until pretty recently that
would have been a topic under this catagory as well.

7. The lack of support on the desktop for application enabling
technologies.  Protocols like ACAP and the addition of SRV records to
DNS make manageing applications and client software on some of the other
platforms really slick.  While there is a great deal of emphasis on
supporting these technologies from the server side, almost no Linux
end-user applications are self-configuration aware.  A mail client that
can locate the ldap, imap, and smtp it is supposed to use without
intervention removes a big headache for network administrators and lets
users spend more time just using their applications.

8. No support for password expiration/change in GUI greeters.   Again,
with all the talk about the security emphasis of Open Source, this is
seems inconsistent.  PAM supports password expiration.  If I login on a
console I may get a "You password has expired" message and the option to
change it.  The GUI greeters (GDM, XDM, etc...) just check to see if the
password is valid and then march merrily on their way.  This is a severe
hindrance to the adoption of Linux in large scale installations.  And it
forces administrators to build hacks around how the system works in
order to get users to change their passwords.

9. Huge and sparse fixed-size dialog boxes.  The GIMP print dialog is a
good example of this.  It cannot be resized and even on an 800x600
display parts of it hang off the edge of the screen making it very
difficult to use.   Several other prominant applications exhibit this
same behavior.  With better and tighter widger placement these dialog
boxes could be reduced in size,  or the use of a tabbed setup, would
make these dialogs usable on lower resolution displays.

10. No list of irritating Linux-ism would be complete without mention of
the UNIX bigot.  You know him,  the guy who believes that every feature
that wasn't in his original copy of System V is bloatware. I do believe
that people who stick with Win32 system are both misled technically and
feeding the beast that will late bite them, if not all of us, down the
road.  But quite a few people voted for George Bush, so living peacably
with the anti-change conformist isn't on the optional list.  However,
sometimes silence is the best form of advocacy,  saving your words until
circumstances arise that might lend to their actually being heard.  But
even more important than accosting the less experienced, and making a
fool of himself, the bigot encourages valuable members of the community
not to contribute.  This fellow (anyone met a female UNIX bigot?)
dutifully takes exception on every possible point to a persons
contribution,  and frequently the language used is quite brutal.  Those
not so think skinned may just slink away.  The community needs to do a
better job at manageing these people,  making it clear to them that this
conduct is "unbecoming", without injuring thier dignity.  Unfortunately
there is no patch that will simply remove argumentative and difficult
people.

	So there you have it, my top ten list.  I'm pretty certain this is
longer than any top ten list ever delivered by David Letterman.