TopGit
GitHub Repo Review

Homebrew: The Package Manager for macOS and Linux

HTopGit review image for Homebrew/brew
Review by Topgit.dev for Homebrew/brew, with GitHub repository stats and README context.
Quick verdict

Homebrew is the command-line package manager most Mac developers reach for before they've finished reading a new project's setup instructions. Its own README backs that habit: a non-profit, volunteer-run project with a named project leader and a documented lead-maintainer team, not one person's side project. The catch is that same volunteer structure — support depends on donated time and public fundraising, not a service contract.

Stars
★ 49.7k
Forks
⑂ 11.4k
Contributors
👥 1.4k
Language
Ruby
License
BSD-2-Clause
Topic
Developer Tools
Updated
Sep 2026
Homepage
GitHub

What Is Homebrew?

Homebrew is a command-line package manager, written in Ruby and released under the BSD-2-Clause license, for installing software you'd otherwise hunt down and build yourself. It splits packages into formulae for command-line tools and casks for macOS GUI apps, both browsable at formulae.brew.sh, plus taps for pulling in extra package repositories. The project calls itself the package manager for everywhere.

Homebrew's Core Features

  • Formulae — package definitions for command-line tools, listed with their dependencies and versions at formulae.brew.sh/formula.
  • Casks — the same install/update/remove workflow as formulae, but for macOS GUI applications, browsable at formulae.brew.sh/cask.
  • Taps — git-based repositories that add formulae or casks beyond Homebrew's own defaults, added with a command like `brew tap --force homebrew/cask`.
  • brew doctor — a self-diagnostic command the project's own troubleshooting guidance says to run, and actually read, before asking for help.
  • brew audit --strict — the linting command every formula or cask change has to pass before Homebrew accepts a pull request.
  • Anonymous analytics — Homebrew collects anonymised install, build, and OS usage data, published at formulae.brew.sh/analytics, with its own documented opt-out.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history

Installing Homebrew

This repository's own README doesn't include the install command — it points to Homebrew's homepage at brew.sh for installation instructions and to docs.brew.sh/Installation for the full walkthrough. That's deliberate: brew.sh keeps one canonical install script instead of letting the command drift out of sync across mirrored READMEs. If you want the actual one-line install command, brew.sh is where Homebrew wants you to copy it from, not GitHub.

Managing Packages with brew

Homebrew keeps its day-to-day command reference in the manual — the README says to read it with `man brew` — rather than repeating it here. What the README does spell out directly: run `brew update` to refresh the formula and cask definitions, then run `brew doctor` and actually read the output, since skipping that step is what the maintainers say makes support take longer than it needs to. Read the output. Adding a repository beyond Homebrew's own default set uses `brew tap`, the same way the project's own contributing guide opens with `brew tap --force homebrew/core` or `brew tap --force homebrew/cask`. Beyond update, doctor, and tap, the commands for installing, upgrading, or removing an individual package live in `man brew` and docs.brew.sh, not in this repository.

Strengths

  • Non-profit, volunteer-run governance with a named project leader and a documented lead-maintainer team, not one person's side project.
  • One workflow covers both command-line tools (formulae) and GUI apps (casks) instead of needing separate tools for each.
  • The contribution path is enforced with an actual audit command (`brew audit --strict`), not just a vague "PRs welcome."
  • Backed by real infrastructure sponsors — MacStadium's Orka for CI, DNSimple for DNS, 1Password for credential storage — instead of running purely on goodwill.

Limitations to Be Aware Of

  • Install, upgrade, and uninstall syntax isn't in this repository's README at all — it defers entirely to brew.sh and docs.brew.sh, so reading this repo alone won't teach you to use the tool.
  • It's volunteer-run, and the project says so plainly: it depends on donations through GitHub Sponsors, Open Collective, and Patreon to cover CI and hosting, not a funded company behind it.
  • Linux support is asserted only through the "package manager for everywhere" tagline — no setup specifics or platform differences are documented in this README.
  • Formula and cask contributions go through a strict audit (`brew audit --strict`) before acceptance, which is good for quality but adds real friction if you just want to submit a quick fix.

