EUGLUG | Back to home page
The Eugene Unix and GNU/Linux User Group (EUGLUG) is a volunteer group
whose goal is to promote and exchange information about Linux, Unix and
Open Source Software in Eugene, Oregon and surrounding cities.
   Home •  About •  Mailing List •  List Archives •  Misc •  Contact
  



Written by Jason Kroll (hyena@ssc.com) of Linux Journal.

What is Linux?
    Linux, properly known as GNU/Linux, is a free, UNIX-like operating system, developed originally for home PCs, but which now runs on a variety of platforms including PowerPC, Macintosh, Amiga, Atari, DEC Alpha, Sun Sparc, ARM, and many others. Linux aims for POSIX compliancy to maintain maximum compatibility with other UNIX-like systems. With millions of users worldwide, Linux is probably the most popular UNIX-like OS in the world.
The Linux System
    The central nervous system of Linux is the kernel, the operating system code which runs the whole computer. The kernel is under constant development and is always available in both the latest stable release and the latest experimental release. Progress on development is very fast, and the recent 2.2-series kernels are simply amazing on all counts. The kernel design is modular, so that the actual OS code is very small yet able to load whatever functionality it needs when it needs it, and then free the memory afterwards. Because of this, the kernel remains small and fast yet highly extensible, in comparison to other operating systems which slow down the computer and waste memory by loading everything all the time, whether you need it or not.

    Linux systems excel in many areas, ranging from end user concerns such as stability, speed, and ease of use, to serious concerns such as development and networking. Nowadays, Linux even offers a variety of commercial productivity packages and office suites which can import and export files from other platforms, including Windows and MacOS.
Stability
    Linux has long been praised for its stability--Linux boxes are known for running months or even years at a time without crashing, freezing, or having to be rebooted. Linux users sometimes poke fun at other, less stable operating systems, by way of screensavers like BSOD (Blue Screen of Death, which displays crash screens from various other platforms) and games like XBill (where an evil virus masquerading as a popular operating system is causing machines to catch on fire).

    Linux is Y2K-compliant, because it stores the date in a different way from other computers (its trouble date is 2038, by which time a small modification to the kernel should have solved the problem). Also, because it is extremely secure compared to other platforms, viruses for Linux essentially do not exist.
Speed
    Linux machines are also known to be extremely fast, because the operating system is very efficient at managing resources such as memory, CPU power, and disk space. More of the Web than one might expect is actually powered by old 486 boxes running Linux and the Apache web server, while NASA, Scandia, Fermilabs and others have built very powerful yet inexpensive supercomputers by creating clusters of Linux boxes running in parallel.
Graphical Interface
    As for an intuitive graphical interface, Linux has at least a dozen different highly configurable graphical interfaces (known as window managers) which run on top of XFree86, a free implementation of the X Window System. The most popular window managers at the moment are KDE (the K Desktop Environment) and GNOME (the GNU Network Object Model Environment). These offer the point-and-click, drag-and-drop functionality associated with other user-friendly environments (for example, Macintosh), but are extremely flexible and can take on a number of different looks and feels. If you want a Linux box running KDE to look just like a Mac, Windows, BeOS, or NextStep machine, you can do it with a few mouse clicks. Today, even complex tasks like system administration, package installation, upgrading, and network configuration can all be done very easily through graphical programs. Programs that work with one window manager nearly always work with all the others.
Software Development
    Programmers often find that the Linux development environment is second to none--a good thing for end users who depend on these software developers to provide free software. Nearly all development software for Linux is free and covered under the GNU Public License, which guarantees that it will always remain free. Linux systems come standard with C and C++ compilers and an assembler, and often include Pascal, FORTRAN, and BASIC implementations as well. In addition, modern languages like Perl and Python and classic languages like LISP are all available, fully functional and completely free. In addition, the source code for nearly any Linux program is freely available (and often included by default). This not only means that bugs are discovered and corrected almost immediately, but development of software proceeds at a much faster pace than one finds even at extremely successful commercial software houses. This phenomenon is called Open Source and is the subject of much discussion and amazement in the business world, the computer world, and the press.
