BlogsMetaOpen Source Strategy and Contributions

Open Source Strategy and Contributions

Open Source Strategy and Contributions

30
posts
2008–2025

Meta's open source strategy has evolved to foster a vibrant ecosystem with a significant number of external contributors and followers, focusing on AI/ML tools, development tools, networking solutions, and data infrastructure. This includes active contributions to industry standards and a commitment to improving foundational programming language ecosystems. Notable additions include Draft.js, a React-based rich text editor framework, which was open-sourced to address challenges in rich text comp. In 2018, Meta released 153 new open source projects, bringing their active portfolio to 474 projects. Key releases included PyTorch 1.0, kernel libraries QNNPACK and FBGEMM, PyText, Horizon, Glow, Detectron, Mask R-CNN2Go, server designs Big Sur and Big Basin, TensorComprehensions, DensePose, Translate, TorchCraftAI, Flipper, Pyre, Bowler, Katran, Fizz, LogDevice, and XAR. Docusaurus continued to gain traction, and Meta initiated the formation of the GraphQL foundation. Tools like ShipIt, community interaction tools, and repo content compliance tools were also improved.

2025

Python Typing Survey 2025: Code Quality and Flexibility As Top Reasons for Typing Adoption

12/22/2025

This post details the findings of the 2025 Typed Python Survey, conducted by contributors from JetBrains, Meta, and the broader Python typing community. It highlights key trends in Python typing adoption, developer attitudes, challenges, and requested features. The survey indicates strong adoption of type hints, with 86% of respondents using them 'always' or 'often'. Key reasons for adoption include improved readability, tooling support, and bug prevention. Challenges identified include third-party library support, complexity of advanced features, and tooling fragmentation. Requested features mirror those found in languages like TypeScript, with a desire for runtime enforcement and better generics. The post also touches on tooling trends, with Mypy remaining dominant but Rust-based checkers gaining traction, and discusses how developers learn and get help, with official documentation, blog posts, and community platforms being primary sources, alongside growing use of LLMs.

Meta joins Kotlin Foundation

6/30/2025

Meta has joined the Kotlin Foundation as a gold member, signifying a commitment to the Kotlin language and the Android development ecosystem. This post details Meta's ongoing efforts to migrate its extensive Android codebase from Java to Kotlin, including the development of the internal tool Kotlinator for automated conversion. It also highlights contributions to the Kotlin and Android build toolchain within Buck2, aiming to improve build speeds and scalability. Meta will also contribute to the Kotlin Foundation's grants program to support open-source library authors and developers.

Open-sourcing Pyrefly: A faster Python type checker written in Rust

5/15/2025

This post announces the open-sourcing of Pyrefly, a new Python type checker written in Rust. It highlights the evolution of this tool from an internal project for Instagram's typed Python codebase to a community-available resource, emphasizing its role in improving Python development tooling and catching errors before runtime. It also mentions the accompanying Meta Tech Podcast episode discussing its development.

Introducing Pyrefly: A new type checker and IDE experience for Python

5/15/2025

This post introduces Pyrefly, a new open-source Python type checker and IDE extension developed in Rust. It highlights Meta's ongoing commitment to improving the Python ecosystem and developer experience through open-source contributions. Pyrefly builds upon previous efforts like Pyre, focusing on enhanced performance, IDE integration, and type inference. The post emphasizes collaboration with the Python community and outlines plans for future development and contributions to language enhancements.

Enhancing the Python ecosystem with type checking and free threading

5/5/2025

This post details Meta's contributions to the Python ecosystem, specifically focusing on improving type annotation coverage for pandas-stubs (increasing it from 36% to over 50%) and enhancing compatibility with free-threaded Python (FTP) for popular scientific computing and language binding packages. It also highlights the development of tooling to catalog missing annotations and measure type coverage for independently distributed stubs.

2024

Typed Python in 2024: Well adopted, yet usability challenges persist

12/9/2024

This post details the findings of a collaborative survey on Python typing conducted by JetBrains, Meta, and Microsoft. It highlights high adoption rates (88%), key drivers (IDE tooling, documentation, bug catching), and persistent usability challenges (expressing complex patterns, tooling latency, lack of types in popular libraries, inconsistencies). It also analyzes developer cohorts, popular IDE/type checker combinations (VS Code/Mypy, PyCharm/Mypy), and provides recommendations for Python language maintainers and tooling authors, emphasizing standardization, consistency, improved support for dynamic features, better performance, and enhanced documentation discoverability.

