At its own C++ conference, which recently took place at the company's offices in Menlo Park, California, Facebook has open sourced part of its internal code. The Facebook Open Source Library (short: Folly) includes reusable C++ code developed for the social network's internal use.

The company stated that it has faced problems with open sourcing code in the past due to the fact that it often depended on other internal code that could not be released. It hopes to address this issue with the release of Folly which aims to collect the code that can be released in a reusable way. Being essentially a collection of code from several places within the Facebook infrastructure, Folly's utilities are only loosely connected and can mostly be used on their own. They include components that deal with efficient memory management, formatting of strings and in-memory manipulation of JSON objects.

The Facebook developers claim that the utilities within Folly are fast and well tested. According to Facebook, the code "runs on thousands of servers doing work on behalf of 900 million users every day." The company also claims that Folly's components are easier to use and more efficient than comparable tools from C++ libraries such as Boost or the STL (Standard Template Library).

Prior to releasing Folly, Facebook had already open sourced several other projects. These include the PHP compiler HipHop, the code generation engine Thrift, the data aggregation system Scribe and the distributed NoSQL database Cassandra.

Source code for Folly is licensed under the Apache Software Licence 2.0 and can be downloaded from GitHub.

(fab)