Networking
    Networking comes naturally to Linux. After all, Linux is based on UNIX, where computer networking more or less developed. Probably all networking protocols in use on the internet are native to UNIX and/or Linux, so one can expect that UNIX and Linux would network better than any other platforms. Setting up a network on a Linux machine is surprisingly simple, because Linux handles most of the work; you just have to give it the correct addresses. Linux is made for networking. A large part of the Web is running on Linux boxes, especially because of the Apache Web Server which dramatically defeated its commercial competitors, proving the effectiveness and viability of the Open Source approach.
Productivity
    Productivity software availability has exploded in recent years, and commercial developers have been producing excellent software for the Linux platform. Netscape Navigator and Communicator are freely available (with some licensing restrictions) as well as Word Perfect 8.0 and a host of others, which often come standard on Linux distributions. Today, it has become hard to keep track of all the spreadsheets, databases, and word processors. Many distributors package commercial software with their distributions, and many commercial producers offer free downloads, so even if a package has the polished quality of a professional production, you might not have to pay for it. Linux productivity packages can usually read and write files from productivity packages on other platforms; Linux has always strived for compatibility and openness. In fact, Linux is perfectly happy to coexist on the same machine as other operating systems. For example, you could install Linux, Windows, BeOS, and OS/2 all on one system! This makes it possible for new Linux users to see if they like Linux without erasing their old OS or having to buy another computer.
What software is available for Linux?
    Linux's Open Source approach to software development has produced thousands of pieces of software of all varieties, which are constantly being improved. Almost all Linux software is completely free along with the source code, and there are many excellent archives of Linux software as well as GNU software and other UNIX-compatible software. If you can imagine it, it probably exists.
Applications
    Whatever you want to do with your Linux system, the software for it is probably already available, free of charge. From household appliance control to World Wide Web tools, Linux has a lot to offer. One accomplishment which the free software community is particularly fond of is the GIMP, the GNU Image Manipulation Program, similar to Photoshop but highly extensible, completely free, and guaranteed to stay that way. Linux also has audio applications galore from players and recorders to mod trackers, drum machines, synthesizers, and synthesis languages. You can even use Linux for ham radio and video applications. Practicality-minded people will have no trouble making their way to the productivity, office, and financial packages, while computer artists will find numerous packages in addition to the flagship GIMP with which to work. Even sinister people like spies and secret agents can satisfy themselves with free encryption software.
Development Software
    Peredheadaps one reason why there is so much software available for Linux is that it is such an ideal development platform. C, C++, and an assembler come by default on all real distributions. Combined with editors like emacs and vi, and virtual consoles, software development is quite convenient. However, Linux has all sorts of other languages available, including Ada, APL, BASIC, Dylan, Eiffel, Euler, Forth, Fortran, GOMscript, INTERCAL, LISP, Logo, Mercury, Modula, Oberon, Objective C, Pascal, Perl, Prolog, Python, Rexx, Sather, SIMULA, Tcl/Tk, and several more. These are available free of charge, of course. Programmers also have a choice between using gcc and egcs, the GNU C Compiler and the Experimental GNU Compiler System, the latter of which has become quite popular due to its features, flexibility, and functionality. Linux is a platform for developers.
Games
    Linux has loads of games--the Linux Game Tome lists over 230 entries. Linux games have a charm all their own, though recently developers have turned their attention to producing slick, commercial 3-D games. A growing awareness of the Linux community has inspired many software publishers to begin porting their games to Linux, so we can look forward to many top-quality commercial programs in the near future. Free Linux games, however, are often of very high quality and most entertaining. As many Linux programmers come from other platforms, there are many ports and recreations of classic computer games. Fans of traditional board games such as chess and Go will find excellent interfaces for playing on-line, and even strong computer opponents (although admittedly the freely available chess software is much stronger, relatively speaking, than the Go software).

    Emulation, combined with the speed of modern hardware, makes available literally thousands of computer games, from early games on home computers (like the Commodore 64 and Amiga) to coin-operated arcades. Although recently the IDSA has taken action to destroy retro-gaming and emulation in general, emulators remain legal and freely available, while software is never difficult to find.
