> So what you are saying, really, is that it's okay to have 5 different ways of playing audio on the machine?

Absolutely. Just like we have numerous alternatives from the kernel and up (whether different patch-sets against mainline Linux, and entirely different open source "Unixy" kernels). Including different C library alternatives; a ton of different shells; a ton of non-X based display servers; a ton of browsers, UI toolkits etc.

They are all there because someone wanted something not available to them in the other alternatives and chose to invest their time and/or money to make it happen. How is that not okay? We're not forced to use their contributions - numerous solutions have "died" or been confined to obscurity over the years because they never caught on. Entire distributions even.

> Do we need three different display servers/ways to show things on screen? No, we do not.

We already have far more. Some are mostly dead, like GGI, Y Window System, Berlin/Fresco, NeWS and many more. Some are used in (often very) niche areas, like NanoGUI/MicroWindows (a tiny embedded display server with dual API's - one somewhat X compatible and one more Window-ish) and DirectFB. Some low level, such as direct framebuffer access. Some are abstraction layers, like SDL.

Many of these overlap in that they can use one or the other as a backend to display on.

The point is: Users pick the winners, and the vast majority of development effort for everyone else goes into "just" supporting a small number of the "winners" - the other ones are "on their own".

And this is why Mir vs. Wayland at this point is largely academic: Users will pick a winner. If Mir does not offer advantages but causes disadvantages, Canonical will either lose users or change course. Time will settle this, and there's no reason to worry about it.

> If we managed to focus our efforts on one project to display things, one project to play audio, and so on, we would not need wrappers that are able to handle 5 different servers, and perhaps we could spend some energy improving a lot of other things that are broken.

The flaw with this argument is that it assumes that what one group wants matches what everyone else wants.

This is not a company with a single goal, but thousands on thousands of individuals, companies and groups with divergent goal. We consist of people who want Linux to run on tiny embedded devices (I've worked on some), some with no UI, who would be best suited if all the effort on audio and video was invested in shrinking kernel size instead; we consist of people who want Linux running better across giant NUMA clusters of thousands of CPU's; we consist of people who want Linux running better on phones and touch devices with tiny screens; we consist of people that want a great desktop; and people who think the idea of a Linux desktop is pointless.

Furthermore, we only "see" these battles because they happen within "our" sphere of interest. What about the numerous (and we're talking dozens) of other open source OS's? Some with userbases in the single digits (e.g. consider our hellbanned "friend" TempleOS with his amazing dedication to his own OS). Nobody reasonably expects them to all put down their work and "focus". I've submitted patches to AROS for example (an AmigaOS like OS). One might have asked why I did not "focus" on some important Linux system instead. The answer of course is that it was my time to spend, and my goal with spending it on AROS would not be met by spending it on something else.

> Besides wanting to control the market or something, why does Canonical need Mir? Why do we need it?

A number of people do believe their technical differences are sufficient to merit the difference. But control might very well be it, and it is often a good one, and it's worth reminding everyone that "political reasons" are often behind major splits in the open source community, but the results are often very different from expected.

E.g. GNOME started largely because of issues with Qt licensing, but the licensing issues are now moot, but the projects have taken wildly divergent paths in some areas (and agreed on common standards in many others). While the original reason was annoying, in the end, I for one is still happy we have GNOME as a result as I still don't like the feel of KDE (purely subjective; I'm sure it's fine for those who use it).

What is GCC today was once EGCS - a fork that split off from mainline GCC because the GCC maintainers were too slow to accept patches. Eventually the fork was resolved when EGCS in effect became the official, blessed version.

Clang is another example of something that at least got major backing (from Apple) largely on the basis of licensing: They don't want to upgrade to a GCC version covered by GPLv3. While many object to their rather obvious reason (given their choice not to upgrade software that have relicensed), we're better off for having the competition.

Even the X.org X server is the result of "politics" with the XFree86 team. At the time one could have easily argued that it was unnecessary, but it gave us a new wave of innovation within X, many changes which are part of the inspiration for Wayland (and thus Mir too).

> Choice is good, but I believe that if we keep making a new "Y" every time we disagree with someone we will just end up a even more fragmented community than we are now, moving in no direction.

Keep in mind that "moving in no direction" is far better for many of us than moving in the wrong direction. If you don't agree with the decisions behind Wayland, countering it by supporting Mir may be preferable to letting Wayland win by default.

> I guess until the community manages to communicate, linux will remain mostly used on servers and by interested parties that want to configure everything.

That'd be perfectly fine, but keep in mind that Linux grew as big as it did on the server side exactly because everyone are able to do their own thing, and the stuff that "sticks" or that everyone can agree on tends to eventually become part of mainline. As a result of that openness, Linux can run in some form or other (sometimes with extensive patches, sure) on everything from a non-MMU x86 (in the form of ELKS) via smartphones and tiny embedded platforms, to massive single-image supercomputers or multi-image supercomputers/clusters.

And on the "desktop", Linux is finally making inroads underpinning Android, ChromeOS, and yes, "desktop" distributions like Ubuntu that are seeing the occasional massive organisational roll out as well as slowly making inroads in the "normal" desktop market.

I'm not too concerned about desktop Linux becoming mainstream. We're already at a stage where for many users distributions like Ubuntu are far less painful than e.g. Windows (my printers, for example, are supported by Ubuntu out of the box, but require a driver download of tens of MB full of crap we don't want for Windows), and where many users have multiple computers running Linux without even realising. E.g. I have Linux on my fileserver (and most turnkey NAS boxes today tend to run Linux), my wifi router, my phones (Android), tablet (Android), my TV streaming boxes (an old WDTV Live running a MIPS version of Linux as well as an Android "TV stick") and more.

Linux in some form or another is likely already on more consumer devices than Windows will ever be on. That it hasn't taken over the desktop market (so far, anyway) matters less and less, as it's making sufficient inroads to address what used to be the major pain point: Lack of driver support from reluctant or outright hostile hardware manufacturers. That is what matters to me. Of course others will have other concerns. And some of them will donate their time, and/or money, to projects that in some cases will take Linux in totally different directions than what I'd like to see. That's cool too.