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. Its copyright is owned by Linus Torvalds
<torvalds@transmeta.com> and other contributors, and is freely
redistributable under the terms of the GNU General Public License (GPL).
A copy of the GPL is included with the Linux source; you can also get a
copy from
ftp://prep.ai.mit.edu/pub/gnu/COPYING

Linux, per se, is only the kernel of the operating system, the part
that controls hardware, manages files, separates processes, and so forth.
There are several combinations of Linux with sets of utilities and
applications to form a complete operating system. Each of these
combinations is called a distribution of Linux. The word Linux,
though it in its strictest form refers specifically to the kernel, is
also widely and correctly to refer to an entire operating system built
around the Linux kernel. For a list and brief discription of various
distributions, see
http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.htmlNone of these distributions is ``the official Linux''.

Linux is not public domain, nor is it `shareware'. It is `free'
software, commonly called freeware
or Open Source Software[tm] (see
http://www.opensource.org),
and you may give away or sell
copies, but you must include the source code or make it available in
the same way as any binaries you give or sell. If you distribute any
modifications, you are legally bound to distribute the source for those
modifications. See the GNU General Public License for details.

Linux is still free as of version 2.0, and will continue to be free.
Because of the nature of the GPL to which Linux is subject, it would be
illegal for it to be made not free. Note carefully: the `free' part
involves access to the source code rather than money; 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 well-supported in 2.0.x and earlier versions,
but support has been added to the current development tree, 2.1.x.
If you are interested, see
http://glycerine.itsmm.uni.edu/mca

There is a port to multiple Motorola 680x0 platforms
(currently running on some Amigas, Ataris, and VME machines), 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.
See
news:comp.os.linux.m68k

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

Linux runs well on Sun SPARCs; most sun4c, sun4m, and sun4u machines now
run Linux, with support for sun4 in development.
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 (see
http://linus.linux.sgi.com and
http://lena.fnet.fr/)
and ARM,
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 n.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 n.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. Note that most
releases of the Linux kernel, beta or not, are relatively robust;
``stable'' in this context means ``slow to change'' in addition
to ``robust''.

The current stable version is 2.0.35 (this will continue to change as
new device drivers get added and bugs fixed), and development has also
started on the experimental 2.1.x kernels. The Linux kernel source code
contains a file, Documentation/Changes, which explains changes that
you should be aware of when upgrading from one kernel version to another.
However, the great majority of Linux users simply update their Linux
distribution occasionally to get a new kernel version.

Most versions of Linux, beta or not, are quite robust, 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.97p1 (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.99p15s 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 of 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. The latest release of such software to the
public is sometimes of higher quality, but the development speed is
generally much slower.