Threads has entered the fediverse

3/21/2024

This post details Meta's entry into the fediverse with Threads, marking a significant expansion of its open-source strategy. It explains the adoption of the ActivityPub protocol for interoperability, the technical challenges and solutions involved in federating social content, and the phased approach to integrating Threads with decentralized social networks. This represents a new dimension of Meta's open-source contributions, moving beyond tools and infrastructure to embrace open social networking protocols.

Meta loves Python

2/12/2024

This post details Meta engineers' contributions to Python 3.12, including the development of custom JITs (Cinder), Immortal Objects, type system improvements, and faster comprehensions. It highlights the technical reasons behind these developments and Meta's engagement with the Python community.

DotSlash: Simplified executable deployment

2/6/2024

This post introduces and open-sources DotSlash, a tool designed to simplify the deployment of large executables within source control by replacing them with lightweight scripts. It addresses challenges related to monorepo size, clone operations, and the management of numerous first-party and third-party command-line tools. The post details DotSlash's functionality, its internal usage at Meta (hundreds of millions of executions daily), and its cross-platform capabilities, along with a complementary GitHub Action for external use. It also explains the generation of DotSlash files through automated build pipelines.

2023

Meta contributes new features to Python 3.12

10/5/2023

Meta contributed several features and optimizations to Python 3.12, including Immortal Objects (PEP 683) to reduce memory usage and enable better parallelism, the @typing.override decorator (PEP 698) for improved type safety during refactoring, and performance optimizations such as inlining comprehensions (PEP 709), eager asyncio tasks, faster super() calls, and optimizations for hasattr and unittest.mock.Mock. They also added new benchmarks to the Python Performance Benchmark suite to better represent Meta's workloads and landed core runtime hooks for their Cinder JIT compiler and Static Python, including APIs for function entrypoints, dictionary/type/function/code object watchers, and extensibility in the code generator.

2021

Open sourcing Winterfell: A STARK prover and verifier

8/4/2021

This post announces the open-sourcing of Winterfell, a Rust implementation of a STARK prover and verifier, to Crates.io. Winterfell is designed to make zero-knowledge proofs (ZKPs) more accessible to average developers by abstracting away cryptographic complexity. It leverages STARKs for their transparency, minimal cryptographic assumptions, and potential for quantum resistance. The release aims to support applications in blockchain privacy and scalability, as well as other security and privacy use cases.

Open-sourcing Thrift for Haskell

2/5/2021

Open-sourced hsthrift, a Haskell Thrift compiler and libraries, enabling cross-service communication with other fbthrift languages. Introduced advanced features like required symbols pruning, exactprint for AST transformations with formatting preservation, typechecker plugins for backend extensibility, and splicing for typeclass instances.

2020

Infer powering Microsoft’s Infer#, a new static analyzer for C#

12/14/2020

This post details the creation of Infer#, a new language front end for Meta's Infer static analysis platform, enabling it to analyze C# code. This collaboration with Microsoft extends the reach of Infer to the .NET platform, allowing it to detect deep inter-procedural bugs in C# code, similar to its capabilities in Java and C++. It also introduces a language-independent JSON layer for SIL, paving the way for future Infer front ends for other languages.

CG/SQL: Easy, accurate code generation for SQLite

10/8/2020

This post introduces CG/SQL, an open-source code generation system for SQLite. It allows developers to write stored procedures in a T-SQL variant and compile them into C code, significantly improving the accuracy and maintainability of data access layers. The system includes features for schema management, testing, and query plan analysis, making complex SQLite operations more robust and easier to manage.

Open source year in review

1/13/2020

This post details Meta's open source contributions in 2019, highlighting the release of 170 new projects and the growth of active repositories to 579. It emphasizes the significant contributions from both internal engineers and external community members, with over 32,000 changes from approximately 2,500 external contributors. Key developments include the thriving GraphQL Foundation and the establishment of the Presto Foundation. The post also showcases advancements in PyTorch, including PyTorch Mobile, CrypTen for privacy-preserving ML, and Captum for model interpretability. For mobile and web development, it highlights React, React Native, the Hermes JavaScript engine for mobile optimization, and the Magma platform for automating mobile network management. Additionally, the Hydra framework for simplifying Python application development and work on the blockchain front with the Libra Association are mentioned.

2019

Data Transfer Project: Enabling portability of photos and videos between services

12/2/2019

