Chapter 1. What is Linux?
Most operating systems don’t install all or most of the end-user tools because there are just too many to
choose from. Some operating systems don’t even provide the means to install end-user tools to their users
but rely on the ingenuity of each programmer to create an installer that sets up the tool on the system.
Other operating systems bring a small but considerable subset of end-user tools with them so that their
users can quickly update their system to whatever shape they want without requiring a long and difficult
search across the Internet (or even worse, computer/software shop) to find the software they need.
Examples of end-user tools are well known, such as office suites, graphic design tools, multimedia
players, communication software, Internet browsers, ...
1.2.6. Okay, I bite, What is this GNU?
The GNU Project is an effort of several programmers and developers to create a free, Unix-like operating
system. GNU is a recursive acronym that stands for GNU is Not Unix, because it is Unix-like but
contains no Unix code and is (and remains) free. The GNU foundation, the legal entity behind the GNU
project, sees free as more than just the financial meaning of free: the software should be free to use for
any purpose whatsoever, free to study and modify the source code and behaviour, free to copy and free to
distribute the changes you made.
This idea of free software is a noble thought that is active in many programmers’ minds: hence many
software titles are freely available. Software is generally accompanied by a license that explains what
you can and cannot do with it (also known as the "End User License Agreement"). Free Software also
has such a license - unlike the EULAs they actually allow most things instead of denying it. An example
of such license is the GPL - GNU General Public License.
1.3. Linux as the Kernel of the Linux Operating System
When we look at a Linux Operating System, its core component is its kernel. The kernel all Linux
Operating System use is the Linux kernel, or just Linux. Yes, that’s right, the Linux Operating System is
called after the kernel, Linux.
Now although all Linux Operating Systems use Linux as their kernel, many of them use a different
flavour. This is because the kernel development has several branches. The most important one I call the
vanilla kernel. This kernel is the main development kernel where most kernel developers work on; every
other kernel is based on this kernel. Other kernels introduce features that the vanilla kernel doesn’t want
yet (or has tossed away in favour of another feature); still, these kernels are fully compatible with the
vanilla kernel.
The Linux kernel saw its first light in 1991 and is created (and still maintained) by Linus Torvalds. It
grew rapidly (in 1994, version 1.0.0 saw the light) both in size (1.0.0 had more than 175000 lines of
code) and in popularity. Over the years, its development model stayed the same: there are few major
6