{"id":5549,"date":"2014-02-20T18:40:18","date_gmt":"2014-02-20T23:40:18","guid":{"rendered":"http:\/\/www.opensource.im\/?p=5549"},"modified":"2014-02-20T18:40:18","modified_gmt":"2014-02-20T23:40:18","slug":"facebook-boosts-its-open-source-mojo-with-new-project","status":"publish","type":"post","link":"https:\/\/euvolution.com\/open-source-convergence\/open-source-software\/facebook-boosts-its-open-source-mojo-with-new-project.php","title":{"rendered":"Facebook Boosts Its Open Source Mojo With New Project"},"content":{"rendered":"<p><p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p>    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.  <\/p>\n<p><!-- Auto Generated --><\/p>\n<p>Read the original post:<br \/>\n<a target=\"_blank\" href=\"http:\/\/feeds.wired.com\/c\/35185\/f\/661370\/s\/375966de\/sc\/5\/l\/0L0Swired0N0Cwiredenterprise0C20A140C0A20Cfbthrift0C\/story01.htm\" title=\"Facebook Boosts Its Open Source Mojo With New Project\">Facebook Boosts Its Open Source Mojo With New Project<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> 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<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-5549","post","type-post","status-publish","format-standard","hentry","category-open-source-software"],"_links":{"self":[{"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/posts\/5549"}],"collection":[{"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/comments?post=5549"}],"version-history":[{"count":0,"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/posts\/5549\/revisions"}],"wp:attachment":[{"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/media?parent=5549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/categories?post=5549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/euvolution.com\/open-source-convergence\/wp-json\/wp\/v2\/tags?post=5549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}