Articles / Editorial: Robert Current

Editorial: Robert Current

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
offerings lack.

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
times.

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
system.

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.

Robert Current
(aka BadlandZ)
current@plains.nodak.edu

RSS Recent comments

29 Jan 2004 12:03 BuyGifts

A VERY VERY good article.
Thanks for writing this great article Robert, i really enjoyed reading it. I must agree to everything you say in the article especially the hacking part.

Thanks agian for the great article.

14 Feb 2004 21:10 DemonDeacon

Agree...
I definately consider myself a Linux "newbie". There may be a stuck up attitude with some Linux users regarding newbies, but that shouldn't discourage anybody from using it. A great majority of the users I've talked to are just normal people who will help if they can.

25 Apr 2004 22:08 pucit144

Good effort i do appreciate.
This is very good articals. I have got some more information about with very clear in meaning. I hope that you will write the same articals with the same tone.

Best of Luck.

Faisal Qureshi

25 Apr 2004 22:09 pucit144

Good effort i do appreciate.
This is very good article. I have got some more information about, with very clear in meaning. I hope that you will write the same articles with the same tone.

Best of Luck.

Faisal Qureshi

29 May 2004 09:40 geoaxis

gentoo is very close to BSD port systems
gentoo is a source distribution whihc is inspired by BSD ports. It has a portage tree which is maintained by gentoo devlopers. Any gentoo station can syncronize with the latest port(age) tree and then what ever is required can be downloaded and compiled. But its no doubt not easy to use. But it is optomized and gives a real good performance (at the expense of waiting for things to compile in the first place) If linux is handwriting then gentoo is caligraphy..not for every one . but surely this is as close u can get to LFS(linux from scratch) with a major distribution

26 Aug 2004 04:41 CooDy

You are missing a few things, I think.
I am a linux newbie (using it about 2 months now) and I disagree with you on many points. Standardization is in my view a great aspect, but in the end leads to limitations for the advanced uders (I think we all agree that linux is more powerful than windows because of that). I like the Idea of the gentoo portage (and am using gentoo) and gentoo policies on choice. Linux is really all about choices and standrdization would eliminate much of these choices. You mention ease of use as something that is great, but actually it takes away the strength out of everyhing. Yes it is true that I have to read a million-page manual just to get something to work and it is true that this prevents mass usage, but when it works it works PRECISELY as I want it to work and we shold not sacrifice strength of an OS just to gain additional people.

In my opinion Linux should shun the commercial programs as best as it can, because it takes the essence of linux out of it. If I ask you why there is so many different programs and choices in linux, it is simply because there is no commercial programs that could fill in the gaps. In short term, commercial programs are great, but this hinders small programs that use other programs tha use other programs (example is cd burning cdparanoia+cdda2wav+cdrecord+a common interface program like xcdroast=audio cd) commercial programs take all that beneath their wing and hinder the choices as well as prevent small programmers to successfuly distribute their free programs.

If I draw the bottom line here, I can say that theere are distributions like mandrake taht are supremely easy to use (for those who dont even want to hear about the shell), but if you are advanced user you will probably switch to gentoo or some other distribution and stop using owegrown X desktops and switch to smaller leaner, more optimizable managers. KDE&GNOME are becoming so windowish with their pretty, but ueless and veryslow interfaces which can only be personalized to some point.

14 Dec 2004 00:35 iRude

Re: Good effort i do appreciate.
You're not the only one Faisal!

Welcome to the club :)

28 Feb 2005 10:53 gmulak

Another Linuxers Opinion
Wow! I believe Mr. Current is very astute, and obviously has some perspective, thank you.

Some background: I work as the CIO for a small company that does accounting and taxes. I also work helping the poor and the homeless teaching job and computer skills. I am certainly not a novice, but not a programer either. I am a newbie to Linux having worked with Red Hat, Slackware, and purchasing Suse also.

