Skip to main content
Software Engineering Daily

Homebrew and macOS Package Management with Mike McQuaid

65 min episode · 2 min read
·
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.

Know someone who'd find this useful?

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.

Browse all Software Engineering Daily transcripts →

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 — Free

Keep Reading

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?

Similar Episodes

Related episodes from other podcasts

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 Digest

No credit card · Unsubscribe anytime