July 15, 2016Open Source

What's new in Facebook open source

Christine Abernathy

With more than 1.65 billion people on Facebook and more coming online every day, our engineers are hard at work making sure that our services work smoothly for everyone. Part of this work involves streamlining our processes so we can keep moving fast as we continue to scale: We build tools that enable engineers to work more easily across platforms, automate testing to catch problems sooner, and help improve the overall performance of our products.

Many of these tools are built with the intention to open source them. We know from experience that collaborating with the open source community surfaces new ideas and solutions to the challenges that we face. To this end, we are continuing to build communities around the projects we open source to ensure that they continue to grow and thrive.

One of the ways we're committed to doing this is by providing better resources for introducing our projects to new adopters. During F8 earlier this year, we open-sourced the F8 app and a series of tutorials that showed engineers step-by-step how the app was built using React Native, and how more complex features, such as integrating data and testing within the app, were incorporated using related open source tools.

Christine Abernathy, Facebook's Developer Advocate, presenting a keynote at F8 2016 about Facebook's open source program.

While continued support for the projects we've previously open-sourced is a priority this year, we're also proud to share that in the first six months of 2016 we've added 54 new projects to our portfolio. Many of the launches gained immediate traction within the community, including more than a dozen new projects that have garnered more than 500 followers each. Some notable examples include:

  • Draft.js: We open-sourced this React-based rich text editor framework at React.js Conf earlier this year. With more than 6.7K stars — 1,000 of which it accumulated within the first few hours of release — this project has introduced an easier way to customize rich text that easily integrates into React applications for the web.
  • ReDex: ReDex is a bytecode optimizer that makes Android apps smaller and faster. We open sourced ReDex at F8 this year, and showed that it reduced the size of the bytecode in our own app by 20 percent. ReDex also arranges the bytecode more efficiently on disk, which helps engineers avoid user-visible slowness, especially on memory-constrained devices. To date, ReDex has received 2.8K stars and 240 forks.
  • Memory Bundle: Also released at F8, this suite of tools that includes FBRetainCycleDetector, FBAllocationTracker, and FBMemoryProfiler lets iOS developers profile an app's memory usage at runtime. It automatically finds and fixes instances where memory allocations may cause a crash, which helps improve overall app performance. Together, the memory bundle tools have more than 3.8K stars and 280 forks.

We're also pursuing projects in areas and industries beyond traditional developer platforms. In artificial intelligence, for example, we open-sourced Torch implementations and training scripts of deep neural nets for image recognition, and Torchnet, a modular collection of boilerplate code, key abstractions, and reference implementations that builds on top of the Torch framework.

To promote better security practices in the development process, we debuted the Facebook CTF, an open source platform for hosting Capture the Flag competitions that help engineers develop the skills needed to understand and protect against security vulnerabilities.

We also open-sourced Reason, which is a new interface to the programming language OCaml. Reason provides developers with a new syntax and toolchain for editing, building, and sharing code.

Looking ahead

So far this year, our number of followers has increased by 35 percent and we've seen a nearly 50 percent rise in total forks. We're proud of the work we've done, but we as we like to say, this journey is still only 1% finished.

As we continue to grow our open source program, we'll be focused on building the right teams and resources to maintain project quality, and we are excited to continue working with all of you to make all these tools better. Thank you for your support and involvement!

The “Developer Garage” area at F8 2016 where Facebook engineers and tech leaders met with attendees to discuss various Facebook initiatives and projects.

Visit code.facebook.com/projects to learn more about what we've shipped, or get involved at https://github.com/facebook.

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Subscribe
Facebook © 2017