Datasheet

Flexibility: You can’t anticipate exactly how ingeniously users will use your program. Try to be
as flexible as possible in your programming. Try to avoid arbitrary limits on field sizes or num-
ber of records. If you can, write the program so that it’s network-aware and able to run across a
network as well as on a local machine. Never assume that you know everything that the user
might want to do.
What Is Linux?
As you may already know, Linux is a freely distributed implementation of a UNIX-like kernel, the low-
level core of an operating system. Because Linux takes the UNIX system as its inspiration, Linux and
UNIX programs are very similar. In fact, almost all programs written for UNIX can be compiled and run
on Linux. Also, some commercial applications sold for commercial versions of UNIX can run unchanged
in binary form on Linux systems.
Linux was developed by Linus Torvalds at the University of Helsinki, with the help of UNIX program-
mers from across the Internet. It began as a hobby inspired by Andy Tanenbaum’s Minix, a small UNIX-
like system, but has grown to become a complete system in its own right. The intention is that the Linux
kernel will not incorporate proprietary code but will contain nothing but freely distributable code.
Versions of Linux are now available for a wide variety of computer systems using many different types
of CPUs, including PCs based on 32-bit and 64-bit Intel x86 and compatible processors; workstations and
servers using Sun SPARC, IBM PowerPC, AMD Opteron, and Intel Itanium; and even some handheld
PDAs and Sony’s Playstations 2 and 3. If it’s got a processor, someone somewhere is trying to get Linux
running on it!
The GNU Project and the Free Software Foundation
Linux owes its existence to the cooperative efforts of a large number of people. The operating system kernel
itself forms only a small part of a usable development system. Commercial UNIX systems traditionally come
bundled with applications that provide system services and tools. For Linux systems, these additional pro-
grams have been written by many different programmers and have been freely contributed.
The Linux community (together with others) supports the concept of free software, that is, software that
is free from restrictions, subject to the GNU General Public License (the name GNU stands for the recur-
sive GNU’s Not Unix). Although there may be a cost involved in obtaining the software, it can thereafter
be used in any way desired and is usually distributed in source form.
The Free Software Foundation was set up by Richard Stallman, the author of GNU Emacs, one of the
best-known text editors for UNIX and other systems. Stallman is a pioneer of the free software concept
and started the GNU Project, an attempt to create an operating system and development environment
that would be compatible with UNIX, but not suffer the restrictions of the proprietary UNIX name and
source code. GNU may one day turn out to be very different from UNIX in the way it handles the hard-
ware and manages running programs, but it will still support UNIX-style applications.
The GNU Project has already provided the software community with many applications that closely mimic
those found on UNIX systems. All these programs, so-called GNU software, are distributed under the terms
of the GNU General Public License (GPL); you can find a copy of the license at
http://www.gnu.org. This
license embodies the concept of copyleft (a takeoff on “copyright”). Copyleft is intended to prevent others
from placing restrictions on the use of free software.
3
Chapter 1: Getting Started
47627c01.qxd:WroxPro 9/28/07 8:56 PM Page 3