The assortment of frameworks is collectively called Folly, the Facebook Open Source Library. Its individual components support a diverse spectrum of capabilities, ranging from general-purpose programming functionality to more specialized pieces that are designed to help developers wring extra performance out of complex applications.
Among many other things, the Folly libraries simplify concurrency, string formatting, JSON manipulation, benchmarking, and iterating over collections. They also offer optimized drop-in replacements for several C++ standard library classes, including std::string.
As I learned when I visited Facebook’s headquarters earlier this year, open source software is an important part of Facebook’s infrastructure and development culture. The company contributes to a number of major projects such as Hadoop and memcached. It has also released some key pieces of its internal software stack, such as the Cassandra database server and Thrift RPC framework.
Releasing the company’s internal C++ libraries will make it easier to share additional software that depends on this code. Although the desire to get some critical Facebook dependencies out in the open is the primary motivation, the Folly code itself is also likely going to be useful for a number of C++ developers.