What's next on Facebook's mobile agenda: Open source

After spending the last 18 months retooling Facebook as a "mobile company," the next front is pushing those developments to the open source community.
Written by Rachel King, Contributor

MENLO PARK, CALIF.---If there were two themes that could sum up Facebook's public product agenda over the least year, they would be open source and mobile.

Naturally, there is room for overlap here, which was the subject of an engineering whiteboard discussion at the social network's global headquarters in Menlo Park, Calif. on Wednesday.

James Pearce from Facebook's Open Source team suggested to the press in attendance that Facebook's motivation could be described as "enlightened benevolence," meaning sharing "what we're working on with the world of developers."

Pearce cited also cited CEO Mark Zuckerberg's previous rhetoric about building a global knowledge economy through social networking, reasserting that open source technology and commnities are part of that.

After spending the last 18 months retooling Facebook as a "mobile company," Pearce revealed that the next front is pushing those developments to the open source community.

Christian Legnitto, manager of the mobile release team at Facebook, cited the company's most recent SEC filings, which noted that Facebook has already experienced 874 million monthly active users and 507 million daily active users to-date.

"This means that Facebook is mobile. But it also means that mobile is Facebook," Legnitto boasted, theorizing that the growth of either depends on a now-symbiotic relationship.

To emphasize the internal shift, Legnitto said that when the messages team develops a new feature, it needs to be ready for desktop as well as iOS and Android so that Facebook is no longer playing a game of catch up.

"Facebook really wants to ship. We want to move fast and iterate," Legnitto summed up, listing off numerous open source resources that Facebook already employs. Examples include Git and Buildbot for continous integration and looking for bugs before "a human can get them."

On web, the build time is fast for engineers. But Legnitto acknowledged that writing native code and buliding the tools to support isn't simple. 

Thus, Facebook has built a number of resources in-house. One example Buck, a build tool for Android and generic Java support. The platform can build Instagram in under 20 seconds.

Another is Rebound for developing spring animations for Android and the web that seem "natural." The most obvious reflection of this for most Facebook users is Chat Heads, a tiny image representing Facebook images that can be tossed across the screen haphazardly.

"Not only do we create open source on Android. We love it," Legnitto boasted.

Of course, Facebook depends heavily on its iOS user base. Legnitto also stressed this, but he lamented that Apple-made mobile development tools are focused on invididual developers and teams up to five people or so.

"At our scale, stuff like that starts to fall down," Legnitto continued. On iOS, Facebook has built a tool dubbed Xctool, which can parallelize test runs, making them run "way faster" at Facebook's scale. 

Most of Facebook's open source projects are now out on GitHub, with others made avaialble on Bitbucket and Apache.

Legnitto stressed that Facebook is still in the early days of fleshing out its open source projects. There are roughly 90 public projects already in the portfolio with 65,000 watchers, 15,000 forks and 2,600 contributors from 56 companies.

Pearce concluded, "We're only one percent done."

Editorial standards