[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ale] Linux for sale

Dan Newcombe <newcombe at mordor.clayton.edu> wrote:
> Look at companies porting to Linux - they will only poart to Caldera,
> because that is a known target they can port to.  You can not make a
> generic linux app - or even get close to it yet.  Until this is fixed,
> Linux is really nothing more than a hackers toy, and a cheap means of
> making use of a Unix system by people who know what they are doing.

There's two issues here: How difficult it is for software developpers
to support Linux, and how and whether they should let their software
be used on unusual systems.

For the first issue, I don't think it's as hard as you say to
distribute a program for a generic Linux platform.  A well written
Linux app has 5 kinds of files to be installed:

    - a binary (or two or three or....)
    - a main config file
    - a bunch of supplementary files
    - one or more man pages
    - perhaps some dynamically linked libraries

Installation consists of copying the binary to /usr/local/bin, the
config file to /etc, the supplementary files to
/usr/local/lib/something, the man page(s) to /usr/local/man/man?, and
the libraries to /usr/local/lib.  A good installation program will let
the user override what directory everything goes into.

As for dependencies on installed software, there are three kinds of
dependencies and they are all easily checked:

    dependency                   how to check
    the kernel version           run uname

    libraries                    use ldd on the binary

    outside programs from 
    other packages               try to run the programs

In my experience, the problems installing software come mostly from
bad auto-configure scripts (like GNU autoconf stuff).  The configure
script guesses wrong, and then you have to go through great efforts
trying to second guess the script.

Furthermore, a commercial program can play it safe by only requiring
very common libraries, such as libc, libm, and the X libraries.

What kinds of problems have people out there HAD with installing
binary distributions?  How hard would it be for the distributer to
have avoided those problems?  Personally, I've tried to install three
things from binary distributions:

    1) Netscape  went easily
    2) Acrobat Reader went easily
    3) Smalltalk/X demo clearly stated it required an old version
       of the X libraries.  I didn't bother to find the old libraries,
       but it wouldn't have been that hard to do so.

For the second issue, two things would make commercial software so
much nicer than the way its usually done right now:

    1) write the software portably, using standardized API's
    2) distribute the source code, or at least modules
       that only interface to the OS through external libraries.

These two things would mean that the software could be shoehorned to
work on almost any system powerful enough, assuming someone has
written libraries for the API's the software uses.

But #1 is hindered by the fact that Microsoft uses its own "standards"
for everything, regardless of pre-existing standards, and for some
reason everyone considers #2 to be absolutely scandalous.

In general, the problem with software distributions today is that they
make tons of assumptions about the environment they are running in.
And thus, there has to be seperate distributions for Windows 3.1, 95,
and NT, SCO, Solaris, and Linux.  And even after all this, FreeBSD
users are left in the cold.  Ironically, even a person using a Cray
supercomptur for their desktop would have a tough time getting MS Word
6 running.

Maybe Java will catch on.  Java applications have all the nice things
(except source code) that I mention above, as long as they stay away
from things like ActiveX.  (If applications DO start using things like
ActiveX, then everything is back to the way things are right now.)