The history of Phabricator

Greg Foster
Greg Foster
Graphite software engineer

Phabricator is a collection of open-source tools for software development, and understanding its history provides context to its design, philosophy, and widespread adoption in the tech industry. This page delves into the origins of Phabricator, the context in which it was created, and its evolution into the multifaceted development tool it is today.

Phabricator was conceived and developed at Facebook. It started as an internal project led by Evan Priestley, who aimed to create a better code review system than the ones available at the time. Facebook's rapid growth necessitated tools that could support a fast-moving, collaborative development environment, and existing solutions were not up to the task.

  • Early 2010s: Phabricator began as a collection of tools tailored to improve Facebook's efficiency in code reviews and project management.

  • Open Sourcing: Recognizing its potential utility for others, Facebook released Phabricator as an open-source project, allowing other organizations to benefit from their work and contribute back to the platform.

Once open-sourced, Phabricator quickly gained attention in the developer community. Its modular approach, combined with a powerful differential review system, made it an attractive choice for many companies, especially startups and tech giants who appreciated its flexibility and integrative capabilities.

  • Expansion: From its origins as a code review tool, Phabricator expanded to include applications for task management (Maniphest), repository hosting (Diffusion), and continuous integration (Harbormaster), among others.

  • Community Contributions: As its user base grew, so did contributions from the community, adding new features and improvements.

The tool's lead developer, Evan Priestley, left Facebook to form Phacility, a company dedicated to the stewardship and commercial support of Phabricator. Phacility played a crucial role in the continued development and support of Phabricator.

  • Independent Stewardship: Phacility took over the development of Phabricator, guiding its growth independently of Facebook.

  • Commercial Support: Phacility provided commercial services, including hosting, support, and consulting, to organizations using Phabricator.

Phabricator was designed in a context where software development was becoming increasingly complex, requiring tools that could manage large codebases, facilitate asynchronous collaboration, and integrate various aspects of the development lifecycle.

  • Rapid Development Cycles: Phabricator's differential tool made it easier for teams to review code swiftly and efficiently, essential in agile environments.

  • Distributed Teams: With the rise of remote work, Phabricator's web-based interface allowed distributed teams to collaborate as effectively as if they were in the same room.

  • Integration Needs: The advent of continuous integration/continuous deployment (CI/CD) highlighted the need for tools that could integrate with a variety of systems, a demand that Phabricator was well-equipped to meet.

Phabricator's history is a story of organic growth driven by the needs of one of the world's leading tech companies, and later by the broader software development community. It stands as a testament to the value of open-source philosophy and the power of community-driven development.

The platform continues to be relevant for modern software teams, addressing the challenges of collaboration, code quality, and project management. By embracing the principles of open source and focusing on the needs of developers, Phabricator has cemented its place in the landscape of development tools.

In the next sections, we will explore the technical underpinnings and practical applications of Phabricator’s various components, each of which plays a vital role in the platform’s overall utility and enduring legacy.

Give your PR workflow
an upgrade today

Stack easier | Ship smaller | Review quicker

Or install our CLI.
Product Screenshot 1
Product Screenshot 2