At the Open Source in Mobile (OSiM) conference in Berlin, many of the keynote speakers and technical presenters have cited platform fragmentation as the most significant problem faced by Linux adopters in the mobile industry. OpenMoko CEO Sean Moss-Pultz, the lone voice of dissent, challenged the conventional wisdom and argued that the diversity of the Linux ecosystem empowers users and is the key to unlocking the true potential of software freedom on mobile devices.

The growing multitude of disparate Linux-based mobile platforms with competing APIs and different userspace infrastructure make the mobile Linux landscape difficult to navigate. Fragmentation raises portability challenges and prevents developers from using a consistent set of tools across all platforms. A lot of code has to be rewritten and tailored to individual devices.

Fragmentation and diversity

Although developers and integrators pay a high price for fragmentation, the diversity it implies offers some unique advantages and some compelling opportunities for innovation. Reinventing parts of the stack and creating forks allows developers to engage in radical experimentation and try new approaches without having to work within existing constraints. Diversity also brings freedom of choice to end users and allows them to find solutions that are more narrowly tailored to their needs and requirements.

During his presentation, Moss-Pultz looked back at the successes and challenges encountered by the OpenMoko community in the past year and talked about how the project's adaptability and commitment to freedom have contributed to its current status.

Although the OpenMoko concept was initially met with enormous skepticism, it has achieved success and is now generating profit. The company's first handset, the Neo1973, was manufactured in limited quantity and sold out completely within the first three days after it launched. Demand for the product was unexpectedly high, and Moss-Pultz humorously remarked that it probably would have sold out faster if the servers had been able to better withstand the massive traffic.

The latest OpenMoko product, which is called the Freerunner, is selling well and has gained a loyal following among hardcore Linux enthusiasts. Moss-Pultz acknowledges that OpenMoko's developer-oriented product targets a niche market, but he doesn't see that as a problem. OpenMoko doesn't aspire to dominate the market, but instead hopes to leverage its agility and small size to innovate and take mobile phone technology in a new direction.

Moss-Pultz says that OpenMoko strives to be like an independent film rather than a Hollywood blockbuster. The project's ability to generate real profits demonstrates that there is a lot of value in making a product that resonates with a small but devoted audience.

Developer-friendly changes

He also talked about some of the changes that they have made in the stack and some of the areas where experimentation has paid off and illuminated new ways to tackle some of the challenges of mobile development. One example that I found particularly compelling is OpenMoko's adoption of the Python programming language.

When the OpenMoko developers hit some roadblocks with their GSM daemon which was written in roughly 6,000 lines of C code, they wrote a replacement from scratch with Python, Moss-Pultz told us. The new Python version, which is only a few hundred lines of code, is more robust and maintainable than the C version. Although this is an area where most developers would never even consider using Python, it proved to be a truly excellent solution.

OpenMoko's unique approach to mobile development has fostered innovation in other ways, too. Following the release of the handset CAD files under an open license, third-party developers made some really inventive remixes and explored other designs. Inspired by the success of the open design initiative, OpenMoko has recently released the complete schematics of its latest product. Moss-Pultz says that he has observed a noticeable spike in code contributions after the schematics were made available.

When we took an early look at OpenMoko earlier this year, we examined three of the project's distinctly different software stacks and argued that the project's success would be predicated on the capacity of the users and developers to turn diversity into an asset instead of an impediment. Although the OpenMoko handset has not gained mass-market traction or an ideally smooth user experience, it has succeeded in delivering very real value to end users who appreciate flexibility and the ability to study and repurpose components of the platform. It has also provided a fertile ground for innovation by lowering the barriers for experimenting with mobile development.

The OpenMoko community has enthusiastically embraced this aspect of the project's identity. Instead of trying to force participants to converge on a single stack, the developers have continued to broadly enable experimentation and encourage the development of additional parallel stacks.

"The power of open source is the fragmentation," Moss-Pultz told the audience. "It's really where openness comes through the most."

Some critics have condemned the OpenMoko FreeRunner because it fails to provide the same kind of user experience as the iPhone. I think that such criticism reflects a fundamental misunderstanding of the OpenMoko project and, more generally, a very narrow view of the highly diverse mobile market.

The OpenMoko developers have courageously defined their own parameters for what makes a phone valuable to users. While most of the industry is deluding itself with the futile and obsessive struggle to create iPhone clones, OpenMoko has found success and delivered real innovation in its little corner of the open-source software community by putting power and control in the hands of end users.