One Linuxers Opinion, the initial editorial regarding the Linux Standard Base issue by Robert Current
One LINUXer's Opinion
LINUX is as much a community as it is an operating system. The
community is not extremely different than the Macintosh community in
that it it has die-hard followers, and some of which tend to be almost
ready to go to radical extremes, and zealous in their practices and
attitudes. There is a distinct difference between the two, they are at
opposite ends of the "user-friendly" spectrum.
Another distinct difference is the attitude of some (small but vocal
section) of the LINUX community in regards to the "newbie." About the
only way I know to describe it is much like the attitudes of surfers in
Hawaii and California in the 80's, a "locals only" attitude. I am not
the first to suspect that there is an underlying "hackers only" attitude
in the LINUX community, as well as how the world sees LINUX today.
To be completely honest, LINUX has many great features and dimensions
that other operating systems (OS's) lack. LINUX took to the internet
with the GNU license shortly after it was created by Linus Torvalds.
With a birth like this, networking abilities are hard to match, because
they were crucial for development itself. And there is no denying that
GNU itself is unmatched in what it fundamentally brings to the world of
computing. Software, constantly underdevelopment, worked on around the
world by large teams of people who may never meet face to face, and
available for free to the public. What more could
anyone ask for? Well, honestly, a lot.
Rapid development is a blessing and a curse all rolled into one. When
you consider that in 1991, the it all began, and by 1994 it reached
v1.0, it is quite a remarkable achievement. Something that reached a
working level in a short time. And when one looks at what has happened
in the last 2 years, or even 6 months, it is truly remarkable, because
it has become a full fledged, fully functional, competitive OS in a
market of sharks (SUN, MicroSoft, Apple, etc.). A true alternative,
freely available, and capable of providing strengths that commercial
But there is a drawback, and IMHO, that is a complete lack of
standards. Options are one thing, and standards are a totally different
issue the way I see it. GNU development of different xwindow managers
is great, and the on going battle between GNOME and KDE does lead to
healthy competition. But there there could be some competition in the
LINUX community that is unhealthy, and causing more problems than good.
Software installation is one of these issues.
There is no doubt that LINUX is a great development platform, and
capable of turning a standard "PC" into a real "workstation" with even
more of a personal feel than any other "PC" OS out there. I can run
wm2, work with X applications, and keep all my system stripped down and
command line based, and my binaries will run just fine on a system
running KDE that looks totally different and much more "user friendly."
But, getting the applications to run in the first place is a chore many
Look at what is out there, there are "source tarballs" (tar.gz) for some
applications, then there is Red Hat package management (.rpm), and
Debian packages to mention yet another. All have their up side, and
their down side.
First consider the idea of compiling from source. Seems like a great
idea in theory, you stand a better chance of having it run on more
platforms. You also gain the advantage of doing an optimized compile to
get the application best suited for your specific system. How many
times do you have to ftp something for 45 minutes, "tar -zxvf" it, and
struggle with "Error (1)" when the compile fails before you get sick of
it? And how do you know that the libraries you have installed were the
same libraries that the developers were using? Seems the libraries
themselves can be updated more frequently than the applications
themselves sometimes! This process is no match for the ease of
"WinShield" no matter how you slice it, and problems like this will keep
LINUX from ever going main stream. My mom will never run LINUX
when she can buy a CD of Quicken, install it in 10 minutes without any
worries of ever even seeing a command line, and then she can start to
struggle with how to use the menus (face it, a very very large
percentage of the population using computers has a hard time using GUI
apps that would seem idiot proof already).
The rpm system has the advantages that it comes as a binary that you
download for your platform, and can be installed with a simple command
such as "rpm -ivh program.rpm" without having to deal with compiling.
Well, rpm's aren't perfect either. I haven't meet an "rpm" user yet who
hasn't been subject to the "failed dependencies:" syndrome and ended up
hunting sunsite and other sources for even more rpm's to get the first
one to install. Then you frequently run into the "conflicts with"
problem, and you can't get the thing to install anyway. And, rpm
binaries don't allow you to do any optimization for your specific
I have used SuSE, Red Hat, Open LINUX, Linux Pro, and others, and
frankly, they are all so different that it's hard to even get help on
some problems in LINUX newsgroups and IRC channels. Directory
structures differ, packages of the same programs differ in name, and
attitudes grow intense. Fractional divisions occur in the LINUX
community it self where the Slackware folks don't want to even help
someone if they know how to solve the problem but then find out that
it's on a Red Hat system. As a community that is the underdog in the OS
world to start with, we are fighting amongst ourselves.
Some of the free UNIX people I talk to on Effnet frequently are FreeBSD
pilots, and I have been doing a little testing remotely through shells.
There is obviously a distinct advantage to having a standard directory
structure. The ports system is fairly useful also, allowing the
downloading and compiling of applications without the "error (1)" or
"failed dependencies" headaches. To some people it doesn't matter, it's
just a challenge, but to a very large section of the population, a
computer is to be used to accomplish a goal, not to challenge their
"make" error debugging skills.
Then there is the matter of the commercial support. There are
commercial LINUX distributions, but not many commercial applications. I
have no problem with someone charging $50 or $100 for their distribution
of LINUX, because they are not selling LINUX, they are selling the
packaged installation, media, and technical support. The product you
pay for isn't the OS itself, it's the support and package they offer.
But what about the applications? There are clearly two distinct
problems that keep companies away from marketing LINUX applications.
First, it's not yet a large market share, and their profits may not be
as great as they would for Macintosh or Windows. Secondly, if they were
to sell their application, what do they package it like? Not tar.gz
because they don't want to hand out the source, not .rpm because that is
even a smaller fraction of the linux market, so it's some type of script
that hopefully finds it's way to install the application in the right
directory, without conflicting with other applications, and successfully
in all users paths. Good luck, there is no directory that is sure to be
in all users paths, there is no standard file structure in LINUX to put
the application in (some have X11, some have X11R6, some have one with a
link to the other, some have both).
LINUX is soon approaching v2.2.x, and soon after that point arrives, we
can all count on all the major distributions of LINUX coming out with
new versions of their distribution. To me, the timing seems perfect to
solve some of these problems. Of course, it wouldn't be easy, it would
involve a lot of work, but the benefits would be far reaching. Making
LINUX into an OS that the masses could use isn't really all that
impossible to do. And, even if LINUX were to reach the mass market, it
wouldn't detract from it's remarkable ability to be a well functioning
workstation and great development platform.
If we, as a community, could work together, and develop some standards,
we could gain a market share, make our life's easier in the long run,
and gain the support of the commercial application and hardware
businesses. I see, again IMHO, some steps we could take to do this. I
will not suggest the standards, that should be decided by the whole
community. But I will suggest what areas I believe where there should
be standards. And when v2.2.x hits the streets, wouldn't it be great if
along with a greatly improved kernel, we actually had a great complete
product, not just the kernel?
1) directory structure standardized. With each v2.2.x kernel there are
guidelines to where things go. Are some applications going to go in
/opt or in /usr? Which applications? Where? Why? Why should I have
some window managers in /opt, some in /usr, some in /usr/X11/bin....
2) a system like FreeBSD's ports. Not their system exactly, but
something similar. Untar and unzip a directory structure that links
directly to an application listing. Categorized for ease in finding
applications you want. Standardized so that you can count on your
compiling (or whatever installation method) working the first time
without getting missing library errors, failed dependencies, etc... We
already have access to some of the greatest distribution servers in the
world, like sunsites archives! That would be very useful.
3) An update notification system for applications. Just because we have
standards doesn't mean development has to stop! If a newer version of
an application you frequently use comes out, it would be great to know
about it, know where to look for it, and be able to install it easily.
Some sort of tool to accomplish this would be great. Like a application
that you set up to check in the standard "ports" collection for newer
versions of the applications you use. This would take planning, would
it be a daily updated thing created by the ftp server that lists all the
packages you can download, unzip, and compare to your systems installed
applications? Would it an application that searched the known standard
directory structure on one of the LINUX ftp servers to seek out the
applications you want to monitor? There are ways to solve this problem,
but the community has to decide its important enough to do.
Frankly, I think we could do it. I would put some time in to help out
where I could. I would love to see it happen. I would love to be able
to get more reliable use out of my LINUX system. I would be happy to
see LINUX gain a market share. I would like to make my workstation more
suited for my work and take less of my time to constantly reconfigure.
Frankly, at this point, I am thinking of switching to the FreeBSD camp
to get it, but I would like to see it happen in LINUX.