Hacker News new | ask | show | jobs
by midoridensha 1293 days ago
This is one of the big problems with so much open-source/Free software: there's a lot of fragmentation, and competition between projects reduces mindshare and developer resources (which were already scarce). So as a result, these projects never become all that popular.

There's a few counter-examples of truly exemplary FOSS software that achieved a dominant position and managed to avoid too much fragmentation so that they became largely adopted: the Linux kernel, PostgreSQL, X.org, etc. But for many others, too many wars have really caused the whole Linux-on-the-desktop dream to not be achieved to the level people hoped. GIMP is one of them, but the Gnome/KDE debacle is probably the biggest.

2 comments

It's somewhat ironic that you've included X.org in that list given (a) its history, and (b) how much time and effort has been spent in recent years on creating something to replace it.

You're right that fragmentation can be an issue - but it's often a people problem, not a technical problem: if I have strong feelings on how a particular piece of software should work, and it's made clear that the project leads disagree and any patch to implement such will be rejected, I'm not likely to invest hobby / recreational development time in any other aspect of that project. (That's not meant as a criticism of the hypothetical project leads - merely an observation that when people work on project for the enjoyment of it, rather than for a living, the bar is raised massively in terms of how much a developer needs to "believe" in the project and the direction it's taking.)

>It's somewhat ironic that you've included X.org in that list given (a) its history, and (b) how much time and effort has been spent in recent years on creating something to replace it.

There's nothing "ironic" about it at all. For many, many years, X.org was the only real display server that anyone used, after they all abandoned XFree86 for good reason. Wayland didn't come about until later, and even then, *it was made by the same people*. It was never a competing project.

>if I have strong feelings on how a particular piece of software should work, and it's made clear that the project leads disagree and any patch to implement such will be rejected

This is understandable, but frequently not the case. The KDE/Gnome fiasco, for instance, all started because of an argument about a license.

>merely an observation that when people work on project for the enjoyment of it, rather than for a living

Here again, it's frequently not the case. In the KDE/Gnome fiasco, many of the devs there were employed full-time by companies like RedHat to work on it. So it was really political.

You say that as if people would be working on the same project otherwise. Guaranteed if they aren't able to work on their competing project in the name of "solidarity", they probably wouldn't work on the other project instead. There are too many social and cultural barriers to being able to enact change in existing projects, which is why competing projects exist. People have different priorities, values, preferences, etc. You're never going to be able to unify all of that to the satisfaction of everybody involved and it would just lead to way too much strife and politics. Way less would get done.

I hate Gnome, but I know people like it. I'm happy that both KDE and Gnome exist, because it also means the people who made the decisions about Gnome's direction won't be making those same decisions about KDE.

There were no social or cultural barriers when the KDE/Gnome war started. It was entirely over a licensing issue. Other than that, the two projects were largely very similar, except that Gnome insisted on using C instead of C++ (and then replicating all of C++'s features in C). It wasn't until later that the two really diverged, with KDE having the "make it as configurable as possible" philosophy and Gnome having the "we're UI experts and know what's best for you little users" philosophy, borrowed from Apple but without the well-funded team of real UI researchers.

Anyway, even with the different philosophy towards users, that could have been done in a single project (i.e., Gnome3 can be a KDE skin), or two closely-related projects (i.e., Gnome3 is a fork of Plasma but otherwise shares the same libraries), reducing a lot of duplicated effort. Instead, we now have 6 or more different desktop environments for Linux and potential new users look at the mess and ask, "WTF?". Or they try one and hate it, and when they ask how to switch to a different one to try it out, the answer is "reformat your hard drive and install this other distro that actually cares about that DE", or "follow this list of command-line instructions and hope it doesn't break because your distro doesn't care about supporting that DE".