Ten things you didn’t know about GNU Linux
This post is also available in : Spanish
GNU Linux: 10 things you don’t know yet that will surprise you
GNU Linux with its multiple distributions is the most widespread free – but not necessarily cost-free – operating system in the world. It will turn 26 years old the 25 of August and for this special occasion, here we have 10 facts that you may not know about the penguin’s OS, told from the point of view of an app programmer. Since there are several obstacles that the kernel and its programmers (oh yes, there are many) have to wade through to get to our lives, let’s check out those facts!
1. Apache WebServer was the killer-app: In the 90s, when personal computers became popular (and before the Internet existed), the killer-app was the Lotus 123 spreadsheet software, which means that people were buying a computer to run that program in particular. After the Internet became a thing, Apache WebServer turned into the application program that most people used for their first websites, and guess what? This software ran under…GNU Linux. Even today, the LAMP combo (Linux, Apache, MySQL and PHP) is running in most websites, including giants such as Twitter, Google, Amazon, Wikipedia, Instagram and Facebook.
2. Linus Torvalds, the creator of GNU Linux, is currently collaborating with the 2% of the kernel: This is because it hosts more than 18 million lines written by thousands of programmers. How can so many people coordinate to write code in C language? The killer-app that was crucial to develop GNU Linux was, and still is, the version control system invented by Linus Torvalds, but written by other talented developers: the famous Git. Since it is free software, platforms like GitHub host dozens of thousands of projects, not only dealing with software, but also with books, laws and everything that needs to be carefully checked in a cooperative way.
Currently, 25 years after launching his college project, Linus Torvalds has an annual salary of 10 million dollars, and before Ian Murdock’s passing (the creator of the “Debian” distribution based on GNU Linux), he earned 295 million dollars per year. It is estimated that the total time invested by the developers, in man-hours, is equivalent to 5 million US$.
3. Android is not the only OS based on GNU Linux: Most of the people think that the only Smartphone operating system based on GNU Linux is Android, but there are some more, such as “Firefox OS” or “Ubuntu Mobile”, among others. And by the way, Android is not free software but open-source, which is different: all free software meets the definition of open-source, but NOT every open-source code is qualified as free software, due to its restrictive nature.
4. Apart from cell phones, GNU Linux can be found in more unexpected places: from Formula One pilots that get information recovered from the sensors located in their cars, to unmanned aircrafts (or drones), going through small devices placed in our homes such as vigilance systems or air conditioning, and also including sonar for nuclear submarines of the US Navy (which use Red Hat Linux). As you can see, there are thousands of environments using GNU Linux!
The space station uses Debian, NASA uses Ubuntu while the European Space Agency has chosen SUSE. The European Organization for Nuclear Research known as CERN, has joined the trend with “Scientific Linux” (which stems from “Red Hat Enterprise”) and let’s not forget about the supercomputers that governments use all around the world for matters such as weather forecast, global warming, search for extraterrestrial life or big city traffic: GNU Linux controls 485 of the existing 500 high computing power machines, also making the study of the next quantum computers possible. Even the police in Europe use GNU Linux!
5. GNU Linux allows software compilation made to any computer’s measure: it may not always work at first, but it is totally true. The most popular distributions such as Fedora and Debian (and derivatives) share common kernels that can be adapted to most modern hardware, but even using privative controllers is possible (just like it happens with Ubuntu). The Linux kernel itself takes 5% of the space and the controllers take just a bit over 55%. However, each distribution has its own way to look for updated controllers to better explore the operating system’s resources, but the applications also benefit from this, just to name a particular case, that’s what happens to VirtualBox. A program that allows installing virtual machines and thus, really making the most of multicore processors. If it’s necessary to install it in a new distribution, we must compile the kernels again for virtual devices (which is particularly useful if we use a distro that hasn’t been tested with VirtualBox). A PostgreSQL database can be optimized and tuned depending on the hardware it’s running in! This makes GNU Linux endlessly scalable, and we will be able to run it on very different devices by choosing the corresponding kernel and then compiling to improve details in specific applications. Now, that’s what we call flexibility!
6. GNU Linux is ready to use: No, we’re not lying. Most distributions come with a program combo fully preset with security always in mind, which is the reason why you won’t find an antivirus among them. We’re not saying viruses don’t exist in GNU Linux, it’s just that there aren’t many due to the operating system’s not having any hidden corner we can’t reach to monitor its booting up and performance. Nevertheless, GNU Linux runs in big networks of database servers which store millions of documents (files) for every kind of operating systems (see point 1). It was necessary to create some antivirus for this purpose: controlling what users upload to those “clouds”. One of those popular antivirus software programs is Clamav. Even when having any other operating system, you will always have GNU Linux at reach without having to install it in your computer.
7. Linux GNU is only a seventh part of a whole, but it is essential!: Before Linus Torvalds launched his core –kernel in German- all the other basic components already existed in a thousand different versions. Those components are, in a simplified and categorized way (in order of importance and computer booting) as follows:
- Boot management (“bootloader”, not shown).
- Core (“kernel”, in the case of GNU Linux).
- Services (programs without graphic interface called “daemons”).
- Command terminal window, “shell” or “bash” (web servers, data, etc. go up to this point; we don’t need anything else to manage and / or monitor them).
- Graphical server: it changes the monitor’s mode from text to graphic (explaining it is kind of long, but we can say your monitor “knows” how to draw a letter on the screen in the text mode with just the ASCII numeric code; in the graphic mode, it draws every pixel, step by step; that’s what the graphical server does).
- Desktop environment: it draws the effects of windows, wallpapers, etc. and we could say that it is the graphic interface that interacts with the users (and the component that triggers the biggest and most gruesome programming battles which illustrate the famous idiom “a wise man once said, there’s no accounting for taste”.
- Applications or apps: Similar to those we saw at the beginning, which even push the whole block.
8. Windows 10 supports “Windows Subsystem for Linux” (aka “WSL”) ¡BUT IT DOESN’T USE LINUX!: We mentioned the operating system “layers” in point 7 for that reason; the bash and the apps that don’t require a graphic environment, with a proper configuration and security adjustments for the programmers or admins to have the whole GNU Linux environment, under the kernel of that privative software.
Do you remember about the antivirus? Well, if you have Windows Defender installed in Windows 10 (or any other monitoring software, in theory) the antivirus will be able to access the free apps that we run under WSL. We will be able to install the apps that run in GNU Linux (Ubuntu, to be more specific) and we can even update them with the “apt-get update” command, in a completely independent way from the Windows 10 OS. Is this environment secure? We’ll keep our judgments to ourselves, but we can’t ignore what’s obvious: free software has come to take on every space.
9. It isn’t necessary to reboot GNU Linux: Just like that, as clear as day… if you have a good system administrator and if your hardware has the redundant elements of a server (a kernel panic can happen due to a hardware failure). Like we explained before, there are daemons and applications that must be updated frequently, depending on the possibilities of our selected distribution, and by means of scripts or process files in batches, we must reboot each of these daemons and apps without having to reboot the computer. But updating the kernel is a completely different story: we must have the necessary abilities to reload the new core, which is a delicate and methodic matter. At this point, we must evaluate if all the work of reloading a new kernel takes is better than rebooting the computer: only if we have a mission-critical server will it be worth worrying about applying the update this way.
Another thing: we should update the kernel if we are physically present in front of the computer; however we have known cases of administrators who have developed scripts to do it remotely. Those scripts answer necessary questions which we will not be able to answer because we lose the connection briefly while the demons and services stop to be reloaded with the new kernel.
Main GNU Linux distributions:
- Debian (with its prodigal son, Ubuntu, and its family).
- SLS (the origin of Slackware and its derivatives).
- Red Hat (with its famous descendants Fedora, CentOS, CERN, Oracle Enterprise and many more).
And we’re not naming them all; here you can see a graphic and historical summary.
We can’t deny that GNU Linux has its detractors, but even themselves have their own implicit answer: you have the code, repair it yourselves! We find a whole lot of things that make GNU Linux a truly innovative experience from the moment we install it in our computer, while we surf the internet, when we execute multiple desktops once installed or when it partitions our hard drives without losing data and allowing us to use the same hardware for more than 5 years. Not to mention that we won’t have secret “backdoors” and we’re not being spied by governments or any other entities, whatever the reasons they have to attack us. All this together gives us (and our data) a great peace of mind.