Scientific Software
    UNIX was originally used by scientists and is often their preferred OS, so there is a wealth of scientific software available for Linux, including the TeX and LaTeX scientific typesetting packages. There are scientific applications for astronomy, biology, cartography, chemistry, laboratory work, mathematics, graphing and visualization, among others. In conjunction with the numerous scientific and mathematical languages available, Linux is quite at home in scientific applications and is often used by laboratories. Any issue of Linux Journal should contain at least one article about Linux showing up in a scientific situation.
System Software
    UNIX is an operating system for mainframes and supercomputers, so it stands to reason that there would be a lot of system-related software available. Since Linux is based on UNIX and very much compatible with it, there is also an abundance of system software for Linux. System software includes things from daemons (programs that run in the background) to networking (since networking is an integral part of the system, and not an external add-on) to file systems, hardware support, emulation, benchmark testings, and generic file utilities. Linux supports parallel processing (which is why it is often used to make supercomputers) and RAID (Redundant Array of Independent Disks), and has resources for managing all sorts of hardware issues which would not usually come up for home users but are very important for mainframes and supercomputers, including power management, multi-user/multi-group system administration, backup, and systems diagnostics.
Utilities
    Utilities are probably familiar to users of normal home computers. Utilities are used for things such as disk and file manipulation, terminal customization, compression, archiving, scripting, and other small but important things that keep a home computer running at its best. Linux also has files, disks, terminals, compressions, archives, and scripts, so it also has file utilities. These are not as serious as "system software" but are quite useful. Linux has command-line and even graphic interfaces for all sorts of disk and file operations, from converting sound and audio formats to compressing, archiving, and encrypting files.
What is GNU?
    GNU is a recursive acronym for GNU's Not Unix, a project started by Richard Stallman, the world's leading advocate and creator of free software. The GNU project forms the basis for most of the important programs which the Linux kernel depends on. One way of looking at GNU's contribution is that GNU had produced a massive suite of software which lacked a kernel, and Linux provided that kernel. While this is an oversimplification, the fact remains that the GNU software and libraries compile and run the kernel.

    Although GNU began in 1983, its roots go back to 1973 when Stallman, then at MIT, enjoyed the freedom and cooperation afforded by open exchange of software and source code. However, proprietary software ultimately destroyed cooperation between programmers and severely damaged the production of quality software (hence Microsoft products). In an effort to save software, Stallman left MIT and set about creating the first major GNU undertakings, the GNU C Compiler and GNU Emacs. Although he was often dismissed as crazy, gcc and emacs have become the compiler and editor of choice throughout much of the software world. Without these early steps, Linux probably would not exist and the Open Source phenomenon might not have been (re)discovered for a very long time.

    Today, the scope of GNU is enormous and the project makes everything from chess software and interfaces to compilers and interpreters. There are countless packages now and even GNU's website cannot keep track of all of them. In addition, GNU created the process of 'copy-lefting', which guarantees that free software must remain free forever, and that any software which uses any piece of the GPL (GNU Public License) source code will also become free. This keeps source code floating around, and created the open source phenomenon long before anyone caught on and gave it a name.
What are the Origins of Linux?
    Linux is the brainchild of hacker extraordinaire Linus Torvalds. It began as a project while Linus was a 21-year-old student at the University of Helsinki. He had wanted to implement an improved (free) Minix for his x86 PC. On October 5th of 1991, he posted the following message to comp.os.minix:

      ``Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on Minix? No more all-nighters to get a nifty program working? Then this post might be just for you.

      As I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02...but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, etc. under it.''

    Apparently someone was interested, because shortly thereafter, there were more developers than Linus even knew about. Today, with a firm base of at least 10 million users worldwide, Linux is growing exponentially as programmers, enthusiasts, and end users exchange thoughts, implement ideas, contribute code, and cooperate in the phenomenon known as Open Source to produce the operating system known as Linux.


Written by Jason Kroll (hyena@ssc.com) in June 1999, last update July 28, 1999