Homebrew isn’t really an application as such, more of a framework for installing apps. In particular, Open Source apps that Linux users have enjoyed as packages (.deb files in Ubuntu/Mint/Debian, RPM files in the RedHat series) for years. Homebrew is similar to MacPorts, which I’ve just stopped using and switched to Homebrew myself.
Why did I switch from MacPorts to Homebrew? Primarily because I like the way Homebrew keeps its files to itself and doesn’t clog up your mac directory structure – and yet, it allows you to run the apps straight from the command line, or add them to your dock if you desire. I’m not going to get into how to add Homebrew apps to your dock because that’s a bit in depth for this review.
Homebrew, unlike MacPorts, compiles everything from scratch – so you will need the Apple developer tools, and the Apple developer command line tools installed before you can run Homebrew. Fortunately, the Homebrew installer will advise you of this when you’re installing. The good thing about compiling from sources is that you know the produced binary will be taking advantage of the latest / greatest compiler technologies and doesn’t have any unmet dependencies on libraries.
Speaking of dependancies, those people who are familiar with a Linux distribution such as Ubuntu, Debian or any of the RedHat offerings, you’ll be familiar with the idea of package dependencies. Some software relies on other software to function properly. This is probably a bit odd for a normal Mac user, they install their app and it’s all standalone. The advantage with the approach taken by Homebrew is that there’s no duplication of packages. For example, some packages (such as Eve Online for example) require Python in order to run. To make the application standalone, a version of Python is bundled with the Application, unknown to the end-user. This isn’t a huge problem, except that it takes up extra diskspace. Package dependencies mean that multiple application can use the same dependent software. The downside can be incompatibilities between different apps, but since Homebrew manages all this for you, you don’t need to stress too much about that.
Homebrew will allow you to install all your favourite open source software quickly and easily simply by typing ‘brew install blah’ where blah of course is the package you want to install.
What would be nice though would be to have some kind of graphical shell you could fire up to browse all the different software, kind of like the Ubuntu package manager… Given that Homebrew is open source, maybe I need to think about writing something 🙂
Positives: Free, Open Source, Manages Dependencies (much like most Linux Package Managers)
Negatives: Potential for dependency errors, command line only