April 10, 2006

Nokia's journey with Maemo, 770, and open source

Author: Nathan Willis

Nokia is "product" company, product manager Ari Jaaksi told listeners at LinuxWorld last week; it never publicly released the source code to anything before. Yet in conjunction with the launch of its 770 Internet tablet, Nokia has started an open source application platform, dedicated programmers to existing open source projects, sponsored developers already working on open source, and expended resources to promote open source software.

The 770 launched in November to positive response. A phone-format product may come further down the line -- the company is open to wherever the platform goes -- but it is not a near-term concern. Everyone expects the 770 to be a phone because that's what Nokia makes, Jaaksi says, but the company is interested in building a platform. In some respects it is simpler to launch a new product than to shift an existing one to a new platform, he says, and the heavily regulated and licensed cell phone market is doubly tricky.

Within its research center, Nokia has ported the Linux kernel to all of its hardware for some time, "just for kicks," says Jaaksi. But the decision was made just under two years ago to stop toying around and finally make an actual product. Nokia settled on the Web pad form factor in order to have something complementary to the cell phone, but that didn't duplicate any of its functionality. Responding to an audience question on the matter, Jaaksi explained that the PDA -- similar in size to the 770 -- is a phenomenon almost solely limited to the United States. Instead, smart phones dominate the calendar and PIM landscape overseas.

Nokia elected to adopt a completely open development model: no forking of existing projects, no reinventing the wheel. Where possible, integrate existing open source code, and where necessary, sponsor development. The resulting Maemo platform is GNOME-based, running X, GTK+, and other so-called "desktop" level tools and libraries; far closer to a PC than an embedded device.

Nokia has sponsored developers working on the OMAP kernel, GTK, GNOME-VFS, D-BUS, GStreamer, OBEX, and more. It hired its own programmers to work on the missing pieces: the Maemo interface, the Hildon application framework, the Scratchbox cross-compiler toolkit -- all of which are LGPLed. History teaches that companies that release code without dedicating personnel to support it, track bugs, and interact with outside developers end up with nothing to show for their investment, so Nokia created and maintains a project site with mailing lists, bug tracking, wiki, developer documentation, and more. After the talk, I asked Jaaksi how many people were dedicated to running the site. He replied that rather than forming a special unit, everyone working on the 770 is equally involved -- answering questions, testing, and examining bug reports.

Nokia provides a test environment for PCs, flash tools, root filesystem, and more for application developers. A long list of outside applications has already grown around the platform, including the first commercial product. Nokia foresaw some uses and has placed them on the roadmap. Others -- such as ebooks -- were a surprise. "[Ebooks are] a big deal already," Jaaksi said, "although it is very difficult to find anything interesting to read. Most of the content has DRM on it, and there is no DRM on [the 770]."

The benefits of open source, as seen by Nokia

Some of the benefits of open source to Nokia are obvious -- shared maintenance costs, good quality code, the availability of integrated subsystems already built for Linux. Others were more surprising, Jaaksi says. It is much easier to build a new product on an open platform, he says.

Licensing, contract negotiation, and the "tedious" legal details for commercial components often take six to 12 months to work out. With open source software, all of those issues, especially intellectual property and copyright ownership, are clearly spelled out and public, because the licenser has thought about them and made decisions in advance.

Furthermore, the prior work and credentials are easier to study and verify for an open source contractor -- which is important since, as Jaaksi put it, all commercial developers tell you the same things when you shop for a subcontractor. And accessing developers directly (not through multiple layers of management) simplifies and speeds up product development, as does the ability to openly and plainly discuss the roadmap and bugs without having all comments vetted by lawyers.

Last but not least, when everything goes wrong -- and it does, Jaaksi says -- you can always just take the code as-is and hand it off to someone new to fix it, something almost never possible with closed-source contractors.

A matter of time: open source and its place in the future

Finally, Jaaksi addressed the impact that open source will have in the future of the market. Right now, as pleased as Nokia is with its efforts on the Maemo platform, it must live with mixed open and closed source environments. Nokia can do nothing about other companies' desire to keep their own code closed, but as a product company, Nokia has to find a way to put it on their devices. How do you do that and at the same time honor your obligations under the GPL? It will be interesting to see as we go forward, Jaaksi says.

Jaaksi recounts asking Linus Torvalds if he thought Nokia was doing a good job. "Are we open enough?" he asked. "Are you worried?" Torvalds replied that he did not really care at present. "You make a software strategy, then Panasonic comes along afterwards and makes their own version ... a little bit better, and a little bit more open. Then you respond the same way, a little bit more open, and so on."

"I can't emphasize how big a change this is for a company like Nokia," Jaaksi concluded. "This is a different way to create products."

Click Here!