This post announces Meta's participation in and the release of a tool for the Data Transfer Project, a collaborative open-source effort with other major tech companies to enable service-to-service data portability. It details the project's mission, architecture (shared data models, adapters, task management framework), and deployment at Facebook, emphasizing security, reliability, and custom extensions leveraging internal infrastructure like TAO and Scribe. The post highlights the release of a tool for transferring photos and videos from Facebook to Google Photos, with plans for future expansion.

Simon Marlow, Simon Peyton Jones, and Satnam Singh win Most Influential ICFP Paper Award

10/24/2019

This post highlights the significant impact of an influential ICFP paper on "Runtime Support for Multicore Haskell," co-authored by a Facebook engineer. It demonstrates how foundational research, leading to improvements in a programming language (Haskell) and its compiler (GHC), can be leveraged for large-scale, critical systems like Facebook's abuse protection (Sigma). This showcases how Meta contributes to and benefits from advancements in programming language technology, which can then be applied to solve complex engineering challenges and drive efficiency in production systems, aligning with the broader theme of open-source contributions and the adoption of advanced technologies.

Hydra: A framework that simplifies development of complex applications

10/3/2019

This post introduces Hydra, a lightweight Python framework for simplifying the development of complex applications by enabling composable and overridable configurations. It addresses common challenges like boilerplate code, configuration management, and command-line flag definition. The post highlights its use in prototyping research projects at Facebook and its open-sourcing to benefit the wider industry, aligning with Meta's broader open-source strategy.

Facebook’s open source browser contributions

6/20/2019

This post details Meta's contributions to the web platform and browser technologies, specifically focusing on projects like isInputPending(), the JavaScript Self-Profiling API, and BinAST. These contributions aim to improve web application performance by addressing limitations in JavaScript code size, parsing overhead, and introspection APIs, demonstrating Meta's commitment to open-source development beyond its core AI/ML and infrastructure tools.

Open source at F8 2019

5/1/2019

This post announces the open-sourcing of several tools at F8 2019: Ax (adaptive experimentation platform), BoTorch (Bayesian optimization research library), idb (iOS development bridge for simulator automation), Memscout (jemalloc memory allocator analysis tool), and Mvfst (QUIC transport protocol implementation). These releases aim to simplify ML experimentation, speed up test execution, and solve memory-related performance issues.

F8 2019 Day 1 keynote and session videos

5/1/2019

This post highlights Meta's continued commitment to open source by showcasing the use of React, GraphQL, and Relay in building Facebook.com, the open-sourcing of mobile development tools (React Native, ComponentKit, Litho), and the promotion of Docusaurus for open-source project websites. It also details the use of Python for internal development and the open-sourcing of Wit.ai as a free NLP service, further demonstrating Meta's strategy of contributing to and leveraging open-source technologies.

Open-sourcing F14 for faster, more memory-efficient hash tables

4/25/2019

This post introduces F14, a new 14-way probing hash table implementation within the Folly open-source library. F14 aims to simplify hash table selection by offering a default, highly optimized solution that balances CPU and memory performance. It leverages vector instructions for faster collision resolution and introduces a novel reference-counted tombstone-like mechanism for efficient handling of insertions and deletions, improving both performance and memory utilization across various use cases.

Open-sourcing Habana back end for Glow

4/4/2019

This post announces the open-sourcing of an experimental back end for the Glow compiler, specifically designed to target Habana's hardware accelerators. This marks a significant step in Glow's evolution by being the first back end customized for a specific vendor's hardware, thereby strengthening the ecosystem for ML hardware acceleration and enabling partners to optimize silicon products for machine learning workloads.

Open-sourcing Python Test Runner for multiple tests in parallel

3/21/2019

Introduced `ptr` (Python Test Runner), an open-source tool that crawls repositories to find Python projects with unit tests, runs them in parallel, and supports code coverage checks, formatting, linting, and static type analysis. This enhances the efficiency of testing Python codebases.

Team behind Infer wins POPL 2019 Most Influential Paper Award

2/8/2019

This post details the open-sourcing of Infer, a static program analyzer, and its associated declarative language AL. It highlights the award-winning research behind Infer, its impact on detecting bugs at scale in Meta's mobile code, and its adoption by other companies, further solidifying Meta's commitment to open-sourcing impactful developer tools.

Open source year in review

1/2/2019

