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

SEUL: Whylinux beta 2



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 and their Linux solutions
   * Technical merits of Linux
   * Deficiencies of current Linux distributions
   * Advantages of commercial systems
  Since this distribution is intended for end users, that is, those who
  are not programmers or system administrators, this document is written
  with that level of technical expertise in mind.  Since most end users
  are not yet familiar with Linux, some discussion of what we believe are
  great advantages of Linux is included in the discussion of problems in
  existing systems.
 1. Problems with existing systems and their Linux solutions
  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.  On the other hand,
  Linux and FreeBSD (for example) 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.  (Red Hat Official Linux,
  is a borderline case, since some parts of it are commercial products.
  However, most of it is free according to both definitions we are using.)

  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, usually due to bugs, also take longer to release
    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 with every distribution.

   * 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.  This is often done through the Internet
    through mailing lists and newsgroups.  Some areas have local
    User Groups which will provide help when needed.  (This is seen
    as a disadvantage to Linux and is also discussed in that
    section.)

   * 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; users must wait until Microsoft
    publishes a patch.

    The availability of source code for Linux is a particularly
    useful thing for programmers and computer science students,
    which form a significant percentage of Linux users.  In
    addition, end users can fix security problems themselves in a
    timely manner with publicly available patches.

  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 recognize certain advantages to commercial
  systems, which we will discuss in detail later in this document.)

  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.)  A 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.  The story can be
   read online at http://www.news.com/News/Item/0,4,17082,00.html.)
   Based on anecdotal evidence, many people have problems with Windows
   crashing for no 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.  A leading Linux
   publication, the Linux Journal, had an article on this in the
   December 1997 issue (index available online at
   http://www.linuxjournal.com/issue44/index.html).

 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, including Inernet Connections
   (http://www.mankato.mn.us), Prairie Lakes Internet
   (http://www.prairie.lakes.com), and Desktop Media
   (http://www.deskmedia.com) use Linux for web hosting and other
   services.  Linux 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, a member of our local Linux Users
   Group reports that a small college in Southern Minnesota (where he
   is a system administrator) ran a 56k baud leased line gateway with
   E-Mail, DNS, and FTP on a single 486/33 with 32MB RAM and a number
   of big SCSI drives.  This setup was adequate for a student body of
   about 300.

  * 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.
   There are two 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 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,
   distributions often include a full CD of source code to browse
   and tinker with.  Another advantage is that, as a multi-user system,
   it has better data protection features to protect you and your data
   as you learn to program -- I have seen Windows 95 and how it handles
   errors in Borland's C++ compiler, and I am 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 2
1-10-98
*****
Martin Jackson:  mjackson@deskmedia.com
=======================================
Information Science Major
Mankato State University
=======================================