Intel, Nokia aim to unify mobile Linux ecosystem with MeeGo

Intel and Nokia are combining their mobile Linux technologies to create a new …

Intel and Nokia are teaming up to tame mobile Linux fragmentation. During a presentation today at Mobile World Congress, the companies announced that they are bringing together their respective Linux-based operating systems under a single banner. The combined platform, called MeeGo, supports multiple architectures and will be suitable for use across a wide range of mobile and embedded form factors, including netbooks and smartphones.

Nokia's Maemo platform evolved from the company's experiments with handheld tablet computing. It has shipped on all of the company's Internet tablets as well as the N900, a high-end smartphone that Nokia launched last year. Intel's Moblin platform, which is principally designed for netbooks, is backed by a number of prominent Linux distributors and hardware vendors. Although there are a number of significant technical differences between the two platforms, they have a lot in common.

One key characteristic that Maemo and Moblin share is that they are both closely aligned with the conventional desktop Linux stack. This is because Nokia and Intel approach open source software development in much the same way. They are both philosophically inclined to collaborate with upstream projects and the existing Linux ecosystem. This is very different from the strategy that is used by Google and a number of other mobile Linux companies that are building their own insular userspace stacks on top of the Linux kernel.

Although Maemo and Moblin are built around a similar philosophy, there are a number of key technical differences that could be difficult to reconcile.

In the interest of ensuring that ties with the upstream community remain at the center of their mobile development efforts, Nokia and Intel have placed MeeGo under the stewardship of the Linux Foundation, a nonprofit organization that coordinates the efforts of major stakeholders in the Linux platform space. MeeGo's direction will be managed by an independent technical steering group with oversight from Intel and Nokia. Intel partnered with the Linux Foundation last year with the goal of advancing Moblin, so it is unsurprising that the organization will play a key role in the MeeGo effort.

Linux Foundation executive director Jim Zemlin shared his thoughts about MeeGo in a statement on his blog. He views the new converged platform as a win for consumers and a major opportunity for application developers, mobile carriers, and hardware makers. It will reduce fragmentation, he says, by bringing mobile Linux players together around a shared technology stack.

"With MeeGo you have the world's largest chip manufacturer and the world's largest mobile handset manufacturer joining forces to create an incredible opportunity for developers who want to reach millions of users with innovative technology," he wrote. "MeeGo isn't just an important project at the Linux Foundation, it is also helpful for Linux as a platform. It combines mobile development resources that were recently split in the Maemo and Moblin projects into one well-supported, well-designed project that addresses cross-platform, cross-device and cross-architecture development."

Following Apple's unveiling of the iPad earlier this month, Zemlin declared that Linux needed more "magic" in order to build a competitive user experience. He promised that the Linux Foundation had big plans and was working toward a solution. Today, he says that MeeGo is the first step toward making mobile Linux more magical.

The path to convergence

Nokia and Intel have been moving toward this point for months. Last year, they announced the beginning of a technical partnership and revealed that they were planning to collaborate on Linux development. The announcement today appears to be the culmination of that effort.

Although both companies were very quiet about their product plans when they initially announced that Linux partnership in June, Nokia has shown signs of interest in the netbook market and it became increasingly clear that Intel wanted to put Moblin on smartphones. At CES this year, Intel demonstrated an LG touchscreen smartphone built with an Atom processor and designed to run a smartphone variant of Moblin. As the scope of Maemo and Moblin grew and began to overlap, convergence became a practical option.

Resolving technical differences

Although Maemo and Moblin are built around a similar philosophy, there are a number of key technical differences that could be difficult to reconcile. The developers who are committed to the respective platforms have very strong feelings about the underlying technology, which could create some friction as the two platforms are brought together. The newly-launched MeeGo website is still short on specific details, but it answers some of the most important questions.

Nokia's Qt toolkit will be the primary application development framework for the MeeGo platform. Gtk+ and Clutter, which are used today by Moblin and Maemo 5, will be supported in MeeGo for the purpose of enabling compatibility with existing software that is built on those technologies. The emphasis on Qt will likely be viewed as controversial by some current Moblin adopters and contributors, but it is a sound decision that offers tangible benefits for the MeeGo platform.