This post details Meta's open source contributions in 2018, highlighting the release of 153 new projects and the growth of their active portfolio to 474. It specifically mentions the release of PyTorch 1.0, AI/ML related projects like QNNPACK, FBGEMM, PyText, Horizon, Glow, Detectron, Mask R-CNN2Go, TensorComprehensions, DensePose, Translate, and TorchCraftAI. It also covers development tools such as Flipper, Pyre, and Bowler, networking tools like Katran and Fizz, data infrastructure tools like LogDevice and XAR, and VR/AR related projects like React 360. The post also notes the continued success of Docusaurus and the initiation of the GraphQL foundation, along with improvements to internal tooling like ShipIt.

2016

Facebook Open Source 2016 year in review

12/19/2016

This post reviews Facebook's open source contributions in 2016, highlighting the launch of 77 new projects, 60,000 commits, and a portfolio of nearly 400 projects with over 500,000 followers. It details the success of flagship projects like React and React Native, the introduction of new projects such as Draft.js and create-react-app, and the release of tools for Android and iOS. The post also mentions the open-sourcing of Zstandard, collaboration on Yarn, contributions to Chef and Linux kernel, and the release of fastText and the Surround360 camera system. It emphasizes the growth in external contributions, with 13,000 pull requests from over 2,700 contributors.

What’s new in Facebook open source

7/15/2016

This post details the launch of 54 new open-source projects by Facebook in the first half of 2016, including Draft.js, ReDex, and a Memory Bundle for iOS. It also highlights contributions to AI/ML with Torch implementations and Torchnet, security with Facebook CTF, and programming languages with Reason. The post emphasizes the growth of the open-source program, with increased followers and forks, and the ongoing commitment to community collaboration.

Facebook open sources rich text editor framework Draft.js

2/26/2016

This post details the open-sourcing of Draft.js, a React-based rich text editor framework. It explains the technical challenges of traditional rich text input (e.g., using <textarea>), the decision to build a custom solution integrated with React, and the architectural choices made, including the use of a controlled ContentEditable component and immutable data structures for state management and undo/redo functionality. The post highlights the benefits of this approach for developer experience, user experience, and memory efficiency.

2015

Open source in 2015: A year of growth

12/29/2015

This post details the growth of Meta's open source program in 2015, highlighting increased adoption of projects like React and HHVM, the launch and rapid growth of React Native, and the introduction of Relay and GraphQL. It quantifies community engagement through metrics such as stars, forks, commits, and external contributors, noting a significant increase in all areas compared to the previous year. The post also mentions specific company adoptions of Meta's open source projects.

2014

12 Days of Open Source

12/8/2014

This post provides a year-in-review of Meta's open source contributions in 2014. It highlights the launch of 107 new projects, the popularity of projects like React and HHVM (both reaching 10,000 GitHub stars), and the significant engagement from external developers (over 1,000 contributors, with 17% of commits from outside Meta). The post also notes a 3x decrease in the average age of pull requests, indicating improved review speed, and mentions security contributions like Osquery and Conceal. Participation in OSCON is also highlighted.

2013

2013: A Year of Open Source at Facebook

12/20/2013

This post details Facebook's significant expansion of its open-source contributions in 2013, highlighting new projects in mobile (Buck, xctool, Rebound, Origami), web (React, Regenerator, Huxley), data (Presto, RocksDB, Giraph), and infrastructure (HHVM, pfff, libPhenom, folly, Mercurial, LLVM, GNU grep, Open Compute Project). It also outlines the formalization of their open-source program with improved tooling, community engagement, bounties, and the Facebook Open Academy, alongside the initiation of the '@ Scale' engineering events.

2009

Adapting Open Source Software

4/11/2009

This post details how Facebook adapts open source software like PHP, MySQL, and Memcache to its specific needs, and contributes technologies like Thrift and Scribe back to the community. It highlights custom backend services for NewsFeed and Search, and the tooling stack that enables engineers to develop, deploy, monitor, and maintain code in various languages.

2008

Thrift: (slightly more than) one year later

6/13/2008

This post details the evolution of Thrift over its first year as an open-source project. Key contributions include expanded language support (C#, Perl, Objective C, Erlang, Smalltalk, OCaml, Haskell), new protocols (dense encoding, JSON), and performance improvements in Python and PHP via C modules/extensions. External contributions have been significant, with companies like Powerset, imee, Evernote, and Amie Street playing a major role. Future developments include an asynchronous C++ client/server, templated C++ APIs for performance gains, and a C mapping. Thrift's acceptance into the Apache Incubator is highlighted as a major step for its growth and integration.