Linux Has Too Few Distributions and Desktop Environments
True progress can only be achieved if people are working on different things
The Linux platform is actually the base for a multitude of operating systems, but a part of the community feels that there are too many distributions. The truth is that there are probably too few of them.One of the points of contention that usually arise in the Linux community is the fact that there seem to be too many Linux distributions and too many desktop environments. If we were to compare Linux with any other platform that would be true, but such a comparison would be incorrect.
Linux is the only platform that allows this kind of freedom, so making a comparison with other operating systems is actually incorrect because they do not incorporate the same kind of philosophy and openness.
My point is that even if Linux seems to be the home of many operating systems and desktop environments, the reality is that, in fact, there aren't actually enough. The reason why I pick OSes and desktop environments is because they are the most visible, but the same is true for any other component.
Whenever a developer releases a new piece of technology, either their own or forked from other projects, there is always someone who figuratively stands up and blames the developer for putting forward “yet another” identical project with no future.
Forking is a tangential problem that also seems to trouble some members of the Linux community, which they think is a waste of time. I'll also address this so-called issue.
What people don't really understand is that Linux needs as many Linux distributions and desktop environments as possible, much more than it has now. This is not about competition, but the other way around, it's about completion.
Let's take for example the desktop environments. There is no perfect example and most desktop environments are different from one another in various respects, and all have their strengths and their flaws. The interesting thing is that when someone stumbles upon something new that hasn't been done before, other projects will tend to adopt it.
If someone makes something good, all the other developers will want to have it. This is one of the most important ways in which a project is capable of influencing another project without actually sharing code. This can only be efficient if there are many people out there doing similar, but parallel work.
If developers were to gather around a few major projects, like some members of the Linux community would suggest, these kinds of innovations would be much less frequent. The same is true for Linux distributions and any other kind of applications.
Making something new is always commendable, but most of the work on Linux is done by forking existing projects, taking the source code, and making your own stuff, which, most of the time, is just slightly different from the original.
Forking is good and it's the core of open source. Anyone can do what they want with the source code and this is one of the driving forces in Linux. You don't like the pace of a developer with a certain project or you can't get your patch in upstream, fork the software and do it your way. The fact that nothing is stopping developers from doing what they please should be considered a strength, not a weakness.
So, whenever you see a new project, either an OS or something else, be glad it's there. You can never know beforehand if those developers won't stumble upon some great feature that might end up in all other operating systems in one year’s time.