Monday, June 2, 2008

Facebook Open Sources Parts of Its App Dev Platform

Facebook is releasing as open-source software parts of its application development platform in order to make it easier for programmers to create applications for the social-networking site, the company announced Monday.

Facebook will offer as open source "most" of the code that runs its platform, plus implementations of its most popular methods and tags.

This is another step in Facebook's program for external developers, which it kicked off a little over a year ago when it opened up its platform to them. Since then, about 400,000 developers have created some 24,000 applications for Facebook.

With this move, Facebook is also responding to Google's OpenSocial, an initiative to establish a standard set of common APIs (application programming interfaces) that will let developers create social-networking applications that can run with minor modifications in multiple sites.

OpenSocial is generally considered a challenge to Facebook's platform, because observers believe it could make it easier for social-networking sites to match Facebook's broad catalog of third-party applications.

Among OpenSocial's supporters are Yahoo, AOL and MySpace, Facebook's biggest competitor. In March, Yahoo, Google and MySpace formed a nonprofit foundation to promote the OpenSocial platform as a neutral, community-governed specification.

With the open-source portions of its code, Facebook expects that developers will find it easier to test and tune their applications, and create their own tools, among other things.

The Facebook Open Platform, or fbOpen, as the open-source portion of the platform is called, can be extended so developers can create their own tags and API methods, Facebook said.

The open-source portion of the platform includes the REST API, FBML parser, FQL parser, and FBJS sanitizer and proxy, Facebook said.

Most of the open-source code is being made available via the Common Public Attribution License (CPAL), while the FBML parser is governed by the Mozilla Public License (MPL).

Gartner analyst Ray Valdes calls fbOpen a good move that became necessary for Facebook to make in light of the OpenSocial challenge.

"OpenSocial is gaining enough ground and becoming more real, whereas in the past it was basically a bunch of people talking about the specification. That spec is now being implemented and deployed," Valdes said.

In addition, OpenSocial wasn't significantly open sourced, but that also has evolved to the point where it is now a real part of the open-source portfolio for social-networking applications, he said.

On a broader scale, Facebook is also reacting to the overall trend for greater interoperability, away from "walled garden" sites and embracing the open Web and data portability, Valdes said.

"Facebook needed to respond and they did. Whether what it's doing is sufficient depends on the uptake among developers and partners," Valdes said.

In addition, a possible long-term benefit for Facebook is that this open-source effort may attract more sophisticated developers who are able to create more substantial applications than the typically lightweight widget-like Facebook applications, Valdes said. In particular, Facebook could benefit from developers who create enterprise applications for specific vertical industries, he said.

Ami Vora, senior platform manager at Facebook, said that this move isn't a competitive reaction. Facebook has been tossing around the idea of open sourcing a large subset of its platform since its opening a year ago, Vora said. "This is a release for developers and by developers," Vora said. "The goal is to make developers' lives easier."

Developers have been asking Facebook for more tools and resources. "We thought a good way to do that would be to give them the platform itself so that they can understand how it is put together," Vora said.

By downloading the open-source code, developers get a working subset of the platform on which all Facebook applications run, she said. Now, developers will be able to run and test applications in the Facebook platform but on their own local servers, which should make the process quicker, save on bandwidth and provide more stability in their own controlled environment, she said.

Facebook chose to open source most of the platform code under CPAL because it is based on the MPL, but extends it by stating that contributions and enhancements must be shared even if applications are delivered via a network, like the Web, Vora said.

Thus, Facebook expects that by choosing CPAL, it will foster more sharing of improvements and additions among developers. "We think this is a very appropriate license," she said.

Gartner's Valdes concurred, saying that CPAL should ensure that improvements made to the open-source platform code flow back into the community and aren't kept hostage for competitive purposes by individual players. "It's a very good move on Facebook's part," Valdes said.

No comments: