FREEDOM251

Freedom251 › Build Automation Software

Buck2

Free plan LinuxMacSelf-hostedWindows

Visit Buck2 Alternatives Pricing

Buck2's own site

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

PlanBilled and limitsPrice
Open sourceBuck2 build system · source and binaries available under MIT and Apache-2.0 licensesFree

As buck2.build lists them, read 30 Sept 2026. The maker's own page has the final word.

Getting started

  1. Visit https://buck2.build/.
  2. Choose a route for your operating system or self-hosted environment.
  3. Use the project's source or binaries, available under MIT and Apache-2.0 licenses.
  4. For remote execution, use a service exposing Bazel's remote execution API.
  5. 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

Look at these too