Small business (and individuals) are hurting out there. They don't have thousands of dollars to pay for an OS that crashes all the time, and they don't have the thousands of dollars it takes to hire a consultant to install an operating system (Linux) that does work, but that they don't have the time/expertise to figure out and maintain.

I would add some coments to Mr. Current's opinion just from a marketing perspective. Marketing is not advertising, it is how the product is presented, where it is coming from, it's price point, etc.

What a great accomplishment. A stable, powerful operating system that actually works, and as Mr. Current mentioned, in only a few years. However I see it floundering because of our needs as individuals and businesses. We need to produce income in order to pay the bills. We live in a capatilistic society.

Without one focus, one standard, as it were we will not have enough vision to carry a product through so that it will be easily usable by society as a whole. If it is not easily usable as society as a whole then it will not be a major competitor in the market. Once again, we have a better product (see Beta vs. VHS) and insufficient marketing and focus.

Rather than have me rant on and on, how about some possible solutions?

1. The powerful and flexible Linux community could band together somehow, and back several major projects. One, education for users. Two, a more intuitive migration (or education) from other OS's to Linux. Unfortunately, we will have to humble ourselves, and not do what other large OS companies are doing, which is keeping the knowledge close to the vest.

2. I personally believe Mr. Current is also correct in that money is not evil, the love of it is. We all have to earn a living. Therefore, why not have members choose to back the company of their choice? Each user in the Linux community could somehow partner with a corporation (i.e. IBM, Novel, etc.) and help produce a product that small to mid size busnesses can afford? No corporation can afford to pour out huge sums of money over a long period of time without some benefit, I don't care how big they are. They have to be responsible to shareholders also. This would be one solution as it would create focus.

3. If this is too hard to swallow, then why not do what he suggests? Band together to create one standard organization (or back an existing one) to manage and make it cohesive, with one vision and direction?

Mr. Current is correct, I believe. If we could band together and not serve just our own interests we could compete with the existing predominate OS and really have something that many people can use. How exciting would that be!

Just trying to help.

22 Mar 2005 11:49 certel23

Welcome to Linux
It's been awhile since I've used linux as my main operating system. I recall using slackware with 1.3 kernels and without a packaging system.

Last week I started maintaining my first webserver since then and I can honestly say a lot has changed in the way of ease of use.

I highly recommend anyone to try it out.

22 Mar 2005 23:02 itsmani1

Re: A VERY VERY good article.

> Thanks for writing this great article

> Robert, i really enjoyed reading it. I

> must agree to everything you say in the

> article especially the hacking part.

>

> Thanks agian for the great article.

congratulations for a good article

04 Apr 2005 13:43 rfc1394

I must disagree

> Standardization is in my

> view a great aspect, but in the end

> leads to limitations for the advanced

> uders

I think you speld it worng and it should be 'users'. (I'm doing a spelling flame here, I know I spelled 'wrong' incorrectly. That's the point.)

> (I think we all agree that linux

> is more powerful than windows because of

> that). I like the Idea of the gentoo

> portage (and am using gentoo) and gentoo

> policies on choice. Linux is really all

> about choices and standrdization would

> eliminate much of these choices. You

> mention ease of use as something that is

> great, but actually it takes away the

> strength out of everyhing.

I can think of a hell of a lot of people who can't even get their VCRs to stop blinking 12:00. Yet that doesn't stop me from being able to use mine. Most VCRs are fairly well standardized to make recording shows "one click" simple. But there are lots of advanced features, and many of which are different from manufacturer to manufacturer, and sometimes among different models from the same manufacturer.

> Yes it is true that I have to read a

> million-page manual just to get

> something to work and

> it is true that this prevents mass

> usage, but when it works it works

> PRECISELY as I want it to work and we

> shold not sacrifice strength of an OS

> just to gain additional people.

