Freedom251 › Build Automation Software
Buck2

What Buck2 is
Buck2 is a build system from Meta for large repositories that combine multiple programming languages. It uses Starlark rules, a dynamic dependency graph, and incremental actions to support extensible builds. Its listed language preludes cover C/C++, Erlang, Go, Haskell, Java, Kotlin, OCaml, Python, and Rust, though usability varies by language. Buck2 can run build actions remotely through services that expose Bazel's remote execution API; listed compatible services include BuildBarn, BuildBuddy, EngFlow, and NativeLink. Filesystem watching supports large repositories, and integration with Meta's Eden virtual filesystem is optional. Rules are hermetic by default and missing dependencies are errors, but local-only build steps are not sandboxed. The project calls Buck2 early-stage: it has no stable release tag, and the latest binary tag updates with repository pushes. Outside users may encounter rough edges, missing features, or missing toolchains. Source and binaries are available under MIT and Apache-2.0 licenses.
Who it suits
Buck2 suits teams building large, multi-language repositories, especially where targets across languages need to be composed in one build. It is a fit for users prepared for an early-stage project and variable language usability.
What it does well
- Free, with source and binaries under two listed licenses
- Supports remote execution through compatible API services
- Includes rules for nine listed languages
- Filesystem watching supports large repositories
What to know first
- Early-stage project may have rough edges
- No stable release tag
- Language support usability varies
- Local-only build steps are not sandboxed
Limits
The project warns that outside users may encounter rough edges, missing features, and missing toolchains. There is no stable release tag, and the latest binary tag updates with repository pushes.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open source | Buck2 build system · source and binaries available under MIT and Apache-2.0 licenses | Free |
As buck2.build lists them, read 30 Sept 2026. The maker's own page has the final word.
Getting started
- Visit https://buck2.build/.
- Choose a route for your operating system or self-hosted environment.
- Use the project's source or binaries, available under MIT and Apache-2.0 licenses.
- For remote execution, use a service exposing Bazel's remote execution API.
- Report issues through GitHub or use the community Discord for discussion.
Verdict
Buck2 offers extensible builds and remote execution for large, multi-language repositories. Its early-stage status, changing binary tag, and uneven language usability are important considerations.
Questions
How much does Buck2 cost?
The open-source plan is free; source and binaries are available under MIT and Apache-2.0 licenses.
Which programming languages does it support?
Its support table lists prelude rules for C/C++, Erlang, Go, Haskell, Java, Kotlin, OCaml, Python, and Rust. Usability varies by language.
Can Buck2 run builds remotely?
Yes. It can use services that expose Bazel's remote execution API. The project lists BuildBarn, BuildBuddy, EngFlow, and NativeLink for distributed compilation support.
Which operating systems are supported?
Linux, macOS, Windows, and self-hosted environments are listed.
Is Buck2 a stable release?
No stable release tag is available. The project describes Buck2 as early-stage, and its latest binary tag updates with repository pushes.
Who makes Buck2?
Buck2 is a build system from Meta, and the repository says it was designed by Meta.
Facts from Buck2's own pages
- Audience
- Buck2 is designed for large-scale, multi-language repositories and supports composing targets across languages in one build. · buck2.build, 30 Sept 2026
- Features
- Buck2 uses Starlark rules, a dynamic dependency graph, and incremental actions to support extensible builds. · buck2.build, 30 Sept 2026
- Integrations
- The project says BuildBarn, BuildBuddy, EngFlow, and NativeLink work with its distributed compilation support through the Bazel Remote Execution API. · github.com, 30 Sept 2026
- Languages
- The language support table lists C/C++, Erlang, Go, Haskell, Java, Kotlin, OCaml, Python, and Rust with available prelude rules; support usability varies by language. · buck2.build, 30 Sept 2026
- Large repositories
- Buck2 supports filesystem watching and can integrate with Meta's Eden virtual filesystem, though Eden is optional. · buck2.build, 30 Sept 2026
- Maker
- Buck2 is a build system from Meta and the repository says it was designed by Meta. · buck2.build, 30 Sept 2026
- Maturity
- The project describes Buck2 as early-stage and warns that outside users may encounter rough edges, missing features, and missing toolchains. · buck2.build, 30 Sept 2026
- Platforms
- The installation guide documents building from source on Linux, macOS, and Windows, and notes prebuilt protoc support on those systems. · buck2.build, 30 Sept 2026
- Purpose
- Buck2 is a large-scale, fast, hermetic, multi-language build system and the successor to Buck. · buck2.build, 30 Sept 2026
- Release status
- The repository says Buck2 does not yet have a stable release tag and that its latest binary tag updates on every repository push. · github.com, 30 Sept 2026
- Remote execution
- Buck2 can use services that expose Bazel's remote execution API to run build actions remotely. · buck2.build, 30 Sept 2026
- Security and correctness
- Buck2 rules are hermetic by default and missing dependencies are errors; local-only build steps are not sandboxed, while remote execution is hermetic by design. · buck2.build, 30 Sept 2026
- Support
- The project directs users to report issues through GitHub and provides a community Discord server. · buck2.build, 30 Sept 2026
Where Buck2 stands on Freedom251
- Build Automation Software#4 of 42
- Game Build Automation Software#6 of 43
- Monorepo Management Tools#6 of 33
