Library / SDK
Homebrew/brew avatar
Homebrew/brew

Homebrew 6.0: The Package Manager That Outgrew macOS

🍺 The Package Manager for Everywhere

49,615 stars11,345 forksRubyBSD-2-Clause

At a glance

What is it?
Homebrew is the default package manager for macOS and Linux, now at version 6.0. This review covers its scope, how it works, real commands, and where it falls short.
Who is it for?
Adopt Homebrew if you manage software on macOS or Linux and want a community-driven, non-profit package manager with a huge formula and cask catalog. Skip it if you need strict enterprise governance, Windows support, or a tool that does not depend on a volunteer team.
Can I use it commercially?
Yes. BSD-2-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Ruby, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Homebrew Actually Solves

Homebrew solves the problem of installing, updating, and removing software that your operating system does not ship with, or ships with an older version. It is aimed at developers and power users on macOS and Linux. The README calls it "The Package Manager for Everywhere," which is a stretch, but it is the default choice for macOS users who need tools like `ffmpeg` or `wget` without building from source. It also handles graphical applications through casks, which is something most package managers avoid. The project is a non-profit run by volunteers, which is both its strength and its weakness. You get a tool maintained by a large community, but you also depend on that community for security updates and bug fixes. The README explicitly asks for donations to pay for CI infrastructure, so the operational cost is real.

How It Works: Formulae, Casks, and Taps

Homebrew's core mechanism is the formula, a Ruby script that defines how to download, compile, and install a package. Casks extend this to GUI applications, distributing pre-built binaries. Taps are repositories of formulae, with the default ones being `homebrew/core` and `homebrew/cask`. The README shows that you can force-add these taps with `brew tap --force homebrew/core` or `brew tap --force homebrew/cask`, depending on whether you want command-line tools or apps. The actual data flow is straightforward: `brew install` reads a formula, fetches the source or binary, handles dependencies, and places the result in Homebrew's own prefix, which is typically `/opt/homebrew` on Apple Silicon or `/usr/local` on Intel. This isolation from the system's own libraries is what prevents dependency hell, but it also means you are running a parallel software tree that you must keep updated.

Getting It Running: Commands You Will Actually Use

The README points to `brew.sh` for installation, so the exact installer is not in this repository. Once installed, the first thing you do is run `brew update` to fetch the latest formulae. Then run `brew doctor` to check for problems. The README is emphatic: run and read `brew doctor` before asking for help. For day-to-day use, `brew install <formula>` is the main command. To audit a package before contributing, the README shows `brew audit --strict ffmpeg` as an example, and `brew audit --strict` to run on all packages. These are real commands from the README. The manual is available via `man brew`, which is a local reference you should consult. The project also mentions `brew bundle`, which lets you declare a set of packages in a file, but the README does not give the command syntax, so I cannot confirm it here.

Where Homebrew Is the Wrong Tool

Homebrew is not for everyone. It has no Windows support, so if your team is cross-platform, you will need a different solution for Windows machines. It also assumes you have write access to its prefix and the ability to run a Ruby-based toolchain. On a locked-down corporate Mac where you cannot install to `/opt/homebrew` without admin rights, Homebrew becomes a liability. The README's troubleshooting advice is to run `brew doctor` and read the checklist, which implies that problems do happen. A specific failure mode is when a formula's source tarball disappears or changes its checksum; the formula then fails to install, and you have to wait for a maintainer to fix it. Given that the project is volunteer-run, that fix may not be immediate. For production CI environments, you might prefer a container image that already has the tools baked in, rather than relying on a live package manager.

A Real Alternative: MacPorts vs. Homebrew

The main alternative on macOS is MacPorts. The difference is in approach. MacPorts compiles everything from source by default and installs into `/opt/local`, keeping a strict separation from the system. Homebrew, in contrast, prefers pre-built binaries for common formulae, which makes installs faster but means you are trusting the binary artifacts that Homebrew's CI produces. MacPorts also has a different dependency model, often pulling in more libraries because it does not reuse system ones. If you need a package that Homebrew does not have, MacPorts might have it, and vice versa. The choice comes down to whether you value speed and convenience (Homebrew) or a more traditional source-based approach (MacPorts). The README does not mention MacPorts, but this is a known comparison in the macOS ecosystem.

Maintenance, Upgrades, and License

Homebrew is actively maintained, with releases coming out roughly weekly. The recent releases listed are 6.0.18, 6.0.19, and 6.0.20, each about a week apart. That cadence means you should run `brew update` regularly to stay current. The project is under the BSD-2-Clause license for code, and the documentation is under Creative Commons Attribution 4.0. The BSD license is permissive, so you can integrate Homebrew's code into your own projects with minimal restrictions, but you must retain the copyright notice. The README also lists a security policy, so if you find a vulnerability, you should report it through that channel rather than opening a public issue. The upgrade cost is low for users: just run `brew update` and `brew upgrade`. For contributors, the audit process is the gate, and it is strict by default.

Editorial conclusion

Adopt Homebrew if you manage software on macOS or Linux and want a community-driven, non-profit package manager with a huge formula and cask catalog. Skip it if you need strict enterprise governance, Windows support, or a tool that does not depend on a volunteer team. Before adopting, verify that your required packages exist in the official taps, check the BSD-2-Clause license fits your distribution model, and read the troubleshooting checklist, because the project explicitly tells you to run `brew doctor` before asking for help.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes