Linux · Chapter 2
Linux Essentials: The Linux Community and Open Source
The origin of Linux, distributions and embedded systems, free applications, the four freedoms, licenses and how people work in open source.
This chapter covers topic 1 of the Linux Essentials exam (see the previous chapter). It is the most theoretical one: where Linux comes from, how its ecosystem is organized and what it really means for a program to be free.
The birth of Linux
In 1991, Linus Torvalds, then a student in Finland, announced an operating system kernel inspired by Unix that had started as a personal project. He published it with its source code and, in 1992, under the GPL license. Version 1.0 arrived in 1994.
That kernel was combined with the tools of the GNU project (compiler, shell, utilities), which the Free Software Foundation had been developing since 1983. That is why many people say GNU/Linux: Linux is the kernel and GNU provides much of the rest of the system.
Distributions
A distribution (or distro) is a complete operating system made up of the Linux kernel, the GNU tools and a selection of programs, maintained by a company or a community. Each one decides which software it includes, how it is installed and how often it is updated.
| Family | Packages | Tools | Examples |
|---|---|---|---|
| Debian | .deb |
apt, apt-get, dpkg |
Debian, Ubuntu, Linux Mint, Kali, MX Linux, Raspberry Pi OS |
| Red Hat | .rpm |
dnf, yum, rpm |
Red Hat Enterprise Linux, Fedora, CentOS Stream, Rocky Linux, AlmaLinux |
| SUSE | .rpm |
zypper |
openSUSE, SUSE Linux Enterprise |
| Arch | .pkg.tar.zst |
pacman |
Arch Linux, Manjaro |
Some distributions offer LTS (Long Term Support) releases, with years of security updates: they are the preferred choice for servers.
Embedded systems and Linux in the cloud
Because the kernel is modular and its license allows adapting it, Linux is used to build custom systems for specific hardware, known as embedded systems:
- Android is based on the Linux kernel and today runs on phones, TVs, cars and watches.
- Raspberry Pi OS (formerly Raspbian) is a Debian-based distribution for Raspberry Pi boards, widely used for home automation, IoT and small servers.
- Routers, cameras and smart appliances often run Linux inside.
In the cloud, most virtual machines on AWS, Google Cloud and Azure run Linux, and providers maintain their own optimized distributions. Linux is also the foundation of virtualization (KVM, Xen) and containers (LXC, Docker), which share the host's kernel and make much better use of resources.
Packages and source code
There are two ways to install software on Linux:
- From source code: you download the code and compile it. The classic sequence is
./configure,makeandmake install. - From packages: the program comes already compiled for your architecture (x86-64, ARM...) and the package manager installs it along with its dependencies.
Packages are downloaded from repositories: servers maintained by each distribution with reviewed, signed software.
# Debian / Ubuntu
sudo apt update
sudo apt install vlc
# Fedora / RHEL
sudo dnf install vlc
# Build from source code
./configure
make
sudo make install
The most widely used free applications
| Use | Applications |
|---|---|
| Office | LibreOffice (Writer, Calc, Impress, Base), successor to OpenOffice.org |
| Multimedia and design | GIMP, Inkscape, Audacity, Blender, VLC, ImageMagick |
| Internet | Firefox, Chromium, Thunderbird, FileZilla, Transmission |
| Web servers | Apache HTTP Server, NGINX, Lighttpd |
| Databases | MySQL, MariaDB (derived from MySQL), PostgreSQL |
| Files and private cloud | Samba, NFS, Nextcloud, ownCloud |
| Languages | C/C++, Java, JavaScript, Python, PHP, Perl, shell |
Free software and open source
The four freedoms
The Free Software Foundation (FSF) defines free software through four freedoms:
| Freedom | What it allows |
|---|---|
| 0 | Run the program for any purpose. |
| 1 | Study how it works and change it (requires access to the source code). |
| 2 | Redistribute copies. |
| 3 | Distribute modified copies, so others benefit from the improvements. |
In English, free means both "libre" (freedom) and "gratis" (no cost). Free software is not about price: it is about freedom — "free as in free speech, not as in free beer".
Open source, FOSS and FLOSS
- Open source is the term promoted by the Open Source Initiative (OSI). Its Open Source Definition requires, among other things, access to the code, free redistribution and permission to create derivative works. The OSI reviews and approves the licenses that meet it.
- In practice, almost every free software license is also open source. The difference is mainly one of emphasis: the FSF focuses on the user's freedom; the OSI, on the practical benefits of the open model.
- Careful: being able to see the code is not enough. A program whose code is published but without permission to modify or redistribute it is source available, not open source.
- FOSS (Free and Open Source Software) and FLOSS (Free/Libre and Open Source Software) group both terms. The L for "Libre" makes clear that free refers to freedom.
Copyleft vs. permissive licenses
- Copyleft: you can use, modify and redistribute, but if you distribute a modified version you must do so under the same license, keeping the four freedoms. The classic example is the FSF's GPL, the license of the Linux kernel.
- Permissive: they allow almost anything, even including the code in a closed product, as long as the copyright notice and the disclaimer are kept. Examples: BSD, MIT and Apache 2.0. The original code stays free; what can be closed is the derivative work.
Creative Commons licenses
Creative Commons licenses are designed for texts, images, music and other works, not for software. They are built by combining conditions:
| License | Conditions |
|---|---|
| CC BY | Any use, crediting the author. |
| CC BY-SA | Same, and derivative works must be shared under the same license. |
| CC BY-ND | May be redistributed, but not modified. |
| CC BY-NC | Like CC BY, for non-commercial purposes only. |
| CC BY-NC-SA | Non-commercial and share-alike. |
| CC BY-NC-ND | Non-commercial and no modifications. |
| CC0 | Waives all rights: equivalent to the public domain. |
How people make a living with open source
- Support, installation and customization for companies.
- Working at companies that use or develop free software.
- Subscriptions with support and certified updates (the Red Hat or SUSE model).
- Dual licensing or the open core model: a free version and a commercial one with extra features.
- Software as a service in the cloud, built on free software.
- Donations and crowdfunding.
The desktop and the terminal
Linux separates the system from the graphical environment, so you can choose your desktop:
| Desktop | Library | Language | Profile |
|---|---|---|---|
| GNOME | GTK | C | Simple and modern, default on Ubuntu and Fedora |
| KDE Plasma | Qt | C++ | Highly configurable |
| Xfce, LXQt, MATE, Cinnamon | Various | Various | Lightweight or traditional |
To work with commands you use a terminal emulator (GNOME Terminal, Konsole, xterm,
Terminator...). You can also switch to a text console with Ctrl + Alt + F1...F6; the
exact key combination to return to the desktop depends on the distribution.
Privacy, passwords and encryption
- Cookies identify the browser and make it possible to track activity across sites. You can delete them, block third-party cookies or use private mode, which does not keep local history but does not make you anonymous on the network.
- Use long, unique passwords for each service (a passphrase of several words is best) and turn on two-step verification. A password manager such as KeePassXC or Bitwarden generates and stores them for you.
- Encryption transforms a message so that only someone with the key can read it:
- TLS (SSL's successor) protects web connections (HTTPS).
- GnuPG signs and encrypts emails, files and texts.
- VeraCrypt creates encrypted volumes.
- LUKS / dm-crypt encrypt entire disks on Linux.
Key takeaways
- Linux is the kernel (1991, Linus Torvalds, GPL license); together with GNU it forms a complete system.
- A distribution packages the kernel, tools and programs; the main families are Debian
(
.deb,apt) and Red Hat (.rpm,dnf). - Linux dominates embedded systems (Android, Raspberry Pi), the cloud and containers.
- Free software = the four freedoms; free is about freedom, not price.
- Copyleft (GPL) requires keeping the license; permissive licenses (BSD, MIT, Apache) allow closed derivatives.
- Creative Commons is for creative works, not software.
In the next chapter: first steps on the command line.