I've been a lover of FOSS ideals for years, dating back to when my brother first introduced me to Linux as a teenager, with Ubuntu. Ever since then I've believed that computing is for everyone, and I felt a loyalty to the Unix world as a Catholic does to their church community.
But part of me is starting to wonder if the Unix world is the the greatest waste of human effort I've ever seen. Not as opposed to Windows and Mac - I think the benefits of Unix-like operating systems over those are absolutely massive - but internally. When I look at the hundreds of Linux distributions and think of the maintainers, I wonder just how much of their time is spent solving problems that someone else already solved. And on a mostly-compatible operating system, too.
And how much time has been lost in support forums due to the community fragmentation? Most of them have their own forums, and each one usually has a forum, several mailing lists, and a bunch of other community areas.
Duplication of solutions has got to be the biggest waste of effort in the entire software world. There are hundreds of distributions, hundreds of communities that aren't able to share all their work without overhead. And I guess the plethora of programming languages is the more obvious example.
As for end user applications, like editors, WMs, and shells, those aren't as harmful. They're more exposed to the user and also don't have half the FOSS ecosystem depending on them, so personal preference is more relevant to them compared to architectural quality than it is with software that fills an architectural role, like distributions, languages, GTK/Qt/Tk, etc.
I guess the same thing is also true of tutorials. There are so many different websites that teach or document the same thing. W3Schools probably has no reason to exist when MDN exists, for example. I write tutorials too, but in my defense, I only write tutorials about things I've searched high and low for and not found a satisfying existing one. (I do find dozens of unsatisfactory ones.)
It's a sad opinion, but I genuinely think the best thing we can do for the open source world - for the world in general - is to get rid of bad open source software. Picking a good solution and trying to get people to abandon the alternatives, even if the alternatives aren't much worse objectively, is a vastly underrated way to make the world a better place.
Consolidation is better. I love user freedom and competition, but this level of wasted effort is too high. We should stop learning additional languages. Stop writing new software just because we can. Start abandoning things, picking out things that aren't markedly better than their alternatives in some significant arena and dropping them.
I don't have many ideas on which software should die. For example, Linux versus BSD has got to be the worst single example of this problem, but I'm just a lowly dev, I don't claim to be knowledgeable enough to say which is better. I am positive that if the one with the worse core design were abandoned and all its users switched to the better one, millions of hours of labor could be saved in the long-term.