Linux (/ˈlinəks/) is An open-source version of the UNIX operating system. It’s kind of a big deal for Servers Mainframes and Super computers.
More than 90% of today’s super computers run on a some kind of Linux. Also many small devices run on Linux even if you can’t tell they do… for example the Android OS is based on Linux.
Linux is great, it’s powering most of the webservers for your favorite websites, since it’s free, highly customizable and very reliable.
That’s great, but why are there way too many Linux distros or distributions?
To answer this question we have to define the difference between Linux and other operating systems (Windows or Mac OS). Any operating system comes with a preinstalled set of applications, a user-interface and built-in drivers. For Windows, Microsoft decides what software they’ll have built-in to Windows and how the Window Manager (The piece of software that organizes the display of windows and dialogs on your computer) will work for this specific version of windows. Microsoft has the one and only decision in this, and there’s only a limited number of customizations we can do to the Window Manager (The Look & Feel of Windows), that Microsoft allows us to change, but those changes we have to do after installing windows.
For example, if I wanted my Microsoft Windows 9 to have WinAmp installed on it out of the box, I’ll have to request Microsoft to do this. They will probably say No, since Windows has that wonderful media player (That I never use). I also cannot ask them to change the color of menus from white to grey just because I like it better that way. Same story for drivers, I don’t use printers, I don’t need Windows to have HP generic printer driver because I have a canon driver but that’s so selfish.
Now comes Linux.. Linux is a kernel (the bridge between applications and actual data processing) and a bunch of free software packages. The flexibility of the OS allows me to choose anything I want and to customize it the way I want. As a programmer, I can fetch the code of any software that my Linux is using, modify it as I wish. Then rebuild it and replace the one installed on my computer.
I can add some new packages, remove others and modify packages as much as I wish. All that is left to do is create an installation disk (or ISO image) for my current OS and distribute is the way I wish (Of course there’s a bunch of licenses that I have to read first).
As software keeps updating to add new features or fix bugs, my OS will have to keep up with the packages I’ve modified or created to keep my OS up-to-date or otherwise it’ll be discontinued just like many other Linux distros. And if my OS was found great by some developers, they’ll help me with ideas, testing and code writing to keep up and add features to my own software.
This answers the question “How is a Linux Distro created” not “Why are there so many of them?”.
As I’ve explained, I’ll most likely base my distro on an existing one to ease the integration of software packages into my OS. I’ll also have to find a team that shares my vision and finds the OS I’m creating great in order to help me develop and maintain it. It’s not that easy to maintain and develop an OS.
There are few basic Linux distros that most other ditros are based on. e.g. “Slackware Linux”, “Redhat”. you check out this Linux Distros Timeline to see how many distros have ever been developed