[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
whylinux section, in ASCII + ASCII attachment
Why SEUL?
Introduction
Why does the world need another Linux distribution? We at SEUL believe
there are a number of reasons why a new distibution is justified. In
broadest terms, there are four categories under which this justification
falls:
* Problems with existing systems
* Technical merits of Linux
* Deficiencies of current Linux distributions
* Advantages of commercial systems
1. Problems with existing systems
There are certain problems which are common to all commercial-release
operating systems - that is, any operating system which has all of the
following attributes:
* It costs money, typically more than $50
* Source code for the system is not available
* There are strict limits as to how the system may be copied.
Consequently, Windows, MacOS, DEC Ultrix, Solaris, OS/2, and other
similar platforms are commercial operating systems. Linux (including
Red Hat Official Linux, though that is a borderline case) and FreeBSD
are free operating systems. They are often available for the cost of
media ($2 to $5), the source code is available, often included with the
main distribution; and there are few limits to redistributing the
system.
Since commercial systems are a source of revenue for the companies who
make them, some situations develop which are not necessarily
advantageous to computer users. Most of these are directly related to
the need for trade secrets and the protection of source code.
Some of these problems include:
* Slow release pattern
Major upgrades to operating systems come very slowly. Windows
95 came out three years after Windows 3.11; Windows 98 might be
released this year. Other systems are similar. The major
distributions of Linux, on the other hand, are releasing major
updates every six months or so.
Minor upgrades also take longer to acknowledge and fix in
commercial systems. Recent problems with Netscape Navigator
and Microsoft Internet Explorer are good examples of this. In
the case of the "denial of service" TCP/IP bug, a Linux patch
was posted for it mere hours after the problem was isolated.
Anyone who is technically capable can fix the bugs, too, merely
by changing the code in question and recompiling.
* High cost
Commercial operating systems, especially server operating
systems, like Windows NT Server and Novell IntraNetware, can
can cost more than $400 for a single copy and limited number
of user licenses. Even the more modest $100 for Windows 95
can be a problem for people in developing countries, as well
as students and others. The price for commercial systems almost
never includes development tools, which cost even more. Linux,
on the other hand, includes free C, C++, FORTRAN, and other
development tools.
* Tech Support?
Commercial systems require their customers to depend on their
companies for technical support. If there is a problem, users
must often wait on hold (while paying for a toll call). While
decentralized, it is often easier to get help with problems in
Linux.
* Lack of source code availability
The fact that the source code for Windows and other systems
is a closely guarded secret keeps people from learning from it,
tinkering with it, and (perhaps) improving it. It means that
problems which are technically easy to fix (like the infamous
teardrop Pentium bug) cannot be fixed by any user with the
technical expertise, but everyone must wait until Microsoft
publishes a patch. The availability of source code is a
particularly useful thing for programmers and computer science
students, which form a significant percentage of Linux users.
In addition to the general problems noted above, there are some others
which seem to particularly affect Microsoft Windows in all its
variations. (Our intent is not to pick on Microsoft specifically, but
since it is the single largest OS vendor, and most people are familiar
with DOS and/or Windows, it would serve as a useful example for our
purposes. Note also that we recogniz certain advantages to commercial
systems, which we will discuss in detail later on.
Problems particular to Windows include:
* Planned obsolescence of hardware
A growing computer industry requires that people periodically get
faster and more capable hardware to keep up with the advances the
industry makes. Microsoft does not make it a priority to maintain
backward-compatibility with older systems when it releases new
operating systems. While it is technically possible to run
Windows 95 on a 386/25 (I have seen it done), it is not an
experience any user would relish. Running Windows 95 on any
hardware less than a 486/66 with 16MB of RAM is an exercise
in masochism. Cost becomes an issue again: until quite recently
a new system would cost close to $2000; many people do not have the
money to upgrade every two or three years. (I have heard that
Windows 98 will not support any processor below the level of the
"classic" Pentium.) So that 486 becomes a very expensive
paperweight unless there is a platform which can run on it
acceptably. Linux is such a platform.
* Monopolistic attitude
Epitomized by recent legal troubles with the Department of Justice
and Sun Microsystems, there is a general perception that Bill
Gates just wants to rule the world. (The latest Bond film,
"Tomorrow Never Dies," even has a brief allusion to this.) Whether
true or not, many people are seeking alternatives to Microsoft
systems just because they are uncomfortable with Microsoft having a
monopoly in this area.
* Crash-prone
No one in the computer industry was surprised when Steve Ballmer,
Microsoft Vice-President, admitted that in the rush to beat
Netscape, Microsoft had cut corners in quality control. (So had
Netscape -- we're not playing favorites here.) Based on anecdotal
evidence, many people have problems with Windows crashing for no
particularly good reason, often causing people to lose work.
Sometimes it is just an annoyance, but other times it can be quite
serious. While Windows 95 and in particular Windows NT are far
more stable than Windows 3.1x, they still fail with alarming
regularity. There are documented cases of Linux servers running
for over a year at a time without a system-halting crash.
2. Technical merits of Linux
"Everyone's a critic." Too true. So, you may ask, what do we suggest to
improve the computing situation? If you have read this far, you probably
think we are going to say "Linux!" And you would be right. Linux provides
an excellent base to work from for several reasons, and although it is not
perfect, we believe it is the best place to start.
* Linux is Network-friendly
Nowadays, people are becoming more and more enamored of the
Internet and what it can do for them. It is by no means an
uncommon thing to see major vendors advertise their World Wide Web
addresses during football games and other events; many TV
commercials have them, too. The American marketing machine sees
the Internet as a phenomenon that is here to stay, and the public
wants to take advantage of it. The best way to do that now is with
a computer. Set top devices, like WebTV (which Microsoft owns, in
case you were curious) have a long way to go before they offer the
flexibility and power of a PC with a modem.
Although not a huge movement yet, there will be more networks set
up in homes as costs for basic computer hardware and networking
equipment continue to plummet. The small office/home office
network can now be realized for about half the price it would have
cost a year ago. Most industry news sources expect this trend to
continue. This will probably be more of a factor when homes and
small offices want to get their own high-speed internet connections
and need dedicated hardware to manage it.
Thus, one of the major litmus tests of the quality and utility of a
modern operating system is how well it networks. Since Linux was
developed by a team of programmers over the Internet, its
its networking features were given high priority. Linux is capable
of acting as client and/or server to any of the popular operating
systems in use today, and is quite capable of being used to run
Internet Service Providers. In fact, in Southern Minnesota, all of
the small local ISP's (I do not know anything definite about the
phone companies) use Linux. It is also well-suited to serving as a
dial-in network station.
Linux supports most of the major protocols, and quite a few of the
minor ones. Support for Internet, Novell, Windows, and Appletalk
networking have been part of the Linux kernel for some time now.
With support for Simple Network Management Protocol and other
services (such as Domain Name Service), Linux is also well suited
to serving large networks.
Finally, all these networking options will run quite acceptably on
minimal hardware configurations. It depends on what services are
needed and in what quantity, but I know that for some time a small
college in Southern Minnesota ran a 56k baud leased line (access
for a student body of about 300) gateway with E-Mail, DNS, and FTP
on a single 486/33 with 32MB RAM and a lot of big SCSI drives.
* Linux is Multi-user
Linux is an implementation of the UNIX design philosophy, which
means that it is a multi-user system from the word "go." This has
numerous advantages, even for a system where only one or two people
will be using it. Security, which is necessary for protection of
sensitive information, is built into Linux at selectable levels.
More importantly, the system is designed to multi-task. Whether
one user is running several programs or several users are running
one program, Linux is capable of managing the traffic.
* Linux is Open
Perhaps most importantly for what we are trying to accomplish with
SEUL, Linux is open. That means that for the entire base system,
which includes the kernel, the GNU tools, and all the basic
utilities, we as programmers and users have access to the source
code as well as the right to modify it. Without that access and
that right, this project would not be possible. Neither would many
of the other Linux projects currently underway, including GNOME,
the GNU Network Object Model Environment, a desktop interface;
MNEMONIC, a free web browser under development; or many others. If
users like SEUL, they will be able to modify it if they wish.
An important aspect of open software is the ability to write kernel
extensions and drivers as needed. What if new hardware comes out
that we want to take advantage of? We just write the driver -- if
someone else doesn't do it first.
Another huge advantage of an open system is a large number of
software authors and beta testers. This makes the software testing
and refinement process faster and better. Because there is not a
lot of commercial software for Linux (though that is an increasing
market), most software written for Linux is written because the
authors want to do it. Since there are no corporate deadlines,
there need be no compromise of quality. Also, I think many
programmers relish the idea of showing off some artistry, since
others will actually see and appreciate their code.
This means many good things for the user. It means higher-quality
software, which means less prone to crash, more efficient, what
have you. Often, if you have a question, it is often possible to
ask the author of the software him/herself via E-Mail or Usenet
Newsgroups. It makes it easier for people to get involved in the
development process, which means that even if someone is not a
programmer, he or she can have a profound impact on a piece of
software by suggesting how to improve it to the development team.
* Linux is "Free"
Linux is "Free" in two senses. In one sense, the Linux consumer is
free to modify the system and do anything he or she wishes with it.
In another sense, acquiring Linux does not necessarily require any
cash outlay at all.
There are two very popular methods for acquiring and distributing
Linux: FTP and CD-ROM. Most of the major Linux distributions (Red
Hat, Debian, Slackware, Caldera) are available for free download
from several popular sites. Though time consuming, it does not
cost anything beyond connection charges.
Getting Linux by CD-ROM seems to make more sense in many cases.
For a few dollars (essentially the cost of the physical disc
itself and shipping and handling), anyone can get the major Linux
distributions. Many vendors even offer several-CD sets with prices
averaging less than $2 per disc.
This would be a bargain if Linux were a run of the mill system with
few frills and no truly compelling features. As a matter of fact,
Linux comes with full networking capabilities, a mind-boggling
array of programs, utilities, and development tools.
The development tools in particular make Linux a great platform
for learning how to write software. In addition to the tools, you
often get a full CD of source code to browse and study and tinker
with. Another advantage is that, as a multi-user system, it is
much more likely to keep you from shooting yourself in the foot as
you learn to program -- I have seen Windows 95 and how it handles
errors in Borland's C++ compiler, and I am very glad I use Linux.
Of course, if you are not inclined to write software, these things
do not need to be installed.
Of course one of the greatest advantages of Linux is that it is the
freedom to modify the existing code makes it a very easily
extensible platform. That is exactly what we are trying to do with
SEUL - modify and extend the base system to make it easier for
people who do not have years of Unix experience to work with the
system.
* Linux is Reliable
Linux is one of the more stable operating systems available today.
This is due in large part to the fact that Linux was written by
programmers who were writing for other programmers and not for the
corporate system. The only people who made the decisions on what
went into the system were programmers. Also, the deadline pressure
is not as strong when one is developing as a hobby.
What does this mean in practical terms? In a recent issue of
Linux Journal, a feature was run on how long a Linux system has
continuously run. Several uptimes of over 1 year were reported.
This is because the system is designed to be upgraded and modified
"on the fly" -- the only reason one would need to turn off a Linux
system would be to add hardware or boot from a different kernel.
That means that the end-user can count on Linux to work
consistently, day in and day out.
Another factor which touches on reliability is that there are
currently two mature program packaging standards in the Linux
world. Debian and Red Hat each have their own packaging systems;
both will check dependencies (package A needs to have package B
installed before it will run, so the installer will install package
B), both can upgrade an entire running system without a reboot.
This makes it easy to upgrade parts or all of a system, as well as
add new software, or remove unwanted software.
* Linux is Backwards-Compatible
Linux has superb support for older hardware. In fact, it is often
easier to find hardware support for 486-era hardware than the
latest gizmos to hit the market. This is because the driver
authors need time to write and test the drivers, and some vendors
are not exactly forthcoming with the information required to write
a driver.
What this means for the user is that they can protect their
investment in hardware. When old hardware is rendered obsolete by
the latest version of Windows (or MacOS...we try to be fair), it
can most likely still run enough of Linux to be perfectly useful.
There is no reason for Linux users to try to make hardware obsolete
- and every reason for them to provide support for older hardware.
3. Deficiencies of Linux as of Jan. 1, 1998
Despite the tremendous advantages of Linux as it stands right now, it
is not without its problems. Several in particular which we are trying
to provide solutions for include the following:
* Inconsistent User Interface
One of the by-products of the development of GNU/Linux is that it
is a patchwork quilt of sorts, reflecting different interfaces,
design goals, etc. It is not easy learning to use the vi editor,
for example, or learning the command line syntax of find. Nor is
there any consistency enforced among the various programs and
utilities included in a standard Linux distribution. This leads
to user confusion and frustration.
Current projects are underway to provide consistent graphical
interfaces through the X Window system. These include KDE (the K
Desktop Environment), GNOME (GNU Object Model Environment), and
Teak (a GNU project which as far as I know exists only on paper).
What we think would be ideal would be a consistent interface to
configure various services, as well as user tools such as a
calendar, word processor, emailer, and so on.
* Replication of packages
There is a lot of replication among the various packages in a Linux
distribution. Some of the Mail Transfer Agents available (and this
is not an exhaustive list) include sendmail, smail, qmail, and
exim. Granted, the diversity is generally because there are
differing design goals, but the choice is confusing to many users,
who may not know how to use any one of them.
* Wrong amount of info in install process
The major Linux distributions give either too much or too little
information to the new user when installing. Red Hat gives too
little -- you can choose packages individually but there is no
information about the packages you are selecting beyond what
category they fall under. Debian, with dselect, gives too much --
there are a number of status items on the display that are
difficult to read and are not easily deciphered without the manual.
While many Linux users argue that any Linux user should Read The
Fine Manual before installing, it can be pointed out that the
Windows installation routing (which has problems of its own) does
not require a lot of reading before someone can perform it
adequately.
* Inadequate PnP support
For whatever reason, the Plug and Play (PnP) specification has not
been a particularly critical item for the Linux world to take care
of. Many PnP cards do not work at all (though this is not always
the fault of Linux - it is often due to the manufacturer keeping
vital aspects of the technology secret so that a driver cannot be
written), and the only current interface to PnP cards is through a
program called isapnp. More work should be done in this area.
* Most installations presume full-time network and ethernet
Debian and Red Hat both seem to spend most of their network
installation time assuming that the machine being installed on will
be connected to a network. Not enough potential problems with
dial-up networking (Modem setup, IRQ tuning, PPP setup) are dealt
with at installation. This process needs to be easier.
* Locations of help not obvious
It can be very difficult to find help, especially for those not
accustomed to a Unix system. New users may see a command line and
try to get a directory by typing "dir," unaware that it will not
work. Once a user learns "man" and "locate," she can do quite a
bit, but the individual program documentation still needs to be
manipulated with gzip. What would be ideal would be a natural
language help facility which, when asked, "How do I check for disk
problems?" responds with a reference to docs for fsck. A project
like this is under development.
* System administration difficult for non-UNIX users
Learning Unix system administration from the ground up can be a
nightmare. Most users are not concerned with issues such as hard
vs. symbolic links, filesystem-specific issues (fat or vfat or
fat32?), file permissions, user rights, group rights, and all the
other trivia that make Unix administration what it is. Ideally,
the user would be shielded from as much of this as possible.
* Lack of commercial applications
Linux still suffers from a frustrating lack of applications in some
areas. These are mostly the big-ticket commercial type apps, such
as word-processors, spreadsheets, databases, and web browsers. The
Linux software market is growing, but what we need are some free
items like this for a freely-distributable system.
* Lack of hardware vendor support
Some hardware vendors simply refuse to release the information on
their products necessary to write a driver. A recent (and fairly
public) example of this was Adaptec's response to Linux user
complaints about not making information on new versions of the
AHA-2940 BIOS available, meaning that the card behaves erratically
under Linux (and since such a card usually has the main system
storage hooked to it, that is not a Good Thing). Fortunately,
Adaptec publicly posted that it was willing to work with the Linux
community for a mutually beneficial solution. We can only hope
episodes like this become more common.
Meanwhile, some vendors are actually giving instructions on their
tech support pages on how to set their hardware up under Linux. A
notable example of this is Linksys, the network hardware vendor.
This too is a positive sign we can only hope will increase.
* Lack of traditional customer support
Earlier, we cited Linux' lack of traditional support as an
advantage. That only part of the story, though. Most business IS
departments want and need some tangible entity to stand behind a
product which performs mission-critical services for the business,
so that 24 hour support is needed. There is currently no central
organization in the Linux community for this, and this is a major
barrier to widespread acceptance of Linux in the workplace. Since
it is such an obvious shortcoming, there are some things underway
which should alleviate this problem:
* Red Hat has now instituted phone support
Just for installation and for 30 days, but it is a start
* Some consultancies provide support
Red Hat is working to coordinate this with local resources
* Caldera is working aggressively in this market
Caldera's products are specifically aimed at this issue.
They are also priced comparably to similar offerings from
Microsoft and Novell, which has irked some Linux people.
* Mailing lists and newsgroups
These are still the best places to get Linux tech support,
and will be for some time. There should be more
information given to beginning Linux users, though, to ease
their transition.
4. Advantages of commercial systems
Earlier, we promised that we would discuss in detail the advantages of
commercial systems over Linux as it is now. We believe this is
especially important because of the perceived (OK, real) ease of use
gap between Linux and commercial offerings. While all the major
distributions have made great strides in bridging the usability gap,
Linux is "not there" yet. Some things in particular we notice about
commercial systems that make them easier to use:
* System operation is easy to find info on
IDG books has made a pile of money with their "For Dummies" books.
They can be bought at any bookstore, too -- "Running Linux" by Matt
Welsh is a little harder to come by -- and it is not "For Dummies."
It is typically easier to find a friend who knows how to install a
Windows device driver than it is to find someone who can do it in
Linux. This is simply a function of the ubiquity of Windows, but
is certainly part of the "ease of use" gap.
* Commercial systems have many commercial apps
This is really the bread and butter of the commercial software
world. Microsoft's biggest revenue generator, for example, is
Office. As a result, a lot of time, effort, and research and
development goes into these programs. They can do a lot (too
much, perhaps), and are relatively easy to use. Nothing like MS
Word 97 yet exists for Linux, nor is it likely to in the near
future. This is partly because a project like that is enormous,
requiring lots of time from lots of people, but also because it
already exists, so why re-do it?
Applix makes a decent office suite for Linux. There is also
StarOffice, so the market is not empty. But there is no doubt that
Linux would help itself immensely by getting more of these apps.
* Commercial systems have better "out-of-box" support for home user
Since commercial systems are tailored to the home user, they tend
to be easier to set up and use by the home user. Under the best of
circumstances, it can be quite easy to set Windows 95 up as an
Internet dial-up networking station. (If PnP fails, it can be a
nightmare, granted.) Nevertheless, quite a few people get on the
Internet with Win95 so Microsoft must be doing something right in
that regard. Linux can gain by offering some of the visual
interfaces with interactive questions ("Wizards") for new users.
* Interface R & D
Large companies have budgets for developing newer and better User
Interface technology, a luxury Linux does not have. But Linux can
use this information to its advantage by learning from the success
of some interfaces and the failures of others.
Conclusion
Can a world-class free end-user operating system be put together right
now? We at SEUL believe it can, and it is our mission to make it
happen. As is the case with many Linux projects, we are volunteers.
We are pursuing this not for monetary gain or profit, but because we
want to. If you also believe we are doing something worthwhile, please
consider volunteering your time to the SEUL Project. Email
omega@seul.org for details.
For further reading:
General Linux Advocacy
http://oloon.student.utwente.nl/linux/LDP/HOWTO/mini/Advocacy.html
The Linux Advocacy mini-HOWTO
http://www.10mb.com/linux/
Linux advocacy, especially for commercial software vendors
User Interface design pages
http://www.cis.ohio-state.edu/~perlman/CIS516/uidesign.html
Intelligent User Interface design -- a book length site
http://www4.ncsu.edu/~aklikins/gnome/style.html
The GNOME (GNU Network Object Model Environment)
homepage for UI design
Deficiencies in commercial Operating Systems
Deficiencies in Linux
http://www.hex.net/~cbbrowne/lsf.html
A rationale for a centralized Linux organization
*****
Martin Jackson
whylinux Public Beta
1-8-98
*****
Martin Jackson: mjackson@deskmedia.com
=======================================
Information Science Major
Mankato State University
=======================================
Tammy L. Jackson
Homespun Creations
creations@deskmedia.com
=======================================
Why SEUL?
Introduction
Why does the world need another Linux distribution? We at SEUL believe
there are a number of reasons why a new distibution is justified. In
broadest terms, there are four categories under which this justification
falls:
* Problems with existing systems
* Technical merits of Linux
* Deficiencies of current Linux distributions
* Advantages of commercial systems
1. Problems with existing systems
There are certain problems which are common to all commercial-release
operating systems - that is, any operating system which has all of the
following attributes:
* It costs money, typically more than $50
* Source code for the system is not available
* There are strict limits as to how the system may be copied.
Consequently, Windows, MacOS, DEC Ultrix, Solaris, OS/2, and other
similar platforms are commercial operating systems. Linux (including
Red Hat Official Linux, though that is a borderline case) and FreeBSD
are free operating systems. They are often available for the cost of
media ($2 to $5), the source code is available, often included with the
main distribution; and there are few limits to redistributing the
system.
Since commercial systems are a source of revenue for the companies who
make them, some situations develop which are not necessarily
advantageous to computer users. Most of these are directly related to
the need for trade secrets and the protection of source code.
Some of these problems include:
* Slow release pattern
Major upgrades to operating systems come very slowly. Windows
95 came out three years after Windows 3.11; Windows 98 might be
released this year. Other systems are similar. The major
distributions of Linux, on the other hand, are releasing major
updates every six months or so.
Minor upgrades also take longer to acknowledge and fix in
commercial systems. Recent problems with Netscape Navigator
and Microsoft Internet Explorer are good examples of this. In
the case of the "denial of service" TCP/IP bug, a Linux patch
was posted for it mere hours after the problem was isolated.
Anyone who is technically capable can fix the bugs, too, merely
by changing the code in question and recompiling.
* High cost
Commercial operating systems, especially server operating
systems, like Windows NT Server and Novell IntraNetware, can
can cost more than $400 for a single copy and limited number
of user licenses. Even the more modest $100 for Windows 95
can be a problem for people in developing countries, as well
as students and others. The price for commercial systems almost
never includes development tools, which cost even more. Linux,
on the other hand, includes free C, C++, FORTRAN, and other
development tools.
* Tech Support?
Commercial systems require their customers to depend on their
companies for technical support. If there is a problem, users
must often wait on hold (while paying for a toll call). While
decentralized, it is often easier to get help with problems in
Linux.
* Lack of source code availability
The fact that the source code for Windows and other systems
is a closely guarded secret keeps people from learning from it,
tinkering with it, and (perhaps) improving it. It means that
problems which are technically easy to fix (like the infamous
teardrop Pentium bug) cannot be fixed by any user with the
technical expertise, but everyone must wait until Microsoft
publishes a patch. The availability of source code is a
particularly useful thing for programmers and computer science
students, which form a significant percentage of Linux users.
In addition to the general problems noted above, there are some others
which seem to particularly affect Microsoft Windows in all its
variations. (Our intent is not to pick on Microsoft specifically, but
since it is the single largest OS vendor, and most people are familiar
with DOS and/or Windows, it would serve as a useful example for our
purposes. Note also that we recogniz certain advantages to commercial
systems, which we will discuss in detail later on.
Problems particular to Windows include:
* Planned obsolescence of hardware
A growing computer industry requires that people periodically get
faster and more capable hardware to keep up with the advances the
industry makes. Microsoft does not make it a priority to maintain
backward-compatibility with older systems when it releases new
operating systems. While it is technically possible to run
Windows 95 on a 386/25 (I have seen it done), it is not an
experience any user would relish. Running Windows 95 on any
hardware less than a 486/66 with 16MB of RAM is an exercise
in masochism. Cost becomes an issue again: until quite recently
a new system would cost close to $2000; many people do not have the
money to upgrade every two or three years. (I have heard that
Windows 98 will not support any processor below the level of the
"classic" Pentium.) So that 486 becomes a very expensive
paperweight unless there is a platform which can run on it
acceptably. Linux is such a platform.
* Monopolistic attitude
Epitomized by recent legal troubles with the Department of Justice
and Sun Microsystems, there is a general perception that Bill
Gates just wants to rule the world. (The latest Bond film,
"Tomorrow Never Dies," even has a brief allusion to this.) Whether
true or not, many people are seeking alternatives to Microsoft
systems just because they are uncomfortable with Microsoft having a
monopoly in this area.
* Crash-prone
No one in the computer industry was surprised when Steve Ballmer,
Microsoft Vice-President, admitted that in the rush to beat
Netscape, Microsoft had cut corners in quality control. (So had
Netscape -- we're not playing favorites here.) Based on anecdotal
evidence, many people have problems with Windows crashing for no
particularly good reason, often causing people to lose work.
Sometimes it is just an annoyance, but other times it can be quite
serious. While Windows 95 and in particular Windows NT are far
more stable than Windows 3.1x, they still fail with alarming
regularity. There are documented cases of Linux servers running
for over a year at a time without a system-halting crash.
2. Technical merits of Linux
"Everyone's a critic." Too true. So, you may ask, what do we suggest to
improve the computing situation? If you have read this far, you probably
think we are going to say "Linux!" And you would be right. Linux provides
an excellent base to work from for several reasons, and although it is not
perfect, we believe it is the best place to start.
* Linux is Network-friendly
Nowadays, people are becoming more and more enamored of the
Internet and what it can do for them. It is by no means an
uncommon thing to see major vendors advertise their World Wide Web
addresses during football games and other events; many TV
commercials have them, too. The American marketing machine sees
the Internet as a phenomenon that is here to stay, and the public
wants to take advantage of it. The best way to do that now is with
a computer. Set top devices, like WebTV (which Microsoft owns, in
case you were curious) have a long way to go before they offer the
flexibility and power of a PC with a modem.
Although not a huge movement yet, there will be more networks set
up in homes as costs for basic computer hardware and networking
equipment continue to plummet. The small office/home office
network can now be realized for about half the price it would have
cost a year ago. Most industry news sources expect this trend to
continue. This will probably be more of a factor when homes and
small offices want to get their own high-speed internet connections
and need dedicated hardware to manage it.
Thus, one of the major litmus tests of the quality and utility of a
modern operating system is how well it networks. Since Linux was
developed by a team of programmers over the Internet, its
its networking features were given high priority. Linux is capable
of acting as client and/or server to any of the popular operating
systems in use today, and is quite capable of being used to run
Internet Service Providers. In fact, in Southern Minnesota, all of
the small local ISP's (I do not know anything definite about the
phone companies) use Linux. It is also well-suited to serving as a
dial-in network station.
Linux supports most of the major protocols, and quite a few of the
minor ones. Support for Internet, Novell, Windows, and Appletalk
networking have been part of the Linux kernel for some time now.
With support for Simple Network Management Protocol and other
services (such as Domain Name Service), Linux is also well suited
to serving large networks.
Finally, all these networking options will run quite acceptably on
minimal hardware configurations. It depends on what services are
needed and in what quantity, but I know that for some time a small
college in Southern Minnesota ran a 56k baud leased line (access
for a student body of about 300) gateway with E-Mail, DNS, and FTP
on a single 486/33 with 32MB RAM and a lot of big SCSI drives.
* Linux is Multi-user
Linux is an implementation of the UNIX design philosophy, which
means that it is a multi-user system from the word "go." This has
numerous advantages, even for a system where only one or two people
will be using it. Security, which is necessary for protection of
sensitive information, is built into Linux at selectable levels.
More importantly, the system is designed to multi-task. Whether
one user is running several programs or several users are running
one program, Linux is capable of managing the traffic.
* Linux is Open
Perhaps most importantly for what we are trying to accomplish with
SEUL, Linux is open. That means that for the entire base system,
which includes the kernel, the GNU tools, and all the basic
utilities, we as programmers and users have access to the source
code as well as the right to modify it. Without that access and
that right, this project would not be possible. Neither would many
of the other Linux projects currently underway, including GNOME,
the GNU Network Object Model Environment, a desktop interface;
MNEMONIC, a free web browser under development; or many others. If
users like SEUL, they will be able to modify it if they wish.
An important aspect of open software is the ability to write kernel
extensions and drivers as needed. What if new hardware comes out
that we want to take advantage of? We just write the driver -- if
someone else doesn't do it first.
Another huge advantage of an open system is a large number of
software authors and beta testers. This makes the software testing
and refinement process faster and better. Because there is not a
lot of commercial software for Linux (though that is an increasing
market), most software written for Linux is written because the
authors want to do it. Since there are no corporate deadlines,
there need be no compromise of quality. Also, I think many
programmers relish the idea of showing off some artistry, since
others will actually see and appreciate their code.
This means many good things for the user. It means higher-quality
software, which means less prone to crash, more efficient, what
have you. Often, if you have a question, it is often possible to
ask the author of the software him/herself via E-Mail or Usenet
Newsgroups. It makes it easier for people to get involved in the
development process, which means that even if someone is not a
programmer, he or she can have a profound impact on a piece of
software by suggesting how to improve it to the development team.
* Linux is "Free"
Linux is "Free" in two senses. In one sense, the Linux consumer is
free to modify the system and do anything he or she wishes with it.
In another sense, acquiring Linux does not necessarily require any
cash outlay at all.
There are two very popular methods for acquiring and distributing
Linux: FTP and CD-ROM. Most of the major Linux distributions (Red
Hat, Debian, Slackware, Caldera) are available for free download
from several popular sites. Though time consuming, it does not
cost anything beyond connection charges.
Getting Linux by CD-ROM seems to make more sense in many cases.
For a few dollars (essentially the cost of the physical disc
itself and shipping and handling), anyone can get the major Linux
distributions. Many vendors even offer several-CD sets with prices
averaging less than $2 per disc.
This would be a bargain if Linux were a run of the mill system with
few frills and no truly compelling features. As a matter of fact,
Linux comes with full networking capabilities, a mind-boggling
array of programs, utilities, and development tools.
The development tools in particular make Linux a great platform
for learning how to write software. In addition to the tools, you
often get a full CD of source code to browse and study and tinker
with. Another advantage is that, as a multi-user system, it is
much more likely to keep you from shooting yourself in the foot as
you learn to program -- I have seen Windows 95 and how it handles
errors in Borland's C++ compiler, and I am very glad I use Linux.
Of course, if you are not inclined to write software, these things
do not need to be installed.
Of course one of the greatest advantages of Linux is that it is the
freedom to modify the existing code makes it a very easily
extensible platform. That is exactly what we are trying to do with
SEUL - modify and extend the base system to make it easier for
people who do not have years of Unix experience to work with the
system.
* Linux is Reliable
Linux is one of the more stable operating systems available today.
This is due in large part to the fact that Linux was written by
programmers who were writing for other programmers and not for the
corporate system. The only people who made the decisions on what
went into the system were programmers. Also, the deadline pressure
is not as strong when one is developing as a hobby.
What does this mean in practical terms? In a recent issue of
Linux Journal, a feature was run on how long a Linux system has
continuously run. Several uptimes of over 1 year were reported.
This is because the system is designed to be upgraded and modified
"on the fly" -- the only reason one would need to turn off a Linux
system would be to add hardware or boot from a different kernel.
That means that the end-user can count on Linux to work
consistently, day in and day out.
Another factor which touches on reliability is that there are
currently two mature program packaging standards in the Linux
world. Debian and Red Hat each have their own packaging systems;
both will check dependencies (package A needs to have package B
installed before it will run, so the installer will install package
B), both can upgrade an entire running system without a reboot.
This makes it easy to upgrade parts or all of a system, as well as
add new software, or remove unwanted software.
* Linux is Backwards-Compatible
Linux has superb support for older hardware. In fact, it is often
easier to find hardware support for 486-era hardware than the
latest gizmos to hit the market. This is because the driver
authors need time to write and test the drivers, and some vendors
are not exactly forthcoming with the information required to write
a driver.
What this means for the user is that they can protect their
investment in hardware. When old hardware is rendered obsolete by
the latest version of Windows (or MacOS...we try to be fair), it
can most likely still run enough of Linux to be perfectly useful.
There is no reason for Linux users to try to make hardware obsolete
- and every reason for them to provide support for older hardware.
3. Deficiencies of Linux as of Jan. 1, 1998
Despite the tremendous advantages of Linux as it stands right now, it
is not without its problems. Several in particular which we are trying
to provide solutions for include the following:
* Inconsistent User Interface
One of the by-products of the development of GNU/Linux is that it
is a patchwork quilt of sorts, reflecting different interfaces,
design goals, etc. It is not easy learning to use the vi editor,
for example, or learning the command line syntax of find. Nor is
there any consistency enforced among the various programs and
utilities included in a standard Linux distribution. This leads
to user confusion and frustration.
Current projects are underway to provide consistent graphical
interfaces through the X Window system. These include KDE (the K
Desktop Environment), GNOME (GNU Object Model Environment), and
Teak (a GNU project which as far as I know exists only on paper).
What we think would be ideal would be a consistent interface to
configure various services, as well as user tools such as a
calendar, word processor, emailer, and so on.
* Replication of packages
There is a lot of replication among the various packages in a Linux
distribution. Some of the Mail Transfer Agents available (and this
is not an exhaustive list) include sendmail, smail, qmail, and
exim. Granted, the diversity is generally because there are
differing design goals, but the choice is confusing to many users,
who may not know how to use any one of them.
* Wrong amount of info in install process
The major Linux distributions give either too much or too little
information to the new user when installing. Red Hat gives too
little -- you can choose packages individually but there is no
information about the packages you are selecting beyond what
category they fall under. Debian, with dselect, gives too much --
there are a number of status items on the display that are
difficult to read and are not easily deciphered without the manual.
While many Linux users argue that any Linux user should Read The
Fine Manual before installing, it can be pointed out that the
Windows installation routing (which has problems of its own) does
not require a lot of reading before someone can perform it
adequately.
* Inadequate PnP support
For whatever reason, the Plug and Play (PnP) specification has not
been a particularly critical item for the Linux world to take care
of. Many PnP cards do not work at all (though this is not always
the fault of Linux - it is often due to the manufacturer keeping
vital aspects of the technology secret so that a driver cannot be
written), and the only current interface to PnP cards is through a
program called isapnp. More work should be done in this area.
* Most installations presume full-time network and ethernet
Debian and Red Hat both seem to spend most of their network
installation time assuming that the machine being installed on will
be connected to a network. Not enough potential problems with
dial-up networking (Modem setup, IRQ tuning, PPP setup) are dealt
with at installation. This process needs to be easier.
* Locations of help not obvious
It can be very difficult to find help, especially for those not
accustomed to a Unix system. New users may see a command line and
try to get a directory by typing "dir," unaware that it will not
work. Once a user learns "man" and "locate," she can do quite a
bit, but the individual program documentation still needs to be
manipulated with gzip. What would be ideal would be a natural
language help facility which, when asked, "How do I check for disk
problems?" responds with a reference to docs for fsck. A project
like this is under development.
* System administration difficult for non-UNIX users
Learning Unix system administration from the ground up can be a
nightmare. Most users are not concerned with issues such as hard
vs. symbolic links, filesystem-specific issues (fat or vfat or
fat32?), file permissions, user rights, group rights, and all the
other trivia that make Unix administration what it is. Ideally,
the user would be shielded from as much of this as possible.
* Lack of commercial applications
Linux still suffers from a frustrating lack of applications in some
areas. These are mostly the big-ticket commercial type apps, such
as word-processors, spreadsheets, databases, and web browsers. The
Linux software market is growing, but what we need are some free
items like this for a freely-distributable system.
* Lack of hardware vendor support
Some hardware vendors simply refuse to release the information on
their products necessary to write a driver. A recent (and fairly
public) example of this was Adaptec's response to Linux user
complaints about not making information on new versions of the
AHA-2940 BIOS available, meaning that the card behaves erratically
under Linux (and since such a card usually has the main system
storage hooked to it, that is not a Good Thing). Fortunately,
Adaptec publicly posted that it was willing to work with the Linux
community for a mutually beneficial solution. We can only hope
episodes like this become more common.
Meanwhile, some vendors are actually giving instructions on their
tech support pages on how to set their hardware up under Linux. A
notable example of this is Linksys, the network hardware vendor.
This too is a positive sign we can only hope will increase.
* Lack of traditional customer support
Earlier, we cited Linux' lack of traditional support as an
advantage. That only part of the story, though. Most business IS
departments want and need some tangible entity to stand behind a
product which performs mission-critical services for the business,
so that 24 hour support is needed. There is currently no central
organization in the Linux community for this, and this is a major
barrier to widespread acceptance of Linux in the workplace. Since
it is such an obvious shortcoming, there are some things underway
which should alleviate this problem:
* Red Hat has now instituted phone support
Just for installation and for 30 days, but it is a start
* Some consultancies provide support
Red Hat is working to coordinate this with local resources
* Caldera is working aggressively in this market
Caldera's products are specifically aimed at this issue.
They are also priced comparably to similar offerings from
Microsoft and Novell, which has irked some Linux people.
* Mailing lists and newsgroups
These are still the best places to get Linux tech support,
and will be for some time. There should be more
information given to beginning Linux users, though, to ease
their transition.
4. Advantages of commercial systems
Earlier, we promised that we would discuss in detail the advantages of
commercial systems over Linux as it is now. We believe this is
especially important because of the perceived (OK, real) ease of use
gap between Linux and commercial offerings. While all the major
distributions have made great strides in bridging the usability gap,
Linux is "not there" yet. Some things in particular we notice about
commercial systems that make them easier to use:
* System operation is easy to find info on
IDG books has made a pile of money with their "For Dummies" books.
They can be bought at any bookstore, too -- "Running Linux" by Matt
Welsh is a little harder to come by -- and it is not "For Dummies."
It is typically easier to find a friend who knows how to install a
Windows device driver than it is to find someone who can do it in
Linux. This is simply a function of the ubiquity of Windows, but
is certainly part of the "ease of use" gap.
* Commercial systems have many commercial apps
This is really the bread and butter of the commercial software
world. Microsoft's biggest revenue generator, for example, is
Office. As a result, a lot of time, effort, and research and
development goes into these programs. They can do a lot (too
much, perhaps), and are relatively easy to use. Nothing like MS
Word 97 yet exists for Linux, nor is it likely to in the near
future. This is partly because a project like that is enormous,
requiring lots of time from lots of people, but also because it
already exists, so why re-do it?
Applix makes a decent office suite for Linux. There is also
StarOffice, so the market is not empty. But there is no doubt that
Linux would help itself immensely by getting more of these apps.
* Commercial systems have better "out-of-box" support for home user
Since commercial systems are tailored to the home user, they tend
to be easier to set up and use by the home user. Under the best of
circumstances, it can be quite easy to set Windows 95 up as an
Internet dial-up networking station. (If PnP fails, it can be a
nightmare, granted.) Nevertheless, quite a few people get on the
Internet with Win95 so Microsoft must be doing something right in
that regard. Linux can gain by offering some of the visual
interfaces with interactive questions ("Wizards") for new users.
* Interface R & D
Large companies have budgets for developing newer and better User
Interface technology, a luxury Linux does not have. But Linux can
use this information to its advantage by learning from the success
of some interfaces and the failures of others.
Conclusion
Can a world-class free end-user operating system be put together right
now? We at SEUL believe it can, and it is our mission to make it
happen. As is the case with many Linux projects, we are volunteers.
We are pursuing this not for monetary gain or profit, but because we
want to. If you also believe we are doing something worthwhile, please
consider volunteering your time to the SEUL Project. Email
omega@seul.org for details.
For further reading:
General Linux Advocacy
http://oloon.student.utwente.nl/linux/LDP/HOWTO/mini/Advocacy.html
The Linux Advocacy mini-HOWTO
http://www.10mb.com/linux/
Linux advocacy, especially for commercial software vendors
User Interface design pages
http://www.cis.ohio-state.edu/~perlman/CIS516/uidesign.html
Intelligent User Interface design -- a book length site
http://www4.ncsu.edu/~aklikins/gnome/style.html
The GNOME (GNU Network Object Model Environment)
homepage for UI design
Deficiencies in commercial Operating Systems
Deficiencies in Linux
http://www.hex.net/~cbbrowne/lsf.html
A rationale for a centralized Linux organization
*****
Martin Jackson
whylinux Public Beta
1-8-98
*****