Homebrew and macOS Package Management with Mike McQuaid
Episode
65 min
Read time
2 min
Topics
Leadership, Design & UX, Software Development
AI-Generated Summary
Key Takeaways
- ✓Formula Design with Ruby DSLs: Homebrew uses Ruby domain-specific languages to create package definitions that read like English declarations, making contributions accessible compared to complex RPM or AppGet packaging systems that required extensive technical knowledge and multiple configuration steps.
- ✓Binary Package Migration: Transitioning from source compilation to pre-built bottles reduced Qt build times from over one hour to seconds, eliminated 90% of support issues caused by user environment variations, and required running CI jobs up to 72 hours for dependency chains.
- ✓Removing Compile Options: Eliminating user-configurable build flags prevented combinatorial explosion where formulas with 5-10 options created thousands of untestable configurations, reducing noise that consumed maintainer time and threatened project sustainability despite user backlash.
- ✓Automation Over Human Review: Implementing RuboCop linters with auto-correction in editors like VS Code shifts pedantic feedback from maintainers to robots, enabling contributors to fix formatting issues before CI runs, allowing 30 maintainers to support 5-10 million users across 20,000 packages.
- ✓Maintainer Sustainability Practices: Creating safe spaces through zero-tolerance policies for abusive behavior, providing $300 monthly stipends, hosting annual in-person meetings, and encouraging maintainers to prioritize personal boundaries over immediate issue resolution prevents burnout and enables decade-long project involvement.
What It Covers
Mike McQuaid discusses Homebrew's architecture, design philosophy, and sustainability over sixteen years, covering Ruby-based DSLs, GitHub-first workflows, binary package migration, automated CI systems, community management, and maintaining open source projects long-term.
Key Questions Answered
- •Formula Design with Ruby DSLs: Homebrew uses Ruby domain-specific languages to create package definitions that read like English declarations, making contributions accessible compared to complex RPM or AppGet packaging systems that required extensive technical knowledge and multiple configuration steps.
- •Binary Package Migration: Transitioning from source compilation to pre-built bottles reduced Qt build times from over one hour to seconds, eliminated 90% of support issues caused by user environment variations, and required running CI jobs up to 72 hours for dependency chains.
- •Removing Compile Options: Eliminating user-configurable build flags prevented combinatorial explosion where formulas with 5-10 options created thousands of untestable configurations, reducing noise that consumed maintainer time and threatened project sustainability despite user backlash.
- •Automation Over Human Review: Implementing RuboCop linters with auto-correction in editors like VS Code shifts pedantic feedback from maintainers to robots, enabling contributors to fix formatting issues before CI runs, allowing 30 maintainers to support 5-10 million users across 20,000 packages.
- •Maintainer Sustainability Practices: Creating safe spaces through zero-tolerance policies for abusive behavior, providing $300 monthly stipends, hosting annual in-person meetings, and encouraging maintainers to prioritize personal boundaries over immediate issue resolution prevents burnout and enables decade-long project involvement.
Notable Moment
McQuaid describes physically transporting Mac Mini servers in a suitcase via train from Scotland to London to establish Homebrew's first CI infrastructure in a data center, illustrating the grassroots origins of what became critical infrastructure supporting millions of developers.
Episode Transcript
Homebrew is a widely used package manager that simplifies the installation of open source software on macOS. It was created in response to the growing demand for a lightweight developer friendly tool suited to an increasingly Mac centric development ecosystem. Today, Homebrew is a near essential part of the macOS software development toolkit. Mike McQuaid joined the project early on and collaborated closely with its creator, Max Howell. He joins the podcast with Kevin Ball to discuss Homebrew's origins, architecture, its emphasis on automation and CICD, long term sustainability, controversial trade offs, and much more. Kevin Ball or Kate Ball is the vice president of engineering at Mento and an independent coach for engineers and engineering leaders. He cofounded and served as CTO for two companies, founded the San Diego JavaScript meetup, and organizes the AI in action discussion group through Latent Space. Check out the show notes to follow Kay Ball on Twitter or LinkedIn, or visit his website, kball.llc. Mike, welcome to the show. Hey. Thanks for having me, Kevin. Yeah. Excited to get to talk to you. Let's let's maybe start with a little bit about you. Can you talk about your background and then how you got into Homebrew and and where we're gonna go today? Yeah. Sure. So I feel like in tech, I've kind of had two lives. Right? So there's my maybe a little bit like being a a really rubbish superhero, right, where I guess my commercial job related life you know, I'm a guy from Scotland. I interest in computers, did the computer science degree thing, got the tech job thing. I've been doing that since 2007, just, you know, like, getting jobs, changing jobs, paying the bills, having fun, all that stuff. But then there's my open source life, which is generally what's of more interest to people with Homebrew and all that type of background. So my love of open source, I guess, probably started while I was at university. Like, I I came to university. I heard about, you know, when I was in high school, people talking about installing Linux on the machine the same way that you might talk about, you know, taking illicit drugs or whatever. It was this kind of, like, risky, dangerous, sort of, like, somewhat admirable thing. So, yeah, so I got to university, like, a bit of a kind of Windows power user. I have not done meaningful programming really, like, beyond just trying to get games working like a peer and, you know, peer pressure happened pretty quickly. And I was like, okay. I need to get on the install Linux on my desktop bandwagon. Right? So got Linux on my desktop machine, got, like, a little home server of an old computer running my parents' house so I could, like, send data back and forth and all this type of stuff. And yeah. And, obviously, you know, desktop Linux, one of the nice things about it I mean, probably …
Get the full transcript (12,576 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 62-minute episode.
Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Software Engineering Daily
A Rust Framework to Simplify Distributed Systems
Sep 10 · 50 min
Freakonomics Radio
How a Great Architect Thinks, with Bjarke Ingels | Better in Person
Jul 14
More from Software Engineering Daily
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Sep 8 · 52 min
Cognitive Revolution
Calm AI for Crazy Days: Inside Granola's Design Philosophy, with co-founder Sam Stephenson
Apr 8
Books, tools, and gear mentioned in this episode
SignalCast may earn commission on purchases via these links.
Tools
“Implementing RuboCop linters with auto-correction in editors like VS Code shifts pedantic feedback from maintainers to robots.”
- HomebrewBy guest
“Mike McQuaid discusses Homebrew's architecture, design philosophy, and sustainability over sixteen years, covering Ruby-based DSLs, GitHub-first workflows, binary package migration, automated CI systems, community management, and maintaining open source projects long-term.”
“Implementing RuboCop linters with auto-correction in editors like VS Code shifts pedantic feedback from maintainers to robots, enabling contributors to fix formatting issues before CI runs.”
More from Software Engineering Daily
We summarize every new episode. Want them in your inbox?
A Rust Framework to Simplify Distributed Systems
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Moving Beyond RAG with Precomputed Context
The Death of Online Anonymity
TypeScript 7 and What Comes Next
Similar Episodes
Related episodes from other podcasts
Freakonomics Radio
Jul 14
How a Great Architect Thinks, with Bjarke Ingels | Better in Person
Cognitive Revolution
Apr 8
Calm AI for Crazy Days: Inside Granola's Design Philosophy, with co-founder Sam Stephenson
The Changelog
Sep 26
Voices of Oxide (Interview)
The AI Breakdown
Sep 6
How to Build an AI-Native Company Today
Cognitive Revolution
Sep 1
Write, Change, Recall, Forget: MongoDB's Pete Johnson on How Retrieval Drives Agent Performance
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.
You're clearly into Software Engineering Daily.
Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime