What are Linux Distributions? Explained!
If you look at the desktop market, the majority of it is occupied by Windows, Mac OSX comes second and Linux takes the 3rd place. But if you look into it, you will realize that there is no such thing as Linux OS instead you will find a wide variety of Operating Systems called distributions like Ubuntu, Manjaro, Fedora, CentOS, etc. So why is there no such thing called Linux OS? And what are these so-called “Distributions”? In this article let’s try to answer these questions and understand the often misunderstood concept of Linux Distributions.
The Short Version Of The Answer
A Distribution is a bundle of Linux Kernel, GNU Utilities and applications which are compiled and linked together targeting a particular processor architecture and made available to be downloaded as a single iso file so that the end-user can install the operating system.
That is the short version of the answer, don’t worry if you don’t understand it yet, by the end of this article come back to read the above line, I assure you, you will understand every word!
Stories are an interesting way to learn about vague concepts, so let’s do that now by time travelling some 60 years into the past to 1960s!
Before the Beginning of the Linux Era
Before Linux, Windows and Mac came into existence, there was an operating system named Unix which was developed at Bell Labs in AT&T. (The same place where C Programming Language was developed!) But AT&T was not allowed to sell this Operating System as they were a huge company back then in the Telecom industry and the U.S government wanted to make sure a monopoly doesn’t form in the computing industry. So instead of selling Unix, AT&T decided to license its source code to Universities and other companies for a fee.
The Spirit Behind Linux
At that point in time, a group of young software professionals, who licensed this Unix operating system wanted to make some changes/improvements to Unix as they had the source code and they wanted everyone to benefit from it by distributing those improved versions of Unix. But the license prevented them from doing so, which they felt was unfair as all the work they put in is not going to have a good impact on the rest of mankind.
Also, there were other software at that time, which did not even let them look at the source code, as it was distributed as plain installable binaries (as most paid software is till today)
They then decided to form an organization called the “Free Software Foundation” with some simple rules to achieve their goal which is to make sure that the user of the software has control over what the software does on his/her computer and not the software maker.
To accomplish this goal they made 4 simple rules/guiding principles/freedoms as shown in the image above!
- the user decides what this software can be used for
- the source code will always be distributed with the software
- the user is free to give out copies of that software
- the user is free to make changes and give out those changes
By using these guiding principles, they wanted to make their own software to replace Unix and the GNU project was formed to make their own copy of the Unix operating system by writing all the code themselves.
GNU stands for GNU is not Unix, a recursive acronym.
All the software was ready but the kernel was getting delayed. The kernel is the core of the operating system which makes an interface for the software and the hardware.
Luckily for them, a Finnish student named “Linus Torvalds” was making a kernel as a hobby project. He contributed his code to the GNU project and thus GNU/Linux Operating System was born!
Need for Distributions
The word Distro is short for distribution. Delivering the Operating System to the end-users was one of the first problems faced by the GNU/Linux operating system. The team had all the source code and so if anyone wanted a copy, then they have to download the source code and compile it all themselves, then link them together to make a working operating system, which seemed like a Herculean task for the beginners to the operating systems arena. The compilation step was left to the end-user because the final operating system image must match the processor architecture. As most users were computer experts there was no big issue. But as Linux gained popularity the ratio of newbies vs experts gradually shifted to the favour of newbies and a need for prebuilt operating system image came up!
As a large majority of people who wanted to use this Free software (Free as in Freedom and not Free lunch!) were newbies, the software was prebuilt to compile on the all popular processor architectures and was distributed as images so that the end-user can skip the hard steps of the compilation of source code and building the OS themselves.
They also made sure that the source code was available for download online so that the user’s freedoms are preserved. Since the source code is open for everyone to see, large communities started evolving online to make the code better and to bring together Operating Systems suited towards more specific needs/goals.
These “specific needs/goals” include, but not limited to the following.
- producing documents
- writing programs and creating software
- editing pictures, videos, audio and multimedia-production related works
- securing the operating system so that no one can hack into it or
- just browse the internet and consume media.
Say a community of people just wanted to browse the internet with their computers, then there is no point giving them the software to write programs in. Thus since every community’s needs and goals were different these communities started distributing built images of this operating system with all the essential tools installed.
Thus the age of Distros began! If you look at distrowatch.com there are over a 1000 Linux distributions available for download each one trying to fill a specific market need!
Now that you have learnt the story behind distributions, go ahead and try reading the short version of the answer at the beginning of the article again!
And with that, I will conclude this article!
I hope you guys enjoyed this article and learned something useful.
If you liked the post, feel free to share this post with your friends and colleagues!