Saturday, January 22, 2011

Why Ubuntu Switched to Unity and Wayland

There is a major barrier to adoption of Linux on the desktop - marketing. An average customer goes to a store (real or on-line) and buys what's available. Usually this means a computer preloaded with Windows or OS X. In the rare case that a computer is being sold with Linux pre-installed, the customer has little idea what he's getting into. A couple of days later he returns the computer and feels rather cheated.

Canonical, the company behind Ubuntu, is trying to solve this problem. They are talking to computer manufacturers to ship Ubuntu on their products. However, they are faced with a unique challenge as they do so.

When Microsoft approaches a computer manufacturer (in a manner of speaking, I don't think they need to approach anyone anymore) they are able to show an OS that they have total control over. Since they have total control over their OS, they can work with the manufacturer to deliver the best possible experience for that hardware. Drivers can be bundled with Windows, software can be bundled to run with uncommon hardware such as touchscreens or fingerprint readers.

This is something Canonical cannot do with Ubuntu. They have very little control over the OS. Various parts of the Linux OS stack - kernel, X, desktop environment etc. - are created by different communities. Canonical may have little or no say in these communities. As a result, Canonical is ill posed to cater to any special demands that manufacturers may have.

No wonder then, that radical changes are coming to Ubuntu in near future. First, they ditched Gnome Shell in favor of Unity, their home grown shell for Gnome. Then, they plan to switch to Wayland, a replacement for the X server. Wayland, being a fairly new project, is idea for Canonical to infiltrate and control. These moves are clearly meant to exercise more control over Ubuntu as an OS.

Note that while I've painted Canonical in a somewhat negative light, it still is operating withing the confines of the open source philosophy. However, we all know that the word of the law might not be it's spirit. And many questions have been raised about Canonicals open source spirit in recent times.


  1. There are a few points to your argument but Canonical didn't do it to demonstrate control. Rather they did it to be in control.

    GNOME although a great being a great desktop environment has done very little in terms of design and feature development for end users. When Canonical switched from vastly superior Pidgin to GNOME Empathy it was with the expectation that GNOME would make the standard application great. It didn't happen. GNOME simply doesn't have the resources or push to make great applications on it's own. Instead it's development culture is focused on building stable irritative releases. Guess what: It Works!

    Yet, at times the GNOME community is too stable and builds too heavily around it's own principles and ideas. Canonical wanted a interface that was touch friendly as they saw the incoming tablet storm. Moreover, Canonical need zeitgeist to provide a better task/file management framework. GNOME didn't want or need these things. Thus, Canonical decided to diverge from GNOME Shell.

    The point on tablets/touch-screen interfaces is key. As many manufacturers are looking for that kind of interface right now. Most interfaces simply don't work on both touch screen devices and traditional ones. So Canonical wanted to grab this market.

    Ubuntu's decision to adopt Wayland though is simply an early announcement meant to show support for the project and generate some excitement. Already it has shown to be highly effective in generating interest in the project and encouraging additional development efforts by the broader Linux community.

    It should also be added that the switch to Wayland will likely not happen for at least a year and even then it will not be a full switch over. Shuttleworth in his original announcement stated that that would take at least 4 years to accomplish.

    In addition to this Ubuntu will not be alone in this switch. Other Linux distributions are also considering this move including Fedora which has also announced it will at some time in the future make the same move.

    As for any influence Canonical can generate on these projects: it is quite small compared to the other players. People often forget how small a player Canonical is in the Linux sphere:

    Red Hat has 3,200 employees
    Profit: 87 million in 2010

    Novell has 3,600 employees
    Profit: 212 million in 2009

    Canonical only now has over 400 employees and is only approaching profitability.

  2. A look at the workforce and profitability of Red Hat and Novell gives an idea of Canonical's achievements with Ubuntu. Far fewer employees and no profitability to date, probably goes to show how strong Canonical's bond with their developer community is. Quite an achievement.

    A move from the Gnome Shell to Unity is a risk, granted, but shows far more risk-taking than other distros. No one can fault Canonical for ambition.

    Isn't Microsoft and Apple's obsessive control of their OS (or hardware), the closed systems model, not what has turned quite a few to Linux and more open systems?

    Still unsure why a move from GNOME shell to Unity is such a big deal. I'm a fan of thinking outside the box, which Ubuntu offers here. Windows 7 is dominant percent-wise, but Microsoft's numbers are going down, the browser (IE) an indicator.

    I applaud Canonical and do think that attempts to gain control can help give Linux a common vision and direction.

  3. If you've ever used a Linux distribution other than Ubuntu, one where you've actually had to compile a shred of the software that you run, then you would know immediately that X11 is a royal pain. Not only are there upwards of 100 different packages necessary to compile and install, but the software interfaces that exist under the hood (which nobody ever notices) are archaic. Yeah, it's still fast, but it could be MUCH faster.

    Wayland is a much simpler and more efficient windowing server / compositing manager because that's all that it is. In fact, if Apple didn't buy NeXT (and eliminated all proponents of the OpenStep standard), then today's modern Linux windowing server would probably resemble Apple's, rather than xorg-server.

    The direction that the Linux desktop is moving is similar to Apple's. The desktop will probably be rendered with cairo for pixel-perfect representation (similar to Apple's PDF-based representation). 2D and 3D Hardware acceleration will then be directly accessible via the Linux kernel, rather than via 100 layers of middleware.