Alternatives to Homebrew

MacPorts — the older macOS-only package manager; installs into its own /opt/local prefix instead of Homebrew's shared prefix, and predates Homebrew as a project.Nix — a cross-platform, functional package manager built around reproducible builds and rollbacks, at the cost of a much steeper learning curve than `brew install`.Your Linux distro's native package manager (apt, dnf, pacman) — if you're not on macOS, the OS-level tool is usually the more integrated choice; Homebrew markets itself as usable there too, but it isn't the native option.

Frequently Asked Questions

Is Homebrew free and open source?

Homebrew is free and open source, released under the BSD-2-Clause license, with its documentation separately licensed under Creative Commons Attribution 4.0.

How do I update Homebrew on macOS?

Updating Homebrew itself is done by running `brew update` in a terminal — it's the first step the project's own troubleshooting guidance tells you to run before anything else, including before filing a bug report.

What is the difference between a formula and a cask in Homebrew?

A formula is Homebrew's package definition for command-line software, browsable at formulae.brew.sh/formula; a cask is the equivalent definition for installing macOS GUI applications, listed separately at formulae.brew.sh/cask.

Can Homebrew be installed on Linux?

Homebrew installs and runs on Linux, not just macOS — the project describes itself as "the package manager for everywhere" rather than an Apple-only tool, though this repository's README doesn't detail Linux-specific setup steps.

How do I fix warnings from brew doctor?

Homebrew's own guidance is to actually read the `brew doctor` output rather than skip past it, since each warning names your specific issue, then check the Troubleshooting Checklist on docs.brew.sh if a warning isn't self-explanatory.

How do I uninstall a package with Homebrew?

Homebrew's own README doesn't spell out the uninstall command — it defers all usage details, including package removal, to `man brew` and the manual at docs.brew.sh rather than documenting them in this repository.

The problem it solves

macOS doesn't ship with a package manager. There's no apt, no dnf, nothing built in to track what's installed or resolve dependencies for you. Before Homebrew, installing a command-line tool usually meant downloading a prebuilt binary, unzipping it somewhere, and manually adding it to your PATH — repeated separately for every tool, with no shared way to list, update, or remove any of it later. Homebrew replaces that ad hoc process with formulae for command-line tools and casks for GUI apps that `brew` installs, tracks, and updates the same way, plus taps for pulling in package repositories beyond Homebrew's own defaults.

Best use cases

  • Bootstrapping a new Mac — install git, a language runtime, a database client, and a dozen other CLI tools with one `brew install` per tool instead of hunting down installers individually.
  • Installing everyday GUI software as casks, so the same update-and-remove workflow that covers your CLI tools also covers your Applications folder.
  • Scripting a repeatable dev-environment setup, since formula and cask names are just arguments to `brew install` and drop straight into a dotfiles repo.
  • Extending past Homebrew's default package set by tapping a third-party or organization repository, the way the README's own contributing walkthrough does with `brew tap --force homebrew/core`.

Who should try it — and who should skip

Mac developers who want one command for both CLI tools and GUI apps should install Homebrew without much debate — it's close to a default expectation in the ecosystem, and its governance (a named project leader, a documented lead-maintainer team, a real audit process) holds up under a look at the README. Skip it, or at least lower your expectations, if you need commercial support with guarantees: Homebrew says outright that it's non-profit and volunteer-run, funded by donations rather than a support contract. Anyone managing a fleet of machines with strict reproducibility requirements should also look elsewhere first, since this README doesn't document version-pinning or reproducible-build guarantees.

Related repositories

Source & attribution

Based on the Homebrew/brew GitHub repository and its README.

GitHub data · last synced Aug 15, 2026Reviewed by Henry
Back to TopGit

Is brew worth your time?

ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of brew.

GitHub