What is a Linux Distribution? What’s the thing that distinguishes so many flavors from each other? In this article, I’ve made an attempt to elaborate the things that make these different Linux distros stand out in the crowd and what inspired the creation of multiple Linux distributions.
The world of Linux is full of various Linux distributions, commonly known as Linux Distros. For people beginning their journey as Linux users, it would rather be very confusing to decide which Linux distro to begin with. But before that, a question that needs to be addressed is that why are so many Linux distros and flavors out there. Why not just limited versions, like Microsoft’s Windows (Home, Pro, Server) or Apple’s OS X?
You might be already knowing this, one of the many reasons that so many distros exist is that Linux is open source. Anyone can use it for free and make changes to its code, so, many people are doing it and coming up with their own distro. And by the term Linux, I’m referring to the Linux kernel, not the GNU/Linux operating which is a controversial topic among the open source community.
There is no single organization behind the development of Linux. it’s a distributed crowd-sourced platform having thousands of contributing developers. The Linux Foundation looks after the development of the Linux Kernel. That’s not the case of the closed source Windows where Microsoft is responsible for the development of the operating system.
What is a linux distribution linux distros ?
As I have told, Microsoft creates every Windows version under its roof from top to bottom. It develops the kernel, the GUI, and other different components required for the smooth running of the Windows operating. In the case of Linux, different components are designed by different people. These components are:
Linux Kernel
Originally developed by Linus Torvalds, the Linux kernel is the heart of a Linux distro. In fact, the kernel of any operating system is vital to its existence and operations. Numerous programmers contribute to the development of the Linux kernel but Torvalds still has great control when it comes to what changes should be made in a succeeding kernel update.
GNU Utilities
Take the example of a notebook. In order to write something, you need a pencil. You can also use an eraser to erase what the text you’ve written and a highlighter. These can be thought of as various utilities that are required to use to make the best use of a notebook.
In the case of Linux, GNU Utilities are the set of tools that are used to do various things, like, dealing with files, editing text, managing the system. Earlier, these tools came as separate packages – fileutils, extutils, shellutils — but recently, GNU has stuffed them into a single package known as coreutils.
Now, talking about the shell, let’s go back to the example of the notebook. You were using various tools like pencil, eraser, and highlighter by holding them in your hands. So, you consider the shell as your hand that is used to apply those utilities to the Linux i.e. notebook. Shell–like bash–is the interface to implement the GNU utility tools. A shell can be a graphical shell or a command line-based shell where we can use these tools by typing appropriate commands.
Display Server
The display server or window system is that software component that behaves as a middleman between the user and the Linux. Its main job is to deal with the input and output between the client applications (like Firefox, LibreOffice, etc.), the operating system, and the hardware using a display server protocol. In laymen terms, it is used to take inputs from keyboard, mouse, audio source, etc. It then presents the output in front of the user.
Most commonly used display server is X.Org Server based on the X Windows System display server protocol. It is maintained by the X.org Foundation. Other popular (and newer) display servers are based on Wayland and Mir display server protocols.
In the case of X Server, there is a separate component called Window Manager which is responsible for facilitating the areas where the content could be displayed on the screen by the applications. It allows various operations like moving, resizing, and reordering of the window components displayed on the screen. In the case of Wayland, the functionality of the display server and window manager is handled by the Wayland compositor.
Graphical User Interface
GUI is a component which enables user interaction via graphically rich content displayed on a monitor in place of the command line interface (CLI) which was implemented in the past. CLI is used in server implementations of various Linux distributions. The GUI environment has been adopted over the years to facilitate ease of access to the users who are not comfortable with using the commands.
The source code of all these basic components is available. To create a Linux distribution, a person, mainly a developer or a group of developers, has to club all the stuff. However, it’s not as easy as it sounds. It’s pretty hard to get the thing up and running properly.
Linux distros — things that make the difference
The creators of a Linux distro generally put their own GUI environment–like Unity in Ubuntu, Cinnamon in Mint–and code some special tools to differentiate their distro from others. They also have the choice of putting the default web browser, whether Firefox or Chrome, choice of an office suite, music player, etc. Different Linux distros may use different types of package installers. They may restrict any closed source software from being included. Like in the case of Fedora which doesn’t put any proprietary software in its release. But since it’s a Linux under the skin, you can go ahead and install the desired software.
Every Linux distro has a goal or philosophy acting as the prime motivation in its creation process. For instance, the Debian Linux is built with the thought of distribution of free software. Some Linux distros are created for media consumption and some are created to be used by musicians. These distros come preinstalled with relevant software.
One thing you need to keep in mind, being open source doesn’t mean that a software should be distributed for free. The Linux distributions are open source but they can come at a price. Like the commercial distros created for enterprise customers are often paid like the RedHat Server.
Ubuntu is the most preferred based on Debian which itself is a Linux-based distro. It is used by general users. Its USP is the user-friendliness when it comes to using the distro. Backed by Canonical, Ubuntu has a Software Center which comes handy for the users who can’t install a software package using the command line.