Your reasoning condemns Linux to being nothing but a minor, specialized OS for hobbyists and masochists who enjoy having to fight to get things to work, and the professionals who run servers. It means that Linux should never be made accessible to the millions of potential users who could use it if it were not a miserable pain to do so. It means those who could use Linux if it were made accessible are to be forever labeled as cash cows shackled to the treadmill of Microsoft.

> In my opinion Linux should shun the

> commercial programs as best as it can,

> because it takes the essence of linux

> out of it. If I ask you why there is so

> many different programs and choices in

> linux, it is simply because there is no

> commercial programs that could fill in

> the gaps. In short term, commercial

> programs are great, but this hinders

> small programs that use other programs

> tha use other programs (example is cd

> burning cdparanoia+cdda2wav+cdrecord+a

> common interface program like

> xcdroast=audio cd) commercial programs

> take all that beneath their wing and

> hinder the choices as well as prevent

> small programmers to successfuly

> distribute their free programs.

A number of applications running on Linux are distributed as both free applications under GNU license and as commercial applications either under a different license or including support contracts. An application being 'commercial' does not automatically mean that it is not available in other forms or that it necessarily prevent other programs from being used.

> If I draw the bottom line here, I can

> say that theere are distributions like

> mandrake taht are supremely easy to use

> (for those who dont even want to hear

> about the shell),

If you think Mandrake is 'supremely easy to use' I would really be interested in selling you some ocean front property in Nevada. My understanding is Mandrake tends to be one of the most difficult flavors of Linux to install. It's sometimes compared to MS-DOS Command-line level of difficulty.

> but if you are advanced user you will

> probably switch to gentoo or some

> other distribution and

> stop using owegrown X desktops and

> switch to smaller leaner, more

> optimizable managers. KDE&GNOME are

> becoming so windowish with their pretty,

> but ueless and veryslow interfaces which

> can only be personalized to some point.

The reason for this is that most people are used to the interface exposed by Microsoft Windows, and if the interface on Linux is similar, it will reduce the learning curve necessary to make Linux accessible to non-technical users. Reducing the learning curve makes it more likely people will use the system and stick with it.

Microsoft may have lots of problems with their software, including stability, security and excessively high prices, but their usability and ease of access is outstanding, and unless Linux is to be nothing more than a toy of the extremely intelligent hacker, it has to become more like the dominant player in the marketplace in terms of usability for the non-technical user. Any other course will leave it nothing but a marginalized wannabe.

15 Aug 2005 11:28 fagiano

I agree, twice
God, I agree with you. I've been in professional software development for about 10 years and many more a home developer. I've been a early Linux user and I'm an active Open Source developer.

In my opinion what you said is exactly why Linux is not and wont take off as general pourpose OS. For living I've been developing moslty on Windows, Solaris, Linux and embedded devices. I'd love to see Linux exploiting its potential and becoming the OS of choice. In my head I always wanted to start a project to do what I think it misses

What I think it misses is what Microsoft got right: integration, zero-administration, deployment, consistent develpment tools.

1)integration

+all libraries under a single protocol, aka COM.(and in the future .NET)

+I can access any MS library from JScript, C++, VB or any other COM compliant language that also means using it from a web page or god knows what.

+Visual Studio allows to create COM objects in C++, VB etc in 2 min(really) so easy 3rd party integration

+MS puts the developer in a position where integrate with its library is the esier choice rather than a additional feature.

2)zero-administration by defining a consistent UI

+like it or not but you must admit that any well written Win app will have menus and controls were you expect them to be. Only 1 gui lib, and gudelines for app structure.

+MMC etc... all services can be admistated roughly the same way

+here they failed a bit because is a pain in the ass to make it happen as developer

3)deployment

+windows installers are quite usable(still uninstalling is kinda a pain)

+Windows update works

4)solid dev tools

+maybe can sound like an heresy for Emacs users but, editor apart, VS is freaking unbelieveble it integrates with anything anywere from SQL servers,Web servers,Game consoles,embedded device and is all through the same paradigm(that is what matters). Stuff like eclipse is a good example; feels more like a bounch of tools using the same GUI lib rather than a IDE.

