Installing and updating applications and other dependencies on a computer really should be a solved problem by now. Yet almost every major desktop operating system provides multiple options, with no real clear answer to “which is best.” 

Linux, despite long-established package managers such as apt, deb, and rpm, just to name a few, still suffers from confusion and inconsistency between open source vs proprietary instals, as well as between developer tools and more user-focussed tools. Additionally, many package developers don’t even distribute to any package managers, or the versions you find in them are outdated.

Windows isn’t much better, with several “official” and unofficial ways to install and keep applications up to date, including an app store, installer packages, and several community-maintained options.

As for macOS, Apple introduced the Mac App Store 13 years ago, and while it does a decent job, it also has many vendors and tools missing, mostly due to Apple’s notoriously high fees and policies that limit what sorts of applications developers can list in the store. This means that macOS still suffers from many of the same problems as Windows, with multiple alternative methods to install applications, and keeping them up to date is a case of individual responsibility, time, and effort.

Enter Homebrew

The

The latest rumblings from the EU tech scene, a story from our wise ol’ founder Boris, and some questionable AI art. It’s free, every week, in your inbox. Sign up now!

Initially created as an option for developers to keep the dependencies they often need for developing, testing, and running their work, Homebrew has grown to be so much more in its 15-year history. Offering methods for installing graphical and proprietary applications with casks, managing background services, creating a reproducible list of what’s installed on a machine with Brewfiles, and much more.

It even merged with a community-maintained (called a “fork” in open source) version for Linux (“Linuxbrew”), providing yet another package management option for the Linux ecosystem.

At various points in its history, it was the most popular and contributed-to project on GitHub. There were also times when its popularity and architecture brought the infrastructure it uses to a shuddering halt.

In short, if I meet a developer using a Mac, I can almost guarantee they’re using Homebrew. That’s how widespread it is. Even if you’re not a developer, I recommend it as the best (if not only) option on macOS to keep a wide variety of applications from disparate sources maintained.

Homebrew’s history

Originally created by Max Howell in 2009 in the Ruby programming language, Homebrew has remained consistently popular, well-maintained, and updated. It always keeps on top of major macOS and Apple updates, such as the loss of support for 32-bit applications in macOS Catalina and the switch to Apple Silicon. Whilst there’s no Windows version, Chocolatey works similarly and was likely inspired by Homebrew.

It wasn’t the first attempt at a macOS package manager. Fink predates it by eight years and the second best known option, MacPorts predates it by seven years. But despite several ex-Apple employees starting the MacPorts and having syntax perhaps more Similar to Linux package managers, Homebrew has far eclipsed it in the past ten years. 

Somewhere in a spare room in Scotland

Despite this long history and popularity, when I heard that the project’s lead maintainer since 2009, Mike McQuaid, had moved from his decade-long role at GitHub to found his own company, my first thought was a surprise that the lead maintainer of one the world’s most popular and successful open-source projects had a day job.

Such is open source, especially when you run a project in the more traditional community-first manner that Homebrew does. It was never developed to create an opportunity for a startup or with the intention of becoming a foundation, but purely to fulfil user needs.

I asked Mike what it’s like maintaining one of the largest open-source projects largely in your spare time in the northern extremities of Europe. “Over here, tech’s not nearly as big as it is in the US, but I had a young lad come up to me in the gym today and say, ‘Oh, are you the Homebrew guy? I can’t believe a tech celebrity goes to my gym!’ As a Scot, it made me cringe a bit, public recognition and compliments are rare here,” he replied. 

‘Very little time’ for noisy and entitled users

As with anything that attracts plenty of use and attention, Homebrew also attracts a lot of mixed and extreme opinions, and processing and filtering those requires a tough outlook, something that Mike has spoken about in numerous interviews and at conferences

“As a large project, you get a lot of hate from people. Either people are just frustrated because they hit a bug or because you changed something, and they didn’t read the release notes, and now something’s broken,” Mike says when I ask him about how he copes with the constant influx of communication.

“There are a lot of entitled, noisy users in open source who contribute very little and like to shout at people and make them feel bad. One of my strengths is that I have very little time for those people, and I just insta-block them or close their issues.”

More crucially, an open-source project is often managed and maintained by a group of people. Homebrew has several dozen maintainers and nearly one thousand total contributors. Mike explains that all of these people also deserve to be treated with respect by users, “I’m also super protective of my maintainers, and I don’t want them to be treated that way either.” 

Workbrew, Homebrew for enterprise

But despite these features and its widespread use, one area Homebrew has always lacked is the ability to work well with teams of users. This is where Workbrew, a company Mike founded with two other Homebrew maintainers, steps in.

Often, large companies use tools such as or similar to mobile device management (MDM) to control what their employees can install and run on their computers. Similarly, for provisioning new machines. 

Unlike Windows, macOS has some tools and services for giving new hires the laptop setup they need when beginning a new role, but they lack widespread support, and typically, Mac users are used to more freedom with their machines. Whilst macOS is less susceptible to some of Windows’ security and vulnerability issues, it’s no less susceptible to regulatory or governance concerns such as tracking vulnerable software or software that doesn’t meet licensing requirements.

But developers using macOS are used to using Homebrew, so Workbrew steps between these two worlds, integrating with MDM and provisioning tools to allow IT admins at companies to give their developers the freedom they want, but with guardrails around what software and what versions they can install. 

Workbrew ties together various Homebrew features with custom glue to create a workflow for setting up and maintaining Mac machines. It adds new features that core Homebrew maintainers had no interest in adding, such as admin and reporting dashboards for a computing fleet, while bringing more general improvements to the core project.

Open-source purist

Bearing in mind Mike’s motivation to keep Homebrew in the “traditional open source” model, I asked him how he intended to keep the needs of the project and the business separated and satisfied. 

“We’ve seen a lot of churn in the last few years from companies that made licensing decisions five or ten years ago, which have now changed quite dramatically and have generated quite a lot of community backlash,” Mike said. “I’m very sensitive to that, and I am a little bit of an open-source purist in that I still consider the open-source initiative’s definition of open source to be what open source means. If you don’t comply with that, then you can be another thing, but I think you’re probably not open source.”

And regarding keeping his and his co-founder’s dual roles separated, Mike states, “I’m the CTO and co-founder of Workbrew, and I’m the project leader of Homebrew. The project leader with Homebrew is an elected position.” Every year, the maintainers and the community elect a candidate.

“But then, with the Homebrew maintainers working with us on Workbrew, one of the things I say is that when we’re working on Workbrew, I’m your boss now, but when we work on Homebrew, I’m not your boss,” Mike adds. “If you think I’m saying something and it’s a bad idea, you tell me it’s a bad idea, right?”

The company is keeping its early progress in a private beta for now, but you can expect an announcement soon. As for what’s happening for Homebrew? Well, in the best “open source” way, that’s up to the community and always will be. 



Source link