Ubuntu has come under a decent amount of flack over the past few months, particularly over their decision to use the 'Dash Search' to return results from Amazon by default in their most recent release.

I made no suggestion it should be. My point was you could cover pretty much all areas of the Linux user base with just four DEs. That is not a monoculture, nor does it rule out the creation of purely experimental DEs for long-term research purposes, but let's not confuse those with production DEs. Neither does it eliminate vigorous competition within each of those DEs as they are free to fork in order to experiment with new ideas or modified designs. However, once those developments which have proven themselves independently and sufficiently matured to allow general adoption, they should be folded back into the main branch, a process that should be rigorously meritocratic, unhindered by individual politics or egos (a serious hindrance in the current Linux ecosystem). So I think that covers your concerns there.

You brought up dilution of developer efforts, that can be true. Things like drivers shouldn't need to be rewritten by several distros.

So drivers should be commoditized, in your opinion. You readily recognize that drivers are merely a means to an end, but then turn around and treat DEs as a special case - an end in itself. Whereas 99% users recognize that DEs are merely one more means to an end too.

This is a classic problem in the Linux world: kernel fans see the kernel as the end in itself; DE fans see the DE as the end in itself; application fans see the application as the end in itself. Whereas >99% of users understand that all of these layers are merely means to the one end that truly does matter: the ability to achieve useful work (recreational or professional).

Everything below that that is unimportant in itself: either it facilitates their goal - in which case it isn't even noticed - or it frustrates it, in which case it will be noticed for all the wrong reasons. The kernel, the shell, the applications are all reduced to commodities, at which point it becomes a question of which has the most users: because that in turn dictates which attract the most training resources, the most user support, the most transferable skills, the biggest network effect. Hence Window's near-monopoly of the desktop market, and the current rise of Android to much the same position in mobile - not because they're the best or the most ideologically pure in themselves, but because they have successfully grown the largest, most active ecosystems around themselves.

Oh, and it's not just the end users who benefit either: the application developers benefit because they only have to target one or two platforms, so can devote more of their resources to improving their own products instead. Look at the range and quality of applications available for Linux and compare to Mac or Windows, and tell me that the plethora of DEs and distros is doing them any favors. Remember: Means to an end. Means to an end.

There are so many open source developers that we are already well beyond the point of diminishing returns

I think you greatly overestimate the number of OSS developers who do the vast majority of the work on major projects (i.e. core contributors), versus the number of OSS developers who are merely users of those products. This is not to say the latter do not provide useful contribution in the form of isolated bug reports/patches or user-to-user support, but that is still not the same as building core infrastructure in the first place. And, don't forget, the more projects exist, the thinner those folks' contributions will also be spread.

You are quite right that 1000 core developers in a project will not achieve 10 times the work of 100 core developers. However, the real problem here is that the Linux world has quite forgotten the philosophy of the original Unix creators: to create many small, independent, focused components that can be freely combined to form larger systems. Hence the vast, sprawling monolithic designs of DEs and desktop applications which prevent them from effectively employing more than a fraction of OSS developers even if they want to.

MS and Apple can afford to brute-force giant monolithic solutions that are "good enough" within a reasonable timescale, because they have the commercial resources to build and sell such products. The Linux world, from looking at everything from drivers to X to DEs to Open Office, clearly cannot afford the same indulgence. The only way Linux will ever get ahead as a widespread user-facing system, rather than a boutique techie-only platform - is if they stop trying to play the game by MS/Apple/Google rules, which means lots of small, agile components that are fast and cheap to create and support and play really well together (IOW, the embodiment of Unix Philosophy).

But let's face it: as it stands the Linux community cannot even marshal their existing resources into one or two focused goals, such as winnowing down their plethora of DEs to a more application developer-, distributor- and user-friendly headcount. So what are the chances of them ever evolving any of those behemoths into an adaptable, devolved, cooperative architecture that enables users and groups to tackle individual problems of particular interest to them without forcing them to wade through bureaucracy or reinvent wheels just to get to the starting point?

...

So, apologies for length (I'm out of time for further editing), but as a relative outsider I think these points bear making as there are certain parts of the Linux mentality which are something of a monoculture themselves.

"My point was you could cover pretty much all areas of the Linux user base with just four DEs. That is not a monoculture, nor does it rule out the creation of purely experimental DEs for long-term research purposes, but let's not confuse those with production DEs."

Topping out at four rules out indy participation, which is (very) bad. Knoppix came about as a specialized debian distro. I highlight it as an example because although debian is a great distro, it shows how someone else can remix it into something more useful in it's own specialized way. The distro specialization goes further than this but I think you get the idea; Why discourage independent distros just because an arbitrary number of four already exists?

"So drivers should be commoditized, in your opinion. You readily recognize that drivers are merely a means to an end, but then turn around and treat DEs as a special case - an end in itself. Whereas 99% users recognize that DEs are merely one more means to an end too."

That's not exactly my opinion. Technically drivers are shared because they are part of the linux kernel, which is often shared itself. Hypothetically though if a distro wanted to differentiate itself somehow with specialized drivers (I have no idea what this would be, it's hypothetical), then I wouldn't have a problem with it. Other distros could always merge their drivers if there were merit in doing so.

"I think you greatly overestimate the number of OSS developers who do the vast majority of the work on major projects (i.e. core contributors), versus the number of OSS developers who are merely users of those products."

I haven't really estimated the ideal number of developers per distro. Someone with more project management experience could chime in, however just recently there was an article about how it took two developers to build the distro used by raspberry pie. They were undoubtedly exceptional developers, but it still shows how much work can be done in small teams.

"But let's face it: as it stands the Linux community cannot even marshal their existing resources into one or two focused goals, such as winnowing down their plethora of DEs to a more application developer-, distributor- and user-friendly headcount."

The alternative is what, design by committee? Who gets to decide what's best for everyone? Realistically what do you tell others who want to do it their own way? These are things you'd have to answer.

"as a relative outsider I think these points bear making as there are certain parts of the Linux mentality which are something of a monoculture themselves."

Well, I'd like to welcome outsider ideas, and to the extent that we can work better together, we should. But alas I think you go too far in asking us to put alternative distros on the chopping block. That is a bit of a slap in the face to those who find value in them and I have to disagree with you that their existence is a huge problem.

Well, I'd like to welcome outsider ideas, and to the extent that we can work better together, we should. But alas I think you go too far in asking us to put alternative distros on the chopping block. That is a bit of a slap in the face to those who find value in them and I have to disagree with you that their existence is a huge problem.

The existence of many dozens of small, overlapping DEs/distros is a problem, because there is more to achieving mass adoption than merely having a nice bit of tech. The bigger the market you want, the more that other less-technical factors such as public image and user confidence matter. And it's hard to project a strong, clear public image or convince users that a platform chosen today will be vigorous and strong some years from now when all you've got to show is random rabble of many small projects, no two pulling in a common direction.

That's fine if your only ever goal is to create fun toys for yourselves to play with (for there's absolutely nothing wrong with play itself), but it does pretty much rule out ever building a stable, standard platform that can grow a large, rich, permanent ecosystem all around it. And don't tell me that none of the Linux DEs and associated distros don't secretly dream of being The One That Makes It BIG, because I won't believe you.

So maybe "slaps in the face" is exactly what the desktop Linux world needs? As any good gardener will tell you: the way to achieve big, strong, healthy plants from an original seeding is to wait till they sprout, then pull all their weaker ones with a vengeance.