So this are in my opinion the things that Linux and the OSS community should focus on first

then build something like Star Office etc...

But I guess someone big should step in to coordinate the huge engineering/communication effort that a project like this would require; If someone does something like this call me, I'm in.

Alberto

18 Apr 2006 06:56 vexorian

Seriously, I agree
I've been programming for 4 years. Let me compare the (minimal) process involved in developing a windows application, releasing it and then when a user installs it in his system:

- You take a compiler+ide combo , code and compile it.

- You then take the .exe and every file required by it and zip it.

- If the app requires some libraries you can just include them in the zip or tell the users to download them and put them in the same folder as the application.

- You go to some server and upload the zip.

- User X downloads the zip, unzips it and executes the application.

Now when it is linux:

- You find a compiler then an ide or get used to just using a text editor and code the program.

- Now you have a problem, first you have to decide if you are going to release it as source, as rpm or as deb . Each has its own issues.

- Releasing as source involves making a good Makefile that could survive the differences of all the platforms, or using autoconf / automake thus having to follow all the requirements they meet. And you will end up learning some oscure scripting language without the intention of doing so.

- Making rpm or deb requires you to know how to make them.

- You upload the tar.gz or the rpm or the deb.

- A user downloads and has to hope the program has .rpm or .deb depending on what distribution he is using.

- He also has to make sure if the dependencies are installed in his system other wise (the process became recursive) he has to install the dependencies required by the dependency then the dependency.

- Now he has to hope the rpm or the deb would work. If he is using ubuntu or debian he is in trouble cause he may not know if the .deb file would actually work in his distro.

- Or if he is using the source package he has to go command line (and probably first learn how to go command line) and do ./configure (if available) or make and hope it would work.

- Of course, he will then need to install or update GCC and probably make

let's say he survived make or "./configure make make install" now where is the program?

==========

* Alternatives are required.

* Binary packages need an standard.

* We could use an X application to handle the installation of tar.gz source file when they use gnu configure, at least getting rid of the command line 50% of the times would be a lot of help.

18 Apr 2006 06:59 vexorian

Re: Seriously, I agree
My first time on linux was to deal with ./configure It scared me out. After some time I got used to it. You can't expect every user to get into it without deciding to go to a more merciful os.

I really think that linux is superior and that's mostly the reason I would want it to be more friendly to new users. It could replace the propietary OSes that are not as good.

I wouldn't live without nautilus' emblems I never had a better organized PC.

28 Nov 2006 04:26 modeerf

Why do the comments in disagreement not get posted?
None of the comments in disagreement are showing up in the comments section of this page. I know of a few and none of them are displayed here.

28 Nov 2006 06:02 jeffcovey

Re: Why do the comments in disagreement not get posted?
You'll have to explain what you're talking about.
You "know of a few"? What does that mean?

Sincerely,

Jeff

21 Jan 2007 12:49 gentry

hit some marks

You hit some marks with your comments.

There are real issues with dependency management that are near constant with Linux, and this isn't so good. While making a large list might be satisfying, there are 2 broad catagories of error that feed on each other with Linux.

The first is OS base divergence, the more tweaky and non-standard things get in a build design, the worse it becomes to run on multiple distributions.

The second is application related, and there are some truly awful and non-portable open source projects out there just because of poorly considered dependencies. They're too common in fact, and the community needs to develop better understanding of this, and how to avoid these pitfalls.

In fact, I'd be happy as a clam if people on this site actually understood Posix, ok I'll settle for glanced at it in a tequila filled haze, before they made claims their software followed the standard even remotely.

10 Sep 2007 18:06 bogemot

One LINUXer's Opinion...
Keep up the good work, its appreciated by the little guys..

Screenshot

Project Spotlight

Hypertable

A high performance, scalable database modeled after Bigtable.

Screenshot

Project Spotlight

Asymptote

A vector graphics language for technical drawing and LaTeX.