Facebook Boosts Its Open Source Mojo With New Project

Facebook looks and feels like a single application, like Microsoft Word or Adobe Photoshop. But behind the scenes, in the companys data centers, youll find that the worlds most popular social network is really a multitude of different applications working in concert.

Facebook engineers build these applications using a wide range of programming languages, picking a language that matches the requirements of each project. That helps them fashion more efficient software, but it creates new challenges when it comes time to meld all these tools together, to ensure they can all communicate. To solve this issue, Facebook built a tool called Thrift, a means of managing communications between all its various applications.

The social networking giant released Thrift as an open source project back in 2007, and its now used by several other web outfits, ranging from Twitter to Evernote to Last.fm. Its a prime example of how open source software has helped bootstrap an entire generation of web services. Most of the leading web companies now share important parts of their underlying infrastructure in any effort to improve the way they work and speed the development of the web as a whole.

Most of the leading web companies now share important parts of their underlying infrastructure in any effort to improve the way they work and speed the development of the web as a whole.

But since 2007 Facebook has moved on from the original version of Thrift, creating a new version of Thrift better suited to its current needs. Today, Facebook released that new version as an open source project called fbthrift.

By open sourcing the software, Facebook is once again allowing other to fashion new services using its secret sauce. Over the years, the company has open sourced myriad projects, ranging from its data center designs to the tools it uses to handle security on Android. But fbthrift is a little different in that it could help Facebook open source a wide range of other tools that are still locked inside the company, says Facebook engineering manager Blake Matheny.

For example, the companys Hip Hop Virtual Machine (HHVM) which translates code written in the PHP programming language into machine code requires fbthrift to work correctly. In order to open source HHVM, the team had to create a slightly different version that didnt need fbthrift. That means the company is maintaining two separate versions of the software, an open source version and an internal version. Now that fbthrift is open source, the team will be able to maintain just one version. Matheny says there are other projects at Facebook that havent been open sourced at all yet because of this limitation.

But why create a whole new version of Thrift, instead of simply improving the existing open source project? Matheny says that once Facebook committed Thrift to the Apache Foundation an independent organization that manages open source software the company no longer had sole control over the software. That meant that it took longer to approve new changes. The implementation we originally shipped didnt meet our needs, he says We needed a way to iterate quickly and find the right way to solve these problems.

And since Thrift had become so popular, it wasnt clear that all the changes that Facebook wanted to make would actually work for other users. fbthrift is optimized for a high throughput environment that might not be appropriate for everyone who us using apache thrift, he explains. Still, Matheny says he does hope that many of the changes Facebook made to fbthrift will find their way into the original version eventually: We still have a few people at Facebook who are part of the Apache thrift team.

The newly open sourced tool may or may not have an effect on the larger world. But the point is that it at least has a chance to.

Read the original post:
Facebook Boosts Its Open Source Mojo With New Project

Related Posts
This entry was posted in $1$s. Bookmark the permalink.