Open Source: 2020 Year in Review
This article was written in collaboration with Dmitry Vinnik, an Open Source Developer Advocate at Facebook.
There is no denying that 2020 was a challenging year for many of us in so many different ways. Despite these challenges, we saw more projects going live and more people contributing to the growth of open source worldwide.
In this blog post, we want to share the appreciation we have for our community and highlight some of the work done in 2020. After looking at our open source portfolio’s core metrics, we take a look at our foundations and partnerships focus from last year. Then, we review our community engagement through the Facebook Open Source social media channels, including Twitter, YouTube, and blog. Lastly, we deep dive into our open source portfolio in several 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, with more than 200 projects made public this year alone.
Facebook engineers and developers across the world collaborated to make over 127,000 changes to the codebase.
We welcomed the 1.2 million people who starred our projects on Github to our communities, and we look forward to seeing you around in 2021 too.
Foundations and Partnerships
As part of our commitment to increasing open source usage and experiences for all developers, Facebook looks to be involved in appropriate foundations and partnerships to help achieve these goals.
Facebook continued its long-standing support of open source by joining the Linux Foundation and the Zephyr Project at the Platinum level and becoming a founding contributor of the Software Developer Diversity and Inclusion project.
We partnered with GitHub and Major League Hacking (MLH) to launch a remote Summer 2020 Fellowship program, a year-long fellowship program through 2020-2021, and provide Black developers scholarships to participate in the Fall 2020 Fellowship.
Spark AR’s Blender Toolkit empowers artists to render immersive experiences from their Blender projects seamlessly. To further support creators continually pushing the envelope in AR/VR and AI, FB joined the Blender Foundation Development Fund as a patron member in November.
Facebook partnered with Microsoft on extending a static analyzer, Infer, to C# programming language. As a result of this collaboration, Microsoft published project Infer# to detect potential bugs like null-pointer dereference and resource leak or race conditions in the .NET ecosystem.
Facebook helped found MLCommons, an open engineering consortium for ML research and systems, as a founding member to tackle issues like dataset diversity and fairness, and performance benchmarking and reproducibility.
Community
Lockdown couldn’t stop us from engaging our incredible community. On Twitter, we wanted to take the time to thank members who have inspired and motivated us this year. Our Community Spotlight series featured work from our community that contributed to our open source ecosystem’s development and growth.
We also wanted to engage more with the open source audience on our YouTube channel. We launched an ELI5 (Explain Like I’m 5) series to introduce Facebook’s open source projects to you in 60 seconds. We also shared unique content like a live-coded session on improving your web app with the power of machine learning through AWS Sagemaker and PyTorch.
On the Facebook Open Source blog, we shared plenty of interesting articles like hands-on lessons on using Rust while building a Discord bot and a smart bookmarking tool.
Developer Tools
Developer productivity was the theme of the year. Our engineers open sourced Retrie to make refactoring and codemodding Haskell faster, easier and safer. For those who work with the SQLite library, Facebook shared the CG/SQL project that allows developers to write complex stored procedures with extensive queries without the manual code checking that existing methods require.
Another highlight this year was our engineers’ open source work for system-level developer tools. One of the projects, resctl-demo, simulates system resource conflicts to provide developers an intuitive understanding of their systems’ resource control. Another project called PCIcrawler displays information about PCI/PCIe buses, devices, and topology to diagnose and debug PCIe issues at scale.
Finally, Docusaurus, Facebook Open Source’s website infrastructure project, had amazing usage and growth in 2020. From feature additions and community contributions to adoption and version 2 migration, Docusaurus had one of its best years yet. And there is more planned for 2021.
Data
It’s been a big year for Presto, a distributed SQL query engine for Big Data. The Presto Foundation grew to 8 members, with Alluxio, Ahana, UpSolver and Intel joining this year. We also hosted PrestoCon 2020, connecting nearly 600 data engineers and developers around the world. We encourage you to watch the recordings from the event on the PrestoDB channel and sign up for our virtual meetup group to get the most up-to-date information about upcoming events.
Mobile and Web
In early 2020, Facebook open sourced a new React state management library named Recoil. This library emphasizes compatibility, simplicity and provides features like time-travel debugging. Although the project has only been live for less than a year, its community has been rapidly growing, with over 11 thousand followers on its project page.
React added support for the new JSX transform. The latest React release sets up the ability to perform gradual React upgrades, allowing you to 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 flatten the learning curve. After extensive community feedback, the website went through a refresh with brand new getting started, testing, security, and reference guides. Developers who work with React Native now can use debugging functionalities like LogBox and Flipper out-of-the-box as they are shipped with the project by default.
For native mobile developers, Litho, a declarative framework for building efficient UIs on Android, has released an Android Studio plugin. This plugin significantly speeds up the development of Components and Specs with smart navigation, autocompletion and templates.
AI/ML
Facebook Research
Researchers open sourced their implementation of a multilingual translation model that works for any pair of 100 languages without an English intermediary. With projects like ReBeL, an implementation of a deception-games playing algorithm, our researchers are making a big step towards general AI.
To continue moving AI forward, Facebook AI and NYU Langone Health collaborated on a project called FastMRI. This research project leverages AI to accelerate the MR Imaging process. In September 2020, the team launched its second community challenge to reconstruct neuroimaging data. We also open source the data and models to further engage in medical research and AI communities.
To accelerate the development of better and faster probabilistic programming languages (PPL), engineers at Facebook AI open sourced PPL Bench, an evaluation framework that standardizes PPL benchmarking, and made differentiable programming a first-class feature of Kotlin. If you are interested to learn more about Facebook AI’s research, we invite you to visit these curated posts: NeurIPS 2020, ECCV 2020, ICML 2020, ACL 2020, ICASSP 2020.
PyTorch
Year after year, PyTorch continues its growth, 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 with PyTorch. In November 2020, we hosted the PyTorch Developer Day, with keynotes from the core developer team, researchers and ML engineers working in AI.
Over 2,500 people across 114 countries participated in the PyTorch Summer Hackathon 2020. This hackathon had many categories where developers could apply themselves like PyTorch Dev Tools, Web/Mobile applications, and Responsible AI Dev Tools.
The PyTorch team also launched a project called Opacus, a high-speed, scalable library for training PyTorch models with differential privacy, and partnered with OpenMined to develop free courses in privacy-preserving AI. In collaboration with Google and Salesforce Research, the team released a PyTorch / XLA package that lets PyTorch run on Cloud TPU accelerators and made it generally available on Google Colab.
Blockchain
We remain committed to an inclusive payment technology that is also open source. We refreshed the developer experience for the Diem blockchain (formerly Libra) with new documentation and follow-along tutorials. The docs start from ground-zero, walking you through fundamental concepts powering the Diem blockchain, all the way to building your clients in Python, Java, or Go with our official SDKs. We encourage you to build a demo wallet to understand everyday use cases for custodial wallets, and simulate the experience of running a store on Diem using the public demo merchant service.
Our communities across the world faced challenges and hurdles through every month of this year. And yet, they banded together to contribute their effort and time in building and growing codebases that anyone can freely use. We are deeply grateful to all our contributors, and we look forward to continuing this collaboration through 2021.
To learn more about Facebook Open Source, visit our open source site, subscribe to our YouTube channel, or follow us on Twitter.
Introducing Facebook Graph API v18.0 and Marketing API v18.0