MeeGo platform architecture

Qt is a very modern development toolkit that is well-suited for building resource-efficient native applications. It has a relatively new declarative programming framework called QML that radically accelerates the development of rich user interfaces. During my tests of QML development on the N900, I've found it to be a powerful solution for constructing touchscreen-friendly software.

A key advantage of Qt in the mobile space is its inherent portability. It is supported today across a wide range of desktop and mobile operating systems, including Windows, Linux, Mac OS X, and Symbian. This is advantageous because it creates a clean glide path for porting desktop software to mobile operating systems. Right out of the starting gate, MeeGo will benefit from the wealth of existing Qt applications. More importantly, Qt can reduce development costs for ISVs by giving them the ability to use a single code base to build native software for a variety of platforms.

Nokia's decision last year to relicense Qt under GNU's Lesser General Public License (LGPL) makes it possible for third-party application developers to build commercial software with Qt without having to pay a license fee. The toolkit is already relatively popular in the software industry and has been used by a wide range of mainstream software vendors, including Google, Adobe, and Skype. Given all of the major advantages of Qt, it seems like an ideal choice for Nokia and Intel's next-generation Linux platform.

Although I'm totally convinced that Nokia and Intel have made the right choice with their application development toolkit, I'm less enthusiastic about the choice they made for package management. In a nod to Intel's preference, they have decided to make RPM packages the standard for MeeGo. Maemo, which is a Debian derivative, uses APT as its package management system. I've always viewed Maemo's Debian-centric heritage and inclusion of APT as a major strength, one that will unfortunately not be present in the new converged platform due to the adoption of RPM. It's likely that RPM was chosen because it is the preferred package format in the Linux Standard Base specifications.

Other parts of the new MeeGo platform stack are not discussed with any specificity on the project's website, but it is clear that there will be standard components for a wide range of functionality, including communication, media, security, and hardware management. It's likely that the telephony components will leverage oFono, a joint project that Nokia and Intel have previously been working on together.

Phone freedom

Several mobile Linux vendors tout the openness of their platforms, but none of them are really fully open. OpenMoko, which retreated to other markets after failing to produce an entirely open smartphone, proved that it's exceptionally difficult to work in the open on some parts of the mobile stack, particularly 3G radio firmware.

It's unclear if MeeGo will set a new standard for openness in mobile Linux, but there are a few prominent supporters who are very optimistic about the possibility. Eben Moglen, the founder of the Software Freedom Law Center and one of the authors of the GPLv3, issued a statement today praising the MeeGo initiative.

"MeeGo brings together two projects committed to an open stack for mobile computing devices dependent on community-developed free software that respects users' rights," Moglen wrote. "This is a bold and important step towards a mobile network in which people get software made by people for people, instead of software made by companies to control people. Nokia and Intel have taken a memorable step. They and the community, if they work together, can reshape humanity's network."

MeeGo seems like a step in the right direction for phone freedom, but it's not a slam dunk. The poor manner in which Intel handled the Poulsbo mess raises a lot of very serious questions about the company's commitment to supplying open drivers for its own hardware. It's also unclear at this stage if MeeGo will be a fully-functioning open platform, or just a base for building one.

It's worth noting that adopters and other third-parties will be free to distribute proprietary software on top of MeeGo. The platform itself also does nothing to block so-called TiVo-zation, the practice among device makers of using technical measures to prevent users from installing open and modified firmware on hardware.

Although MeeGo is a modest win for software freedom, it seems unlikely that platform will be able to overcome all of the impediments that are blocking the development of fully free and open phones.

Conclusion

For end users and application developers who have been hoping for a real Linux mobile platform, MeeGo is the real deal. It will work on both ARM and Atom processors and will be able to run on phones, tablets, netbooks, and even car computers. This could have broad ramifications for the mobile industry. As a vendor-neutral platform that is endorsed by the Linux Foundation and is broadly open to third-party contributors, MeeGo has the potential to become the standard unifying base for future mobile Linux platforms.