Previous Next Contents

1. Introduction to Linux

Linux is a completely free reimplementation of the POSIX specification, with SYSV and BSD extensions (which means it looks like Unix, but does not come from the same source code base), which is available in both source code and binary form. It is copyrighted by Linus B. Torvalds (Linus.Torvalds@Helsinki.FI) and other contributors, and is freely redistributable under the terms of the GNU Public License.

Linux is not public domain, nor is it `shareware'. It is `free' software, commonly called freeware, and you may give copies away, but you must also give the source with it or make it available in the same way. If you distribute any modifications, you are legally bound to distribute the source for those modifications. See the GNU General Public License for details. A copy is included with the Linux source, or you can get a copy via ftp from prep.ai.mit.edu in /pub/gnu/COPYING

Linux is still free as of version 2.0, and will continue to be. Because of the nature of the GNU copyright which Linux is subject to, it would be illegal for it to be made not free. Note carefully: it is perfectly legal to charge money for distributing Linux, so long as you also distribute the source code. This is a generalization; if you want the fine points, read the GPL.

Linux runs on 386/486/Pentium machines with ISA, EISA, PCI and VLB busses. MCA (IBM's proprietary bus) is not currently well-supported because there has been neither much documentation for nor significant interest in this dinosaur, although some patches are available for a few machines. If you are interested, see http://glycerine.itsmm.uni.edu/mca

There is a port in progress for multiple Motorola 680x0 platforms (currently running on some Amigas and Ataris), which now works quite well. It requires a 68020 with an MMU, a 68030, 68040, or a 68060, and also requires an FPU. Networking and X now work.

Linux runs well on DEC's Alpha CPU, currently supporting the "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (better known as the Multia), and several other platforms. For more information, see http://www.azstarnet.com/~axplinux/FAQ.html

Linux runs well on Sun SPARCs; most sun4c and sun4m machines now run Linux. Red Hat Linux is (as of this writing) the only Linux distribution available for SPARCs; see http://www.redhat.com/support/docs/rhl-sparc/

Ports to other machines, including MIPS, PowerPC, and PowerMAC, are under way and showing various amounts of progress. Don't hold your breath, but if you are interested and able to contribute, you may well find other developers who wish to work with you.

Linux is no longer considered to be in beta testing, as version 1.0 was released on March 14, 1994. There are still bugs in the system, and new bugs will creep up and be fixed as time goes on. Because Linux follows the ``open development model'', all new versions will be released to the public, whether or not they are considered ``production quality''. However, in order to help people tell whether they are getting a stable version or not, the following scheme has been implemented: Versions 1.x.y, where x is an even number, are stable versions, and only bug fixes will be applied as y is incremented. So from version 1.2.2 to 1.2.3, there were only bug fixes, and no new features. Versions 1.x.y, where x is an odd number, are beta-quality releases for developers only, and may be unstable and may crash, and are having new features added to them all the time. From time to time, as the currect development kernel stabilizes, it will be frozen as the new ``stable'' kernel, and development will continue on a new development version of the kernel.

The current stable version is 2.0.24 (this will continue to change as new device drivers get added and bugs fixed), and developement has also started on the experimental 2.1.x kernels. If 2.0.x is too new for you, you may want to stick with 1.2.13 for the time being. However, the latest releases of 2.0 have proved quite stable. Do note that in order to upgrade from 1.2 to 2.0, you need to upgrade some utilities as well; you may wish to upgrade to the latest version of your Linux distribution in order to obtain those utilities. The Linux kernel source code also contains a file, Documentation/Changes, which explains these changes and more.

Most versions of Linux, beta or not, are quite stable, and you can keep using those if they do what you need and you don't want to be on the bleeding edge. One site had a computer running version 0.97 patchlevel 1 (dating from the summer of 1992) for over 136 days without an error or crash. (It would have been longer if the backhoe operator hadn't mistaken a main power transformer for a dumpster...) Others have posted uptimes in excess of a year. One site still had a computer running Linux 0.99pl15s over 600 days at last report.

One thing to be aware of is that Linux is developed using an open and distributed model, instead of a closed and centralized model like much other software. This means that the current development version is always public (with up to a week or two's delay) so that anybody can use it. The result is that whenever a version with new functionality is released, it almost always contains bugs, but it also results in a very rapid development so that the bugs are found and corrected quickly, often in hours, as many people work to fix them.

In contrast, the closed and centralized model means that there is only one person or team working on the project, and they only release software that they think is working well. Often this leads to long intervals between releases, long waiting for bug fixes, and slower development. Of course, the latest release of such software to the public is often of higher quality, but the development speed is generally much slower.

As of October 31, 1996, the current stable version of Linux is 2.0.24, and the latest development version is 2.1.6.


Previous Next Contents