Open Supply: 2020 12 months in Assessment
This article was written in collaboration with Dmitry Vinnik, an open source developer advocate at Facebook.
There’s no denying that 2020 has been a challenging year for many of us in so many different ways. Despite these challenges, we’ve got more projects up and running and more people contributed to the global growth of open source.
In this blog post we want to share the appreciation we have for our community and highlight some of the work that was done in 2020. After looking at the core metrics of our open source portfolio, let’s take a look at our fundamentals and partnerships, which are focused on last year’s focus. We then review our community engagement through the Facebook open source social media channels, including Twitter, YouTube, and Blog. Finally, we dive into our open source portfolio in different categories: developer tools, data, mobile / web, AI / ML and blockchain.
Facebook Open Source by the Numbers
In 2020, Facebook’s open source portfolio grew to over 700 active repositories. This year alone, more than 200 projects were published.
Facebook engineers and developers around the world have worked together to make over 127,000 changes to the code base.
We have welcomed the 1.2 million people who starred our projects on Github to our communities and look forward to seeing you again in 2021.
Foundations and partnerships
As part of our commitment to increasing the use and experience of open source for all developers, Facebook appears to be in the proper foundations and partnerships to achieve these goals.
Facebook continued its longstanding support for open source by joining the Linux Foundation and the Zephyr project at the platinum level, and becoming a founding member of the Software Developer Diversity and Inclusion project.
We have partnered with GitHub and Major League Hacking (MLH) to launch a Remote Summer 2020 Scholarship Program, a one-year scholarship program through 2020-2021, and provide scholarships for black developers to participate in the Fall 2020 Scholarship.
With Spark AR’s Blender Toolkit, artists can seamlessly reproduce amazing experiences from their Blender projects. In order to further support the developers in AR / VR and AI, FB joined the Blender Foundation Development Fund as a sponsoring member in November.
Facebook has teamed up with Microsoft to extend the static analyzer Infer to the C # programming language. As a result of this collaboration, Microsoft published the Infer # project to identify potential errors such as null pointer dereferencing and resource leakage or race conditions in the .NET ecosystem.
Facebook helped found MLCommons, an open engineering consortium dedicated to ML research and systems, as a founding member to address issues such as dataset diversity and fairness, and performance benchmarking and reproducibility.
Lockdown couldn’t stop us from engaging our incredible community. We wanted to take the time on Twitter to thank members who inspired and motivated us this year. Our Community Spotlight series featured work from our community that helped develop and grow our open source ecosystem.
We also wanted to engage more with the open source audience on our YouTube channel. We have started an ELI5 series (Explain Like I’m 5) to introduce you to Facebook’s open source projects in 60 seconds. We also shared unique content like a live coded session on how to improve your web app with the power of machine learning through AWS Sagemaker and PyTorch.
We posted many interesting articles on the Facebook open source blog, including hands-on lessons on how to use Rust to create a Discord bot and a smart bookmarking tool.
Developer productivity was the theme of the year. Our engineers open up open source retrieval to make Haskell refactoring and code modding faster, easier and more secure. For those working with the SQLite library, Facebook released the CG / SQL project, which allows developers to write complex stored procedures with large queries without having to review the manual code required for existing methods.
Another highlight this year was the open source work by our engineers for developer tools at system level. One of the projects, resctl-demo, simulates system resource conflicts in order to give developers an intuitive understanding of the resource management of their systems. Another project called PCIcrawler displays information about PCI / PCIe buses, devices, and topology to help diagnose and debug PCIe problems at scale.
After all, Facebook Open Source’s website infrastructure project, Docusaurus, had amazing usage and growth in 2020. From feature additions and community contributions to the introduction and migration of version 2, Docusaurus had one of its best years so far. And more is planned for 2021.
It’s been a big year for Presto, a distributed SQL query engine for big data. The Presto Foundation grew to 8 members, and Alluxio, Ahana, UpSolver, and Intel joined that year. We also hosted PrestoCon 2020 which brings together nearly 600 data engineers and developers around the world. We encourage you to watch the replay of the event on the PrestoDB Channel and sign up for our virtual meetup group for the latest information on upcoming events.
Mobile and web
In early 2020, Facebook Open Source obtained a new React State Management library called Recoil. This library emphasizes compatibility, simplicity, and features such as time travel debugging. Although the project has only been live for less than a year, its community has grown rapidly with over 11,000 followers on its project page.
Respond to the added support for the new JSX transform. The latest version of React has the ability to do incremental React upgrades so that you can use more than one version of React in your app.
With React Native last year, we had significant updates to improve the developer experience and shorten the learning curve. Following extensive community feedback, the website has been updated with brand new getting started, test, safety and reference guides. Developers who are now working with React Native can immediately use debugging functions such as LogBox and Flipper, as they are delivered with the project as standard.
For native mobile developers, Litho, a declarative framework for creating efficient user interfaces on Android, has released an Android Studio plugin. This plugin speeds up the development of components and specifications significantly with intelligent navigation, auto-completion and templates.
AI / ML
The researchers made their implementation of a multilingual translation model open source capable of working for any pair of 100 languages without an English intermediary. With projects like ReBeL, an implementation of an algorithm for playing games of deception, our researchers are taking a big step towards generalized AI.
To further advance AI, Facebook AI and NYU Langone Health worked together on a project called FastMRI. This research project uses AI to accelerate the MR imaging process. In September 2020, the team launched its second community challenge to reconstruct neuroimaging data. We also make the data and models available as open source so that we can continue to engage in medical research and AI communities.
To expedite the development of better and faster probabilistic programming languages (PPL), the engineers at Facebook AI Open Source PPL Bench, an assessment framework that standardizes PPL benchmarking, made differentiable programming a top notch feature of Kotlin. If you would like to learn more about the research of Facebook AI, we invite you to check out these curated posts: NeurIPS 2020, ECCV 2020, ICML 2020, ACL 2020, ICASSP 2020.
Year after year, PyTorch continues to grow, and 2020 was no exception. We added 20 new projects to the PyTorch ecosystem. This curated list of tools and libraries helps developers explore AI using PyTorch. In November 2020 we hosted the PyTorch Developer Day with keynotes from the core development team, researchers and ML engineers who work in AI.
Over 2,500 people in 114 countries took part in the PyTorch Summer Hackathon 2020. This hackathon had many categories for developers such as PyTorch Dev Tools, Web / Mobile Applications, and Responsible AI Dev Tools to compete.
The PyTorch team also launched a project called Opacus, a scalable, high-speed library for training PyTorch models with granular privacy, and worked with OpenMined to develop free privacy training courses. Working with Google and Salesforce Research, the team has released a PyTorch / XLA package that enables PyTorch to run on cloud TPU accelerators and made generally available in Google Colab.
We remain committed to an integrative payment technology that is also open source. We have updated the developer experience for the Diem blockchain (formerly Libra) with new documentation and subsequent tutorials. The documents start from scratch and walk you through basic concepts supporting the Diem blockchain all the way through to building your clients in Python, Java or Go using our official SDKs. We encourage you to create a demo wallet in order to understand the everyday use cases for depot wallets and to simulate the experience of running a business on Diem using the demo public merchant service.
Our churches around the world have faced challenges and hurdles each month this year. And yet they have come together to put their effort and time into building and expanding code bases that anyone can freely use. We are deeply grateful to all of our contributors and look forward to continuing this collaboration until 2021.
To learn more about Facebook Open Source, visit our Open Source website, subscribe to our YouTube channel, or follow us on Twitter.