The end of a dream?

We read in the press that Canonical has pulled out of the dream of “convergence”. With that the current support for a whole family of related projects dies.

That doesn’t mean that the dream has to die, but it does mean changes.

I hope the dream doesn’t die, because Canonical has done a lot of the “heavy lifting” – the foundations are laid, the walls are up, we have windows, plumbing and power. But we’re lacking the paintwork and there’s no buyer.

My expertise is developing working software and I’m going to donate some of that to the dream.

Stable Intermediate Forms is an important principle – keep things working while making changes. If you throw away a large chunk intending to replace it you’ll find re-integration really, really hard. Do things gradually!

So, don’t simply fork Unity8 and plan to get it working on Wayland. You’ll end up with a single wall that falls over before you’ve replaced the rest of the building. (Sorry, I went back to “metaphor”.)

Take the whole infrastructure etc. and keep it in place until any replacements are demonstrably ready.

The Elephant in the room

Many have issues with the way Mir has been presented to the community, but in the opinion of the developers it is a good piece of software and not inherently incompatible with Wayland. (Just look at what the developers have written about it especially the early posts that addressed this directly.)

There are two plausible evolutions of the dream that reconcile Mir with Wayland.

Plan 1: (my recommendation) Add support to libmirserver for Wayland clients in parallel to the existing protocol. Once this is working this either junk libmirclient or rework its interaction with libmirserver.

Plan 2: Implement an analog of QtMir/MirAL on your choice of Wayland server. Then transition Unity8 to these and junk Mir.

I can’t guarantee that my recommendation of “plan 1” isn’t biased by my history with the Mir project, clearly I know its potential better than that of competing projects and I would find developing these easier than someone new to the code. In then end, the choice will depend on who takes on the work and what they can achieve most effectively.

14 thoughts on “The end of a dream?”

  1. “My expertise is developing working software and I’m going to donate some of that to the dream.”
    Alan, I do hope that you have success. Too much good work has gone into this project to let it disappear. You have a pragmatic approach, and I wish all the best. If there is a Unity 8 Flavour of Ubuntu, I for one will be using that.

  2. Unity has raised the bar so much, I am incredibly grateful to anyone who tries to keep that in place as the alternatives are pretty weak in my opinion. Good luck and thank you.

  3. Plan 2 would allow the 2 sides (Unity 8 and a Wayland server) to work much without modifications. I would also guess that is easier than plan 1? Anyway I understand the point of plan 1. Mir is a fine piece of tech that can be preserved by being modified such as to support the more widespread Wayland protocol.

    Lets not forget, however, Unity 7. A lot of people love this environment and would like to use it in the years to come.

    1. Unity 7 has practically no future. Either choice of Mir or Wayland means Compiz becomes a technical burden.

      1. The role Compiz performs is entirely an artifact of the X11 stack. It would not be meaningful to reimplement it. As Unity7 is a “plug-in” to Compiz and is also heavily based on X11, it needs a total rewrite to work on anything else.

  4. I don’t know the specifics, nor am I familiar with U8’s codebase, but shouldn’t it be fairly straightforward to get it to run using Wayland as QML is already supported via QtWayland instead of maintaining a separate display server project?

    1. No. Unity8 is a dependent on a lot of things that are not “pure QML”. It is possible (as outlined in the blogpost) but not straightforward.

  5. Take it from a different perspective adding libwayland client support (which means not only using libwayland as a protocol generator but also actually supporting the various groups of protocols that have been spawned in weston kde enlightenment and gnome individually) to mir would make it into a unifying compositor library capable of working well with gnome and kde applications. On top of that you keep the possibility to run unity8 as session compositor that is mediated via a system compositor. Which would allow interesting multi user / multi session scenarios..

    1. A new detail has emerged of which projects from the Unity8 ecosystem Canonical is dropping. It seems that Mir will continue to “receive investment” for use on the Internet of Things.

      That has implications for any attempt to keep the “convergence” dream going. I fully understand that people keeping the dream alive don’t want to take on support for more than they need, and Mir is a substantial piece of code. That makes dropping Mir for (say) Mutter an attractive long term option but it does have a high initial cost to implement the features Unity8 relies on.

      However, with Canonical continuing to support Mir, adding support for Wayland clients would substantially less work than replacing that part of the stack.

  6. I wish you the best of luck here I’m a big fan of Unity 7 and Unity 8.

    I do not understand why people assume switching to wayland is non-trivial. This seems like putting a helicopter propeller on to the front of a biplane. I would be interested to know, from any former Unity 8 developer, what they would recommend for possible Unity 8 survival.

  7. > there’s no buyer

    Please, do you seriously believe this nonsense? Look at https://maruos.com/ and the speed at which they’ve picked up contributors. The problem is not the lack of buyer, the problem is that you’ve failed to deliver anything worth buying – despite the years of work and enormous resources at your disposal.

    One guy, holy crap, one single dude – managed to make a working prototype faster, than entire team at Canonical. And I’m afraid that he’s not genius – it’s Canonical who’s mediocre in comparison.

    1. I agree that MaruOS is much better than Ubuntu Touch, because it combines a great desktop OS (Debian) and great mobile OS (Android). While Canonical decided to build a half baked desktop and mobile OS from scratch for the past 4 years.
      Nobody is shipping MaruOS, though. Convergence just isn’t compelling. Samsung took Remix OS and worked with Microsoft to make MS Office on Android more desktop friendly, still hardly anybody will bother to carry around docks with their phones.

      1. > Nobody is shipping MaruOS, though

        They just recently expanded from 1-man project. I’m pretty sure they would have been shipping already if only they had half the resources and time Canonical wasted one shipping half-baked junk.

        > hardly anybody will bother to carry around docks with their phones

        Sure, just like docs for laptops are rarely carried around. Yet, they are actively used and it’s sizable market.

        The point is – any claim about “no market”, “nobody buying it” etc. are just silly attempts at hiding obvious failures. The opportunity is still there, the market is there, the tech is there – the only obstacle (that’s my conjecture of course) is self-absorbed management which failed to use it. Big time.

Comments are closed.