Datasheet

A few major examples of software from the GNU Project distributed under the GPL follow:
GCC: The GNU Compiler Collection, containing the GNU C compiler
G++: A C++ compiler, included as part of GCC
GDB: A source code–level debugger
GNU make: A version of UNIX
make
Bison: A parser generator compatible with UNIX yacc
bash: A command shell
GNU Emacs: A text editor and environment
Many other packages have been developed and released using free software principles and the GPL,
including spreadsheets, source code control tools, compilers and interpreters, Internet tools, graphical
image manipulation tools such as the Gimp, and two complete object-based environments: GNOME and
KDE. We discuss GNOME and KDE in Chapters 16 and 17.
There is now so much free software available that with the addition of the Linux kernel it could be said
that the goal of a creating GNU, a free UNIX-like system, has been achieved with Linux. To recognize the
contribution made by GNU software, many people now refer to Linux systems in general as
GNU/Linux.
You can learn more about the free software concept at
http://www.gnu.org.
Linux Distributions
As we have already mentioned, Linux is actually just a kernel. You can obtain the sources for the kernel
to compile and install it on a machine and then obtain and install many other freely distributed software
programs to make a complete Linux installation. These installations are usually referred to as Linux sys-
tems, because they consist of much more than just the kernel. Most of the utilities come from the GNU
Project of the Free Software Foundation.
As you can probably appreciate, creating a Linux system from just source code is a major undertaking.
Fortunately, many people have put together ready-to-install distributions (often called flavors), usually
downloadable or on CD-ROMs or DVDs, that contain not just the kernel but also many other program-
ming tools and utilities. These often include an implementation of the X Window System, a graphical
environment common on many UNIX systems. The distributions usually come with a setup program
and additional documentation (normally all on the CD[s]) to help you install your own Linux system.
Some well-known distributions, particularly on the Intel x86 family of processors, are Red Hat
Enterprise Linux and its community-developed cousin Fedora, Novell SUSE Linux and the free
openSUSE variant, Ubuntu Linux, Slackware, Gentoo, and Debian GNU/Linux. Check out the
DistroWatch site at
http://distrowatch.com for details on many more Linux distributions.
Programming Linux
Many people think that programming Linux means using C. It’s true that UNIX was originally written
in C and that the majority of UNIX applications are written in C, but C is not the only option available to
4
Chapter 1: Getting Started
47627c01.qxd:WroxPro 9/28/07 8:56 PM Page 4