Today, we are releasing Facebook Graph API v18.0 and Marketing API v18.0. As part of this release, we are highlighting changes below that we believe are relevant to parts of our developer community. These changes include announcements, product updates, and notifications on deprecations that we believe are relevant to your application(s)’ integration with our platform.
For a complete list of all changes and their details, please visit our changelog.
General Updates
Consolidation of Audience Location Status Options for Location Targeting
As previously announced in May 2023, we have consolidated Audience Location Status to our current default option of “People living in or recently in this location” when choosing the type of audience to reach within their Location Targeting selections. This update reflects a consolidation of other previously available options and removal of our “People traveling in this location” option.
We are making this change as part of our ongoing efforts to deliver more value to businesses, simplify our ads system, and streamline our targeting options in order to increase performance efficiency and remove options that have low usage.
This update will apply to new or duplicated campaigns. Existing campaigns created prior to launch will not be entered in this new experience unless they are in draft mode or duplicated.
Add “add_security_recommendation” and “code_expiration_minutes” to WA Message Templates API
Earlier this year, we released WhatsApp’s authentication solution which enabled creating and sending authentication templates with native buttons and preset authentication messages. With the release of Graph API v18, we’re making improvements to the retrieval of authentication templates, making the end-to-end authentication template process easier for BSPs and businesses.
With Graph API v18, BSPs and businesses can have better visibility into preset authentication message template content after creation. Specifically, payloads will return preset content configuration options, in addition to the text used by WhatsApp. This improvement can enable BSPs and businesses to build “edit” UIs for authentication templates that can be constructed on top of the API.
Note that errors may occur when upgrading to Graph API v18 if BSPs or businesses are taking the entire response from the GET request and providing it back to the POST request to update templates. To resolve, the body/header/footer text fields should be dropped before passing back into the API.
Re-launching dev docs and changelogs for creating Call Ads
- Facebook Reels Placement for Call Ads
Meta is releasing the ability to deliver Call Ads through the Facebook Reels platform. Call ads allow users to call businesses in the moment of consideration when they view an ad, and help businesses drive more complex discussions with interested users. This is an opportunity for businesses to advertise with call ads based on peoples’ real-time behavior on Facebook. Under the Ad set Level within Ads Manager, businesses can choose to add “Facebook Reels” Under the Placements section. - Re-Launching Call Ads via API
On September 12, 2023, we’re providing updated guidance on how to create Call Ads via the API. We are introducing documentation solely for Call Ads, so that 3P developers can more easily create Call Ads’ campaigns and know how to view insights about their ongoing call ad campaigns, including call-related metrics. In the future, we also plan to support Call Add-ons via our API platform. Developers should have access to the general permissions necessary to create general ads in order to create Call Ads via the API platform.Please refer to developer documentation for additional information.
Deprecations & Breaking Changes
Graph API changes for user granular permission feature
We are updating two graph API endpoints for WhatsAppBusinessAccount. These endpoints are as follows:
- Retrieve message templates associated with WhatsAppBusiness Account
- Retrieve phone numbers associated with WhatsAppBusiness Account
With v18, we are rolling out a new feature “user granular permission”. All existing users who are already added to WhatsAppBusinessAccount will be backfilled and will continue to have access (no impact).
The admin has the flexibility to change these permissions. If the admin changes the permission and removes access to view message templates or phone numbers for one of their users, that specific user will start getting an error message saying you do not have permission to view message templates or phone numbers on all versions v18 and older.
Deprecate legacy metrics naming for IG Media and User Insights
Starting on September 12, Instagram will remove duplicative and legacy, insights metrics from the Instagram Graph API in order to share a single source of metrics to our developers.
This new upgrade reduces any confusion as well as increases the reliability and quality of our reporting.
After 90 days of this launch (i.e. December 11, 2023), we will remove all these duplicative and legacy insights metrics from the Instagram Graph API on all versions in order to be more consistent with the Instagram app.
We appreciate all the feedback that we’ve received from our developer community, and look forward to continuing to work together.
Please review the media insights and user insights developer documentation to learn more.
Deprecate all Facebook Wi-Fi v1 and Facebook Wi-Fi v2 endpoints
Facebook Wi-Fi was designed to improve the experience of connecting to Wi-Fi hotspots at businesses. It allowed a merchant’s customers to get free Wi-Fi simply by checking in on Facebook. It also allowed merchants to control who could use their Wi-Fi and for how long, and integrated with ads to enable targeting to customers who had used the merchant’s Wi-Fi. This product was deprecated on June 12, 2023. As the partner notice period has ended, all endpoints used by Facebook Wi-Fi v1 and Facebook Wi-Fi v2 have been deprecated and removed.
API Version Deprecations:
As part of Facebook’s versioning schedule for Graph API and Marketing API, please note the upcoming deprecations:
Graph API
- September 14, 2023: Graph API v11.0 will be deprecated and removed from the platform
- February 8, 2024: Graph API v12.0 will be deprecated and removed from the platform
- May 28, 2024: Graph API v13.0 will be deprecated and removed from the platform
Marketing API
- September 20, 2023: Marketing API v14.0 will be deprecated and removed from the platform
- September 20, 2023: Marketing API v15.0 will be deprecated and removed from the platform
- February 06, 2024: Marketing API v16.0 will be deprecated and removed from the platform
To avoid disruption to your business, we recommend migrating all calls to the latest API version that launched today.
Facebook Platform SDK
As part of our 2-year deprecation schedule for Platform SDKs, please note the upcoming deprecations and sunsets:
- October 2023: Facebook Platform SDK v11.0 or below will be sunset
- February 2024: Facebook Platform SDK v12.0 or below will be sunset
First seen at developers.facebook.com
Allowing Users to Promote Stories as Ads (via Marketing API)

Before today (August 28, 2023), advertisers could not promote images and/or videos used in Instagram Stories as ads via the Instagram Marketing API. This process created unwanted friction for our partners and their customers.
After consistently hearing about this pain point from our developer community, we have removed this unwanted friction for advertisers and now allow users to seamlessly promote their image and/or video media used in Instagram Stories as ads via the Instagram Marketing API as of August 28, 2023.
We appreciate all the feedback received from our developer community, and hope to continue improving your experience.
Please review the developer documentation to learn more.
First seen at developers.facebook.com
Launching second release of Facebook Reels API: An enterprise solution for desktop and web publishers

We’re excited to announce that the second release of FB Reels API is now publicly available for third-party developers. FB Reels API enables users of third-party platforms to share Reels directly to public Facebook Pages and the New Pages Experience.
FB Reels API has grown significantly since the first release in September 2022. The new version of the APIs now support custom thumbnails, automatic music tagging, tagging collaborators, longer format of reels and better error handling.
FB Reels API will also support scheduling and draft capability to allow creators to take advantage of tools provided either by Meta or by our partners. Based on the feedback we received from our partners, we’ll now provide additional audio insights via the Audio Recommendations API and reels performance metrics via the Insights API.
Our goal in the next couple of releases is to continue to make it easier for creators to develop quality content by adding features like early copyright detection and A/B testing. We’re also excited to start working on enhanced creation features like Video clipping- so stay tuned to hear more about those features in the future.
Call-to-Action
If you are a developer interested in integrating with the Facebook Reels API, please refer to the Developer Documents for more info.
Not sure if this product is for you? Check out our entire suite of sharing offerings.
Tune in to Product @scale event to learn more about FB Video APIs and hear from some of our customers.
First seen at developers.facebook.com
-
FACEBOOK2 weeks ago
Introducing Facebook Graph API v18.0 and Marketing API v18.0
-
Uncategorized2 weeks ago
3 Ways To Find Your Instagram Reels History
-
Uncategorized1 week ago
Community Manager: Job Description & Key Responsibilities
-
LINKEDIN2 weeks ago
Career Stories: Learning and growing through mentorship and community
-
Uncategorized2 weeks ago
Facebook Page Template Guide: Choose the Best One
-
Uncategorized1 week ago
The Complete Guide to Social Media Video Specs in 2023
-
OTHER6 days ago
WhatsApp iPad Support Spotted in Testing on Latest iOS Beta, Improved Group Calls Interface on Android
-
Uncategorized2 weeks ago
How to Create a Social Media Report [Free Template Included]