whatisgithub

What is buck?

facebook/buck — explained in plain English

Analysis updated 2026-06-24

8,546JavaAudience · developerComplexity · 4/5Setup · hard

In one sentence

Buck was Facebook's multi-language build system, now deprecated and replaced by Buck2. This repository is archived for historical reference only, all active development has moved to the Buck2 project.

Mindmap

mindmap
  root((Buck))
    Status
      Deprecated
      Archived repo
      Buck2 is successor
    Original Purpose
      Multi-language builds
      Incremental compilation
      Reusable modules
    History
      Built at Facebook
      Used internally
      Now replaced
    Next Steps
      Use Buck2 instead
      Different repository
      Active development there
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read archived documentation to understand how Meta's original Buck build system worked before Buck2 replaced it.

USE CASE 2

Research the history and design decisions of large-scale build systems at Facebook to understand what led to the Buck2 rewrite.

What is it built with?

Java

How does it compare?

facebook/buckairbnb/epoxychrisjenx/calligraphy
Stars8,5468,5608,531
LanguageJavaJavaJava
Setup difficultyhardmoderateeasy
Complexity4/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

This repository is no longer maintained. Use the Buck2 repository instead for all active development.

No license information was mentioned in the description.

So what is it?

Buck was a build system developed by Facebook (now Meta) for compiling and assembling software across multiple programming languages and platforms. A build system automates the process of turning source code into a finished application, handling the ordering of compilation steps and tracking which files have changed so it only rebuilds what is necessary. This repository is no longer active. The README states plainly that this repo is dead and directs people to Buck2, a separate successor project in a different repository. The original Buck code and documentation remain here for historical reference only. For anyone who encounters this repository while researching Meta's build tooling history: Buck was designed around the idea of small, reusable modules and was used internally at Facebook for many years. Its successor Buck2 is a ground-up rewrite and is where active development now happens.

Copy-paste prompts

Prompt 1
I'm researching build system architecture. Based on Buck's original design at Facebook, what were the core ideas around modular build targets and incremental compilation?
Prompt 2
I'm migrating from the original Buck to Buck2. What were the main architectural differences between them, and what changed in the build file format?

Frequently asked questions

What is buck?

Buck was Facebook's multi-language build system, now deprecated and replaced by Buck2. This repository is archived for historical reference only, all active development has moved to the Buck2 project.

What language is buck written in?

Mainly Java. The stack also includes Java.

What license does buck use?

No license information was mentioned in the description.

How hard is buck to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is buck for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.