Last week we talked about free software and recommended you some useful programs. This week we would like to learn more about Linux, an open source operating system that is completely free.

First of all, let’s remember that an operating system is a set of commands and programs which manages the operation of all the software inside a device (whether it is a computer, a tablet or a smartphone, for example) and establishes the communication between software and hardware to put the latter into operation.

Microsoft Windows, macOS and Linux are the three most popular operating systems, but the main difference between the first two and the last one is that the first two are owned by two large companies and we always have to buy a license to install them, while in the case of Linux most distributions do not require the purchase of any license because the code of Linux can be used, copied, modified and distributed freely, as long as it is done under the GNU GPL license (GNU General Public License).

It is important to note that, even if we are simply talking about “Linux” to refer to an operating system, most of the community advocate the use of the whole name “GNU/Linux” for the system, since Linux is just the name of its kernel and many of the other elements that make up this OS have been developed by the GNU project. For example, Android mobiles use variants of the Linux kernel, but the rest of the elements that make up the whole system are customized for mobile use and are not GNU components.

The origins of Linux

The beginnings of this operating system can be found precisely in the creation of the GNU project, which took place at the beginning of the 80s. The programmer Richard Stallman started this project in 1983 with the aim of creating an operating system similar to Unix (private) and, two years later, founded the Free Software Foundation with the aim of financing the development of the OS and spreading the free software movement. Finally, in 1989 he wrote the GNU General Public License, which establishes four essential freedoms for free software users (they can use it, study it, change it and share it).

At the same time, the software engineer Linus Torvalds began to develop the Linux kernel and in 1992 his work was already very advanced. Because its code was open, other programmers could modify and improve it, and eventually these two parties began to work together to integrate the GNU components with the Linux kernel, a process that would lead to the creation of GNU / Linux.

Linux distributions

Actually, it would be more accurate to talk about a set of operating systems and not a single OS. The freedom to modify and distribute Linux have led to the emergence of different distributions. A distribution is a version of Linux which is tailored for different types of users and tasks. In this way, even if all distributions are based on the Linux kernel, the rest of the components vary in each case: there are distributions for home use, for companies, for servers, for mobile devices, for making audiovisual productions, for working on the research field, for supercomputers… and a long list of versions developed to perform very specific tasks.

Most of these distributions are free, but in some cases it is necessary to pay for additional services for companies, such as technical support and customization services.

Customization is one of the outstanding features of Linux, along with its security level compared to other operating systems; it is generally easier to patch any vulnerabilities the operating system may have because there is a large community of developers who have access to the code and can spot them more easily. The multitasking options and the ability to work in multiuser mode are also great advantages of this set of OS, while among its disadvantages it should be highlighted the difficulty of learning to use Linux and some software incompatibilities.

Linux is part of the “Level A” within the Codelearn curriculum and has its own adventure on the online platform. Discover the Codelearn method and try the best programming extracurricular activity for children and adolescents.