Ep. #14, The Workbrew Story with Mike McQuaid and John Britton
Interviewed by Open Source Ready Podcast
In episode 14 of Open Source Ready, special guests Mike McQuaid and John Britton join Brian and John to share the story of Workbrew.
Show transcript
- 0:00 So, Homebrew is an open-source package manager, primarily targeted at macOS.
- 0:05 It's got tens of millions of users, something like 15,000 packages available,
- 0:10 and it's pretty much the de facto kind of app store for developers on Macs.
- 0:15 It's pretty crazy. Like, Homebrew is unusual, I think, in terms of just being relentlessly obsessed with automation.
- 0:22 Like, anything we can automate, we try and automate.
- 0:25 While at the same time prioritizing the security side of things.
- 0:29 Hi, this is Brian Douglas, and you're listening to Open Source Ready,
- 0:34 a bi-weekly series where we discuss the evolution of open-source software and its impact on the tech landscape.
- 0:39 Along with my co-host, John McBride, we'll explore topics like open-source AI,
- 0:43 the business, and the life and sustainability of open-source.
- 0:46 Open Source Ready is brought to you by Heavybit, the leading investor of developer-first startups.
- 0:51 For more information, visit heavybit.com.
- 0:53 If you're interested in being a guest on the show, or if you'd like to suggest a topic,
- 0:57 find us at x.com slash open-source ready.
- 1:03 Welcome to the installment of Open Source Ready.
- 1:05 John McBride, you're back again as co-host.
- 1:07 How are you doing?
- 1:08 Hey, I'm back.
- 1:09 How are you doing, Brian?
- 1:10 Yeah, thanks for never letting go.
- 1:11 You're still holding on?
- 1:12 I try.
- 1:13 This is episode 14, actually, at this point.
- 1:15 Wow.
- 1:16 We haven't podfaded, as they say in the business.
- 1:18 I think the number seven, where you quit.
- 1:21 Okay.
- 1:22 So we're over the peak, you would say.
- 1:23 Over the peak.
- 1:24 But we're not here to talk about that.
- 1:26 We actually have some pretty cool guests.
- 1:27 We got Mike McQuaid and John Britton from Workbrew.
- 1:30 Mike, how you doing?
- 1:31 Hello, very good.
- 1:32 Thank you for having me today.
- 1:33 Yeah, and John, you're here as well?
- 1:35 Yeah, thanks.
- 1:36 It's good to be here.
- 1:37 Cool.
- 1:38 So let's do some intros.
- 1:39 Mike, you can go first.
- 1:40 Tell us, who are you?
- 1:41 What do you do?
- 1:42 Why are you doing this?
- 1:44 Yeah, I'm Mike McQuaid.
- 1:46 I live in, today, actually, truthfully sunny Edinburgh in Scotland.
- 1:50 I have worked on developer tools for the last probably 20-ish years.
- 1:56 Most recently, I guess we'll talk about that later, I'm working at Workbrew.
- 2:00 That's a company I started with John.
- 2:02 And for the last 16 years, I've worked on Homebrew, the macOS and Linux package manager.
- 2:08 Which I've been kind of leading for the last few while as well.
- 2:10 And I spent a decade at GitHub building developer tools there as well.
- 2:14 Yeah, John, you've got a pretty extensive background, but what do you do?
- 2:18 So I've spent most of my career also in developer tools, but mostly on the go-to-market side.
- 2:23 So I got my start as a developer advocate at Twilio.
- 2:27 I also worked at GitHub for a number of years on the education side.
- 2:32 And then later on kind of DevRel and then developer marketing.
- 2:35 Until I came out and started working with Mike and started Workbrew a couple of years ago now.
- 2:40 So yeah, I've been doing developer tools and web development, that kind of stuff for 20-plus years.
- 2:46 Yeah, so honestly, we probably just want to not bury the lead.
- 2:49 And let's just describe what Workbrew is and where it fits today.
- 2:53 And so how you came to this conclusion that it needed to be in the world.
- 2:56 I mean, I think the best way to start is to start with Homebrew.
- 2:59 So Homebrew is an open-source package manager, primarily targeted at macOS.
- 3:04 It's got tens of millions of users, something like 15,000 packages available.
- 3:08 And it's pretty much the de facto kind of app store for developers on Macs.
- 3:13 And with Mike's extensive history as project leader of Homebrew,
- 3:17 it was obvious to me as early as, let's say, 2013, that there was an opportunity here for a business.
- 3:23 It took us quite a long time to figure out what that was.
- 3:26 And after going out and talking to lots of companies, especially companies in regulated industries,
- 3:31 where they have kind of rules of, you know, things that they need to keep secure and whatnot,
- 3:37 we found that there was a need for kind of a managed version of brew.
- 3:42 So that's where we ended up going and building Workbrew,
- 3:45 essentially taking Homebrew from a single-player experience on one developer's machine
- 3:50 to a multiplayer, team-wide experience with kind of centralized management.
- 3:54 Our core value proposition is that you have one place to manage all of the software
- 3:59 installed across your entire fleet of devices.
- 4:01 You get full visibility, you get the ability to, you know, kind of remotely manage, patch, upgrade things,
- 4:07 and set kind of some compliance guardrails to make sure that, you know,
- 4:11 your developers are happy, but also safe and secure.
- 4:13 Yeah, this is great and actually really resonates with me because years ago, I built,
- 4:19 I mean, it was really just a bunch of bash scripts for bootstrapping workstations at Pivotal.
- 4:24 And the way Pivotal worked was, you know, everybody just sat at a workstation
- 4:28 to do pair programming together.
- 4:29 So ideally, you could just like move around to any of these different computers.
- 4:33 You had to do a bunch of this different stuff.
- 4:35 And it was constantly breaking.
- 4:36 So I can really appreciate this work and know that it's very, very valuable.
- 4:41 Mike has an open source project from GitHub Times.
- 4:44 Maybe you want to talk a little bit about Strat, Mike?
- 4:45 Yeah, we did the same sort of things at GitHub where Homebrew is kind of fairly integral
- 4:51 to the developer experience there.
- 4:53 So yeah, we built, well, I guess I built a thing called Strap that was basically just the
- 4:58 delivery mechanism for the first thing you could run on your laptop to get kind of
- 5:02 Homebrew set up in your machine.
- 5:03 And then kind of on top of that, you could have your personal like brew file, which is a big,
- 5:09 maybe the coolest part of Homebrew I feel like people don't know a lot about, which is basically
- 5:13 like a declarative way that you can like list, I want all these packages on my machine.
- 5:17 And then you could keep that in your .files repository.
- 5:20 And then basically that's, you can get everything from Homebrew bootstrapped on your machine that
- 5:25 But also in GitHub, we use them extensively across projects as well.
- 5:29 So rather than having a new readme like, oh yeah, remember to install Postgres and set
- 5:33 You could have scripts that would call the brew file in the repo to make sure that everything
- 5:37 was, that the projects needed, had that installed in the right directory.
- 5:40 So yeah, that all worked pretty nicely.
- 5:43 And as you say, John, like I think the goal for this stuff is always onboarding, making that
- 5:49 speedy, turning documentation into code, making it consistent, all this good stuff.
- 5:55 Yeah, and John McBride, I don't know if you, you mentioned Pivotal in passing, but like some
- 6:00 people might not even know Pivotal's like engineering culture, where it was like paraprogramming all
- 6:04 the time, every day at the paraprogramming station, which is like amazing that that was even a
- 6:10 I don't know if that's still a thing at companies today, but like I've got like my personal
- 6:14 keyboard that has like my touch and feel, like I can't type without it.
- 6:17 It goes everywhere with me.
- 6:18 I couldn't imagine having, not only not having my keyboard, but also not having my setup.
- 6:23 And like just before we got on this call, I upgraded my Postgres to like 14.7 using brew
- 6:29 Nice.
- 6:30 So I was going to ask the question because I've been, so John's been working on this like
- 6:33 AI agent framework in Go, and I've been like testing it out.
- 6:37 I'm not a Go, I don't feel like I'm a Gopher yet.
- 6:39 And I don't really know a lot about setups.
- 6:41 I just do, I used to be a copy and paster from Stack Overflow, but I constantly run into
- 6:46 like the problem of like, I don't have the right versions.
- 6:49 I don't have the right things set up.
- 6:50 My user bin, local, whatever, it's all messed up because I don't know how ZSH works.
- 6:56 So I guess the question is like, is Workbrew today, is that solving that for like engineering
- 7:01 Yeah.
- 7:02 So I think basically like Workbrew has two main audiences in mind, right?
- 7:07 So one of them is Mac admins that we talked about before, essentially like the people in
- 7:13 your IT or security team who are making sure that all the Macs have the right software and
- 7:17 are in compliance and stuff like that.
- 7:19 And historically, that crowd has kind of not been a huge fan of Homebrew because they don't
- 7:24 The tools they use like Jamf, Kanji, MDM tools don't play nicely with Homebrew.
- 7:29 So basically like that's the main first piece we've built right now.
- 7:32 And then we also care a lot about developers.
- 7:35 Obviously, like we are building a developer tool inside of Homebrew.
- 7:39 And like the goal with Workbrew so far has essentially been to provide all of the compliance and
- 7:44 security stuff that those folks work and a identical developer experience, basically.
- 7:49 A just as good, you wouldn't know that you're using Workbrew instead of Homebrew.
- 7:52 But we're not ready to announce anything just now, but we definitely we have stuff in the
- 7:57 pipeline related to what you were talking about, Brian, where we have heard those concerns
- 8:03 before about like the issues around, say, reproducibility with Homebrew and being able to set up a
- 8:10 And then turns out everything that was working fine on the old machine is now not working on
- 8:14 the new machine.
- 8:15 And basically like the only thing we can say there is like we've heard that loud and clear
- 8:19 and we at Workbrew are working on solving that.
- 8:22 We just don't have the announcement for that type of stuff yet.
- 8:26 Yeah.
- 8:27 And I think like just to add to that, the idea behind Workbrew also is not just to give the
- 8:33 same level of experience on the developer side, but to make it better.
- 8:38 How can we make things better for teams that are using Brew?
- 8:41 I've used Brew with lots of different teams and generally there's some patterns that people
- 8:48 follow and find.
- 8:49 Oftentimes it's like Mike said, there's a read need with a bunch of packages you need to
- 8:52 install.
- 8:53 Maybe there's a script that calls Brew Bundle.
- 8:55 Maybe there's different stuff, but there's not a recommended path, let's say.
- 9:00 And I think we can go a long way in giving companies more of a recommended path to make sure that
- 9:05 their developer environments are consistent and reliable and easy to set up and smooth and
- 9:09 also secure and have the latest things and free from vulnerabilities and whatnot.
- 9:14 So yeah, there's more to come on that front for sure.
- 9:16 Yeah.
- 9:17 So it seems like there's a very bright future for Workbrew and the Brew ecosystem at large.
- 9:23 Mike, I did want to ask you about like kind of the past and like where we're coming from.
- 9:28 Because I mean, for me, Brew itself is almost table stakes, even on like my Linux desktop.
- 9:34 Like there's just some packages I got to get off of Brew.
- 9:36 But where has this like community gone?
- 9:40 You know, you've been maintaining it for a long time.
- 9:42 How do you handle all that pressure across, you know, basically every developer's MacBook
- 9:47 Yeah, it's pretty crazy.
- 9:50 Like Homebrew is unusual, I think, in terms of how much stuff goes on and how many packages
- 9:56 we provide and how few people are involved day to day.
- 9:59 So we have like, I think, 30 something maintainers.
- 10:03 In reality, probably like 15 are pretty regular.
- 10:07 And then on like a daily basis, you know, you might have, you know, 10 or so who kind
- 10:12 of are interacting with the project.
- 10:14 And yeah, I guess that seems pretty crazy in terms of how do you keep on top of version
- 10:20 of taste for like 20,000 packages.
- 10:21 And I guess the answer has been twofold.
- 10:25 And I'd like to take credit for at least some of that.
- 10:27 Like one is just being relentlessly obsessed with automation.
- 10:32 Like anything we can automate, we try and automate.
- 10:35 While at the same time prioritizing the security side of things.
- 10:39 So for example, like John McBride, if you had a GitHub project or whatever, and you release
- 10:45 some new version and it's packaged in Homebrew, then basically we would have software that
- 10:49 would essentially detect that on a very regular basis and then just go, okay, John's releasing
- 10:55 more software, make a PR, build it, package it, test it, make sure everything looks fine.
- 11:01 But then we still have a human required to basically look at that, check the results, check the pull
- 11:06 requests, check the changes, essentially make sure the automation is going well, and then
- 11:12 So I guess I like to think that I was, you know, we were doing a human in the loop before
- 11:18 it was the buzzword du jour.
- 11:20 Yeah.
- 11:21 Honestly, a huge, huge mad respect to that because like, I mean, just the vast amount of software
- 11:28 that floats through Brew, like pretty insane, you know, the stability and the secure aspect
- 11:33 of that.
- 11:34 So yeah, mad respect, honestly.
- 11:36 The other, I think, piece of that, which I feel like doesn't get talked about that much
- 11:41 in open source really, is like being pretty aggressive with our like interpersonal boundaries,
- 11:47 right?
- 11:48 So I am a member of two simultaneous camps that I don't think are unrelated.
- 11:53 One is someone who's actually been continually maintaining the same piece of software on a near
- 11:57 daily basis for 15 years.
- 11:59 And the second is being somewhat known as like a fairly brusque individual who has very
- 12:06 strict interpersonal boundaries when it comes to open source.
- 12:08 And like for me, like that's how I've been able to not burn out, frankly, is because I,
- 12:14 and I encourage everyone on the project to behave the same way.
- 12:16 Like I don't feel like I have to do things, right?
- 12:20 And if people are being very rude or entitled or their behavior is inappropriate, when they're
- 12:26 dealing with a volunteer run open source project like Homebrew, it's like, well, essentially
- 12:30 you're living off the goodwill of the maintainers who are working on that.
- 12:34 And actually, in almost all cases, they are just more important than you, right?
- 12:38 If they burn out, many more people suffer than if your issue doesn't get responded to
- 12:42 or fixed or whatever it may be.
- 12:44 So we've kind of really fostered this culture of like prioritizing the mental health of the
- 12:50 maintainers and stuff like that over necessarily trying to implement everything that everyone
- 12:54 might want us to implement.
- 12:55 And in some cases, that's meant like getting rid of features in Homebrew because lots of
- 13:00 people like them, but the support burden is just too high.
- 13:02 And that's the nice thing with Workbrew is that now finally, like A, when it's actually
- 13:07 a day job, you know, you can not just have to learn personal boundaries, but you have an
- 13:11 actual team and like contracts and all these nice, beautiful things that we have, thanks
- 13:16 capitalism.
- 13:17 And also, you have the ability to support people at a higher level, right?
- 13:20 Like if you're doing evenings and weekends stuff, right?
- 13:23 If someone's like, hey, I need help for two weeks building some integration with an MDM
- 13:28 provider, like that's a no for me for my evenings and weekends.
- 13:32 And that's a yes for me on my, you know, nine to five, Monday to Friday, right?
- 13:35 Like I'm more than happy to do that stuff and build something awesome that does what
- 13:39 Yeah.
- 13:40 Amen to that.
- 13:41 Honestly, I've been on the burnout track for a long time with some of my open source stuff.
- 13:45 So yeah, that really resonates.
- 13:47 It's hard to not like feel that burden.
- 13:50 So it's amazing that you've been able to kind of separate yourself.
- 13:53 I'm sure it's been like a big part of that sustainability.
- 13:55 I know, Brian, do you, have you like experienced that before?
- 13:58 Like in some of your open source work?
- 14:00 Yeah, it's funny how, I can't remember I mentioned this on recording or before the recording,
- 14:05 but like I worked for John at GitHub and then I worked with Mike at GitHub as well.
- 14:09 And even like with Strap, actually the job before GitHub, I remember actually using a sort
- 14:15 of carbon copy of what Strap was to get started in our environment.
- 14:19 But like so much of what Mike says, what he just said really about maintaining open source
- 14:23 is like what I've also kind of thought through.
- 14:25 Like a lot of my open source is like GitHub Actions because I happen to be the face of that
- 14:30 But I'm like totally fine with like never responding to a random issue in action.
- 14:34 And I just archived like three repos like just last week because I'm like, hey, story
- 14:38 changed.
- 14:39 Like my goals have changed.
- 14:40 Priorities have changed.
- 14:41 I can't support this anymore.
- 14:43 So like clone it, fork it, whatever.
- 14:45 It's in the readme.
- 14:46 So yeah, it's hard because like there's a lot of folks who have like main character
- 14:50 energy when it comes to like and getting involved in open source and like, hey, I found this
- 14:55 cool thing and it's going to solve all my problems if you spend more time on this.
- 14:59 But I've got three kids and I prefer to make myself available to them first, which means
- 15:06 Outrageous.
- 15:07 Yeah, right.
- 15:08 I can imagine like growing a human in this world and like not being on my laptop all the
- 15:12 time.
- 15:13 Like that's crazy.
- 15:15 But I mean, people pick your poison.
- 15:16 Like everyone's got their opportunities and their things that they want to get accomplished.
- 15:21 So I'm also 38 years old.
- 15:23 So like I don't have the energy to spend all that time maintaining software that was a cool
- 15:28 like fever dream that I had like a few months ago.
- 15:30 Can I just say I'm delighted to hear that you are archiving repos?
- 15:34 Because fun fact, I actually built that feature.
- 15:37 This is it all gets basically connected.
- 15:39 I built that feature while on John's team, not in engineering at GitHub.
- 15:43 Basically, just because I was hearing again and again from open source maintainers, they
- 15:47 were like, yeah, I'm just like done with this project.
- 15:48 And basically my options are either I delete it, in which case that feels like the nuclear
- 15:53 option, or I just get spammed with issues for the rest of eternity.
- 15:58 So yeah, so like there was some code in GitHub for like migrating repos to GitHub Enterprise
- 16:04 And I was like, yeah, but if you like sort of put them in like migration modes and then
- 16:08 just never take them out, then that's kind of like archiving, right?
- 16:12 Like we can just make it shut up and then no one could contact you.
- 16:15 And then yeah, like so it makes me very happy whenever I hear anyone being like, oh yeah,
- 16:20 I archived the repo just because I couldn't handle it anymore.
- 16:22 I'm like, great, you did exactly what I hoped you would do.
- 16:25 I think one of my favorite non-obvious sustainability options like that Homebrew employs is the idea
- 16:32 of not supporting every feature that people ask for and just saying, you know, this is hard
- 16:37 to support, so we're not going to make it.
- 16:40 Or, you know, kind of leaving the configuration available and telling the user, this is officially
- 16:46 an unsupported configuration.
- 16:47 If you try to get support from us for this, we will not support you.
- 16:51 But, you know, proceed at your own risk, right?
- 16:53 So if you have a team, and we know of many companies where they effectively take the open
- 16:59 source version of Homebrew and they run an internal mirror of it with their own kind of security
- 17:03 and compliance functionality baked in, that's not officially supported by the open source project.
- 17:09 And that's like, you know, some of those hooks are there and people can benefit from that
- 17:12 But the maintainers of the project, it's not of their interest, you know, to build features
- 17:19 that are custom tailored to like one giant corporation that has tons and tons of money for free.
- 17:24 And that also creates a great opportunity for us to come along with Workbrew and say, hey,
- 17:28 you know, we'll build that stuff for you and we'll turn into a product.
- 17:31 Yeah, that's a good point, John.
- 17:33 And I was gonna, like, I wanted to ask about Docker in a moment, but actually, I know Solomon
- 17:38 Hikes, co-creator of Docker.
- 17:40 I actually sat down with him like a couple years ago, and was like, hey, why did Docker
- 17:44 And this is like a public conversations on the open source podcast.
- 17:47 And the thing he cited like immediately, and I was like, oh, this is bold, but also great
- 17:53 that you realize this is that they Docker got to the point where they said yes to everything.
- 17:56 And like the challenge of them trying to get profitability and have VC scale, but also enterprise
- 18:03 ready products, they just had too much bloat in the product and the company and what they
- 18:08 And it got to a point where it couldn't really sustain itself.
- 18:11 So like going back to this conversation around homebrew, it's like, it is nice to hear that
- 18:17 like, yeah, there's things that actually we're in a delete eventually.
- 18:19 There's things that probably belong in Workbrew and not in Homebrew, which it sounds like
- 18:24 that seems like a very natural progression of like where people can get their questions
- 18:28 answered and eventually hopefully pay for it.
- 18:30 But I want to ask the question of like the relation to Docker, because
- 18:33 like when I think about environments and like setups, and now we've got like these like
- 18:37 agent environments where I cannot have a runtime for my agent in like in the context
- 18:42 of AI, like where does Homebrew, Workbrew, where does that fit in that world?
- 18:46 Are we replacing Docker eventually?
- 18:48 You know, I kind of want to like frame this as a, you know, how developers get their jobs
- 18:54 done kind of positioning.
- 18:56 And why does Docker exist?
- 18:58 Why do VMs exist?
- 18:59 Why do, you know, the cloud IDEs exist?
- 19:03 Ultimately, what we're trying to do is we're trying to give developers environments to do
- 19:06 their work that are repeatable.
- 19:08 They're really easy to set up.
- 19:10 They're smooth.
- 19:11 They're fast.
- 19:12 They're inexpensive.
- 19:13 They're secure.
- 19:14 There's all kinds of things that we want.
- 19:15 But for me, one of the most important, you know, aspects of this is, is the environment
- 19:19 ergonomic.
- 19:20 And what I mean by ergonomic is like what you were saying before.
- 19:23 I have my setup.
- 19:24 I can use my tools.
- 19:26 I can use my IDE.
- 19:27 I can use my file system.
- 19:28 I can use my network.
- 19:29 You know, I don't have to configure, you know, various mappings and all this stuff.
- 19:33 And so ultimately, all of these different tools are trying to solve a problem of like a great
- 19:39 developer experience, a great developer environment.
- 19:41 And they solve them with all different methods, right?
- 19:44 You know, with a VM, you have like a full copy of the operating system.
- 19:46 With Docker, you have a more lightweight copy, but you still have the drawbacks of, you know,
- 19:50 high number usage, high battery usage, slow, lack of ergonomics, whatever.
- 19:54 With like cloud IDs and stuff like that, it's similar.
- 19:57 Maybe there's an additional cost.
- 19:59 You buy a $5,000 MacBook Pro just to like remote into a cloud ID environment and pay Amazon
- 20:05 or Google or, you know, Microsoft per minute of your developer environment.
- 20:09 Like it just doesn't seem economical to do that kind of stuff.
- 20:11 And so, you know, with WorkBrew, our take on that is around like developers are already
- 20:17 using Brew as part of their environment tool chain.
- 20:19 How can we level up that tool chain to the point that it's like better for teams, better
- 20:24 for collaboration, better for that kind of stuff.
- 20:26 And so I would like try to frame all of this stuff around the idea of these are all related
- 20:32 in the sense of we want to have a great experience, but they're doing it with different
- 20:36 methods.
- 20:37 And I know Mike has like a bunch of opinions about this as well.
- 20:39 Yeah.
- 20:40 I mean, I would echo what John said, but I guess to go back to something you said, Brian,
- 20:46 like it's funny because for me, I guess Docker didn't fail, right?
- 20:51 I think Docker is great.
- 20:54 But where I would agree is that like, yeah, Docker became overextended.
- 20:58 Like, so the original intent of Docker of being like, hey, particularly for servers, right?
- 21:04 The kind of containership metaphor of you can just have like a fairly stupid host that basically
- 21:11 just takes a Docker container, runs it, exposes some ports to the world, spins it up, spins
- 21:17 it down, maybe you've got some Kubernetes in the background to go and do like auto scaling,
- 21:21 whatever it may be.
- 21:22 Like that for me is wonderful, right?
- 21:25 Like, and we use that at Workbook right now.
- 21:27 Like we use Docker files for deploying all Linux servers.
- 21:30 And I love that.
- 21:32 I think it's a really perfect fit for that particular job.
- 21:35 Where I think things got messy is, and this is often what happens with Unix tools, right?
- 21:39 Is when people tried to find every single hole that looked vaguely Docker shape and just
- 21:45 like smash the Docker whale into the hole.
- 21:48 And the classic one for me was when, you know, when there was that wave of, there's not much
- 21:53 of this anymore of like, oh yeah, everyone should go and run their developer environments
- 21:56 inside a Docker container, right?
- 21:58 And like, sure, yeah, you get reproducibility and some other stuff from that, but like at
- 22:04 what cost, right?
- 22:05 If you're someone who could just SSH in and Vim and clone your Docker files inside the Docker
- 22:09 container, yeah, it wasn't that bad.
- 22:10 If you're someone who really loves like native Mac OS, like graphical tools and that way of
- 22:15 dealing with things, then yeah, the developer experience sucks.
- 22:17 And it's somewhat the same way that if you use kind of some of the kind of cloud development
- 22:23 environments, you know, say GitHub Codespaces, which I kind of briefly worked
- 22:28 on as well, like, you know, it solves some problems, but fundamentally the experience compared
- 22:32 to just doing it on your local Mac is not good.
- 22:35 If you're on Linux, okay, things with Docker are a little bit less painful because, you
- 22:39 know, you're not spinning up a full VM every time, but it's still this, you know, you still
- 22:43 have the separation issues of essentially spinning up a full OS to go and run somewhere else just
- 22:51 so that you can kind of get your libraries versioned the right way for a project.
- 22:55 And it just, I don't know, it just feels gratuitously overkill for me.
- 22:58 At the same time, I understand why people do that because sometimes that reproducibility
- 23:04 is not easy to find elsewhere and that's why they do it.
- 23:08 I certainly would never claim that we are out to completely replace Docker in every single
- 23:14 way in every single circumstance.
- 23:15 Like to me, that would be falling prey to the very thing that Docker itself did of realizing
- 23:22 what's the right tool for the job.
- 23:23 But I definitely think there are some kind of, say, local development uses of Docker right
- 23:27 now that I look at and I'm like, yeah, we shouldn't be doing that.
- 23:30 We have better systems.
- 23:32 And, you know, we're all paying, if you've got a Mac, you've paid a decent amount for some
- 23:37 shiny piece of Apple Silicon, right?
- 23:39 So you probably want to make use of that not by just firing up VMs and not by SSHing to
- 23:46 some server that you're paying for by the minute.
- 23:48 Yeah.
- 23:49 It seems like one of the core kind of tenants of what you're really looking at is that good
- 23:54 developer experience.
- 23:55 Something I've been thinking a lot about recently, and I don't know, maybe I get wax poetic about
- 23:59 this, but just like the developer experience at large seems kind of like it's converging or
- 24:05 just kind of getting, you know, gravitationally all pulled together towards like one or two
- 24:09 things.
- 24:10 You know, maybe this is, you know, an age old question, but do you see things kind of
- 24:15 coming together to being like, oh, you're probably just going to be on a VS Code fork and you're
- 24:19 probably just going to use this like one package manager thing.
- 24:22 You're probably going to be on a Mac and like we could just expect that that's going to be
- 24:25 what mostly everybody's going to be doing.
- 24:27 And like, is that okay?
- 24:29 And maybe it's the other question about that.
- 24:30 But yeah, do you see that convergence happening in your space, like working in developer tooling
- 24:34 or is it more like diverse than I'm assuming?
- 24:37 I think that convergence exists.
- 24:39 I think where it gets tricky is, again, like almost everything in software, right?
- 24:43 Is like going from 50% of people are using the same tooling to like 90% of people using
- 24:49 Yeah, like we're probably seeing more of that.
- 24:53 We're probably seeing more people using some sort of VS Code fork than we were previously.
- 24:57 You know, I used to be like a diehard text make guy, like Atom and VS Code are too slow.
- 25:01 And eventually I'm just like, yeah, like this is too easy to not do.
- 25:06 And then nowadays I'm a cursor guy because, you know, that works well for me.
- 25:09 But for me, stuff like, I'm sure you probably have had or will have like the Zed guys on
- 25:16 the podcast at some point.
- 25:17 But like, you know, you have things like Zed out there that are doing things in a radically
- 25:22 I still have it installed my machine because it's just lightning fast for certain tasks.
- 25:27 And like, I think in some ways we've seen with browsers what happens when you get too much
- 25:33 of a monoculture, right?
- 25:34 Like there's problems that come from that.
- 25:37 So my like happy path is basically to be like, hey, there's like a paved path for this stuff,
- 25:42 right?
- 25:43 If you're like a new developer, I feel like we're a lot better now being like, do you have
- 25:48 an editor of choice already?
- 25:49 Because if not, it should probably be VS Code.
- 25:51 You're probably going to have an easier time.
- 25:53 But like, personally, I would feel very uncomfortable ever being in a company where I'm like, anyone
- 25:58 who wants to use Vim is, you know, forbidden, right?
- 26:02 You shall not use Vim.
- 26:03 You shall use VS Code and the Vim plugin or whatever.
- 26:06 And if that's not good enough for you, then, you know, too late.
- 26:09 We as an industry have standardized on VS Code.
- 26:11 So I worry about that type of thing.
- 26:14 Because I think it leaves no room for innovation as well and things to get better.
- 26:18 We don't standardize on SourceForge and Subversion 20 years ago, right?
- 26:22 And it's probably a good thing that we didn't stay there.
- 26:25 It's kind of a fine line because there's also that, like, you know, the aspect of, like,
- 26:29 over-customization.
- 26:30 When you sit down in your machine and you have, like, a million keyboard shortcuts and you
- 26:34 sit down at a different computer and you, like, are totally useless.
- 26:36 You don't know what to do.
- 26:37 You don't know how anything works.
- 26:38 It's like, that's also got its drawbacks.
- 26:41 But, you know, having, like, a good middle ground where there's, like, sensible defaults
- 26:45 that's mostly accepted and then the space for people to do things their own way is also,
- 26:50 you know, quite nice.
- 26:51 Yeah, that's an amazing perspective.
- 26:53 I've definitely fallen prey to that other side where it's like, man, like, I barely know
- 26:59 how to do anything outside of Vim.
- 27:01 Or I'm like, yeah, I got the Moonlander.
- 27:03 I mean, I was getting all this wrist pain with a normal keyboard.
- 27:06 So, you know, Brian, speaking of nice, shiny keyboards, check out the Moonlander.
- 27:11 Actually, on my list, I'm going to pick up one.
- 27:16 You know, I'm getting old.
- 27:17 I'm, what, a geriatric millennial at this point.
- 27:20 So, yeah, yeah.
- 27:21 Got to protect the wrist and make sure the fingers and arthritis are not inflamed.
- 27:25 Dude, I'm older than you and I'm just rocking the standard Apple.
- 27:29 Nice.
- 27:30 The standard Apple wireless keyboard.
- 27:32 Yeah, that's totally on brand for you, Mike.
- 27:34 It's like default.
- 27:36 Just use the macOS defaults.
- 27:38 Use the Apple defaults.
- 27:39 Don't do anything special.
- 27:40 Pretty much.
- 27:42 Speaking of Apple defaults, I did ask this to some of the Phlox people when we last chatted
- 27:48 with them, but, you know, Apple and the Apple ecosystem, I still, it still just shocks me
- 27:53 that they don't have a default package manager in macOS.
- 27:57 And, you know, maybe that's licensing reasons.
- 28:00 Maybe that's, you know, maintainability reasons.
- 28:02 But from y'all's perspective, do you see a reason that, you know, macOS and Apple wouldn't
- 28:08 want to do this?
- 28:09 Well, the Apple old school pedant that I am would point out that they technically do have
- 28:15 a package manager.
- 28:16 It's just really bad.
- 28:17 So every time you install a .pkg file, technically you're using Apple's package manager to install
- 28:23 things using package util and they have a big list of things.
- 28:26 It just doesn't support anything like versions or dependencies or anything that you were searching
- 28:32 or any of that good stuff.
- 28:33 Yeah, yeah.
- 28:34 It's funny because, again, this sort of leads to the conversation from previously, I think,
- 28:38 where there was, I'm sure at some point there's been a conversation at Apple about like, should
- 28:44 we make, you know, initially Mac ports because they had, they supplied a bunch of hosting and
- 28:49 all this type of things.
- 28:50 Should we bake this into the US?
- 28:51 Should this be a default package manager?
- 28:53 But I kind of think we've ended up in a better place from not having a default because, again,
- 28:59 it allows people to change in that way.
- 29:01 And also because, you know, the app store is a wonderful thing, but there's a lot of things
- 29:07 that you don't need to do because you're not in the app store, right?
- 29:11 Like we had something in a package submitted to Homebrew a couple of weeks ago, which was
- 29:17 a manager for your porn.
- 29:19 And we had a discussion as a group and it's like, you know, there's nothing not safe for
- 29:25 work about the software itself, the packaging process or the website.
- 29:29 It's just designed for a not safe for work thing.
- 29:33 And it's like Apple on the app store would have probably not allowed that, right?
- 29:38 But we're like, hey, this is software.
- 29:40 People want to install it.
- 29:41 Like it's not malware.
- 29:42 It's not doing anything sketchy, right?
- 29:44 Like why wouldn't you let people?
- 29:46 And I think this, as much as I love Apple, like I think, I think they recognize that internally
- 29:51 There's a certain amount of, if they were to bring one of these open source projects into
- 29:55 the fold and be like, this is an Apple thing now, there's a bunch of stuff that
- 29:58 those projects do that they probably wouldn't be able to keep doing anymore.
- 30:00 And I think that would be a shame.
- 30:02 Yeah, it'd be a shame if it wasn't called OnlyBrews as well, that package manager for
- 30:07 Amazing.
- 30:08 Your files.
- 30:09 Sorry, I was sitting on that one.
- 30:11 But speaking of that, I did want to really, before we wind down this conversation, talk
- 30:15 about the Workbrew business model.
- 30:16 Because I think with open source and like Homebrew being a very strong community and open
- 30:22 source project, what's the business model for Workbrew?
- 30:26 Like, what's the persona of the folks that are going to be reaching for this?
- 30:29 It's a really simple business model.
- 30:31 We write software and we sell it.
- 30:33 You know, it's pretty straightforward.
- 30:35 Actually, like, you know, there's all these different kind of open source models.
- 30:38 I'm kind of tongue in cheek when I say this, but like, there's all kinds of different models.
- 30:41 But like, really, what we're doing is we're building a separate piece of software that's
- 30:44 complementary to Homebrew.
- 30:46 And we're charging people money for that software.
- 30:48 So we're not putting functionality into the open source project and paywalling it or anything
- 30:54 like that.
- 30:55 All of the existing Homebrew project is under MIT license or BSD2, Mike.
- 31:00 Am I saying this correctly this time?
- 31:01 Yeah.
- 31:02 So it's open source license.
- 31:04 You can get it and do whatever you want with it according to the license.
- 31:07 And we're doing the same thing.
- 31:08 We're helping our customers install Brew.
- 31:10 So we give them, as part of our free plan, the best way to install Brew on tens or hundreds
- 31:16 or tens of thousands of Macs.
- 31:17 We give a simple deployment process you can use with like an IT MDM tool.
- 31:22 We give them visibility into everything that's going on.
- 31:25 And then give them a way to manage everything at scale.
- 31:28 And the way that we achieve that is by basically building a control plane.
- 31:32 So all of the work Brew software is how do we connect kind of these individual developer
- 31:39 instances to a centralized place to have analytics and visibility and whatnot, management functionality,
- 31:45 but without really modifying how Brew works.
- 31:49 So it's all about kind of putting a wrapper around how Homebrew works and giving you one
- 31:53 coaxes package for a larger team or a larger company.
- 31:56 And yeah, and then we just charge money for that.
- 31:58 And customers are willing to pay for it.
- 32:00 That's awesome.
- 32:01 I mean, you said it's simple, but yeah, it makes sense.
- 32:04 And definitely appreciate the approach.
- 32:06 This week, there was an announcement of FaunaDB shutting down, which is quite unfortunate.
- 32:11 Years of serverless databases.
- 32:13 And in the threads of folks on X chatting about it, it's like, someone asked a question years
- 32:19 ago of like, what if Fauna shuts down?
- 32:20 What happens to my project?
- 32:22 And today, you've got 60 days to migrate it.
- 32:25 It sounds like whatever happens to Workbrew in the future, like you could still have an
- 32:29 experience that mirrors what's happening in open source.
- 32:32 Yeah, I mean, kind of like the underlying architecture of Workbrew is the foundation is Homebrew.
- 32:37 So to the extent that something that our customers need lives in Homebrew, we get it into Homebrew
- 32:45 using the normal Homebrew open source process.
- 32:48 We'll make a pull request, somebody will go and send it, and we make sure that it's valuable
- 32:51 to every user, you know, as many users as possible of Homebrew.
- 32:54 And then with those kind of underlying, you know, functionalities, we can build on top
- 33:00 of it.
- 33:01 So for example of this, Homebrew has this functionality called taps.
- 33:04 Taps are libraries of collections of packages you can install.
- 33:08 And there are two official taps in Homebrew.
- 33:09 Homebrew core and Homebrew cast with about 15,000 packages.
- 33:13 When Mike was talking earlier about, you know, some human review going into each of these,
- 33:16 you know, that's because the Homebrew project manages those taps.
- 33:21 But anybody can create a tap.
- 33:22 And so, you know, we built some functionality that lets companies create their own taps and
- 33:26 distribute those taps without having to manage authentication, for example.
- 33:29 We also built some functionality around giving companies visibility to what taps are in use
- 33:34 so they can find out if anybody's using an unofficial Homebrew tap.
- 33:38 Maybe there's some software that they're not happy that is being installed, they can check
- 33:42 And they can also put guardrails around the process for adding new taps.
- 33:45 So by default, the Homebrew core and Homebrew cast taps are enabled.
- 33:49 And if you want to add additional taps that are through parties, that might need to go through
- 33:52 a review process before they get added for everybody in their company.
- 33:55 And so all of that functionality, what's great about it is that it lives in Homebrew as part
- 34:00 of the Homebrew configuration.
- 34:01 You go to the Homebrew man page, you can read about it, you can use it, and you could build
- 34:04 your own control plane for that stuff.
- 34:07 We at Workbrew have built a control plane that uses those things, and you can buy it instead
- 34:12 of building it yourself.
- 34:13 Cool.
- 34:14 Thanks for the clarification.
- 34:15 And at this point, I want to wind the conversation down and move us into reads.
- 34:19 So a question for John and Mike.
- 34:21 Are you ready to read?
- 34:22 Of course.
- 34:23 Let's do it.
- 34:24 Reads.
- 34:25 Excellent.
- 34:26 All right.
- 34:27 Well, John McBride, you've got some reads.
- 34:28 Do you want to walk us through this?
- 34:30 Yeah, sure.
- 34:31 I got two reads this week.
- 34:33 GIMP 3.0 is finally released, which is kind of insane.
- 34:38 I think this thing has been in development like five some years or something.
- 34:42 But this is pretty big, especially for anybody on desktop Linux wanting to modify photos or
- 34:50 I'm sure anybody out there who wanted to avoid the belly of the beast doing Adobe Photoshop
- 34:55 or something or Adobe Cloud now or whatever it is has used this.
- 34:59 So more modern design.
- 35:00 I'm just excited about it.
- 35:02 It's going to be great, especially when I reboot up my desktop Linux.
- 35:06 John, Mike, have you guys used GIMP in the past?
- 35:09 Of course.
- 35:10 A little bit.
- 35:11 Not a ton, but I used to run desktop Linux back in, I don't know, college.
- 35:16 So ever since I got a Mac, I stopped using desktop Linux.
- 35:19 Yeah, that's fair.
- 35:20 The other one I've been using recently is Pixelmatter Pro, which actually was acquired by Apple.
- 35:26 Oh, I use that quite a lot.
- 35:27 Yeah, they were acquired by Apple, so good for that team.
- 35:30 Really excellent piece of software.
- 35:31 So yeah, excited to see this space moving forward and yeah, some cool stuff happening.
- 35:36 I was going to say my GIMP experiences, my previous avatar on GitHub was like a cartoon of me.
- 35:43 I made that in GIMP in college because my serial cracked Adobe Photoshop that I had back in the day
- 35:51 no longer worked.
- 35:52 And then I found out that GIMP was a thing.
- 35:54 So earliest version of GIMP, I thought I was going to be a graphic designer and I was a heavy user.
- 35:59 Interesting.
- 36:00 Yeah, yeah.
- 36:01 It's a good piece of software.
- 36:02 It's one of those that I feel like, yeah, everybody touches at least once in their computing lifetime.
- 36:09 The other read I had this week was very interesting, especially from, you know, work I've done in infrastructure and Kubernetes,
- 36:16 as well as some of the AI stuff and AI engineering.
- 36:19 This piece is titled, FOSS infrastructure is under attack by AI companies.
- 36:24 I thought this was especially interesting for John and Mike.
- 36:27 Kind of TLDR this is that, you know, a lot of these companies going and scraping data just across the internet, you know, this isn't new.
- 36:35 But it seems, at least from what a lot of these FOSS free and open source software sites, you know, they're like ignoring robots.txt and just like scraping and scraping and scraping and bringing down infrastructure that is probably just like somebody's home lab in their office.
- 36:53 So, nothing that can really sustain a lot of scraping.
- 36:56 I'm curious if you all have seen anything like this on, you know, things like getting scraped off of Homebrew taps or even sites that you maintain or homebrew.org, you know, having anything like this happen.
- 37:08 Curious if you've seen anything like this.
- 37:10 So, this is a nice, another maybe design principle of Homebrew is that Homebrew has no hosting, basically, anywhere, right?
- 37:19 So, everything that can be done for free in Homebrew and done on GitHub pages is done there.
- 37:24 The Homebrew, like, JSON API is actually hosted on GitHub pages.
- 37:28 If you want to see using liquid rendering to create a JSON file and watch the parser crying while it does so, I would recommend checking out the Homebrew site for that.
- 37:39 But, yeah, so as a result, like, we're fairly unaffected by this stuff.
- 37:43 I guess as an anecdote in the other direction, like, when our tooling gets flagged for this stuff, then we try and be very communicative with development project.
- 37:55 And if they're like, hey, please don't do this, then we're like, okay, well, we won't do this or we'll change our rates or whatever.
- 38:01 Like, yeah, it's, I don't know, it feels like a sad indictment of the modern internet that we've decided to just ignore these types of conventions, right?
- 38:10 Yeah, I agree.
- 38:12 It's, I don't know, I don't know what the future of this is going to be.
- 38:15 Further down in the post, they talk about embellishing robots.txt with AI.robots.txt.
- 38:21 And, you know, starting to build in some, like, more features.
- 38:24 And, like, some of the things that people have started doing basically is adding more of these, like, CAPTCHAs or, like, more obnoxious and difficult CAPTCHAs, which just kind of makes the internet worse to use as a person, right?
- 38:37 That kills the experience for the end user.
- 38:39 That's why we can't have nice things on the internet.
- 38:42 Basically, anytime anything is nice, it gets, you know, tragic, it's a commons.
- 38:46 People just take, take, take, take, take until it's not sustainable.
- 38:50 Yeah, we'll put this in the show notes.
- 38:52 Definitely get this one read.
- 38:54 Cool.
- 38:55 I have a quick read, which is kind of related to the GIMP thing.
- 38:57 I was looking at X, it was an X.com thread of the Gemma 3 model is now taking out the Shutterstock watermark, which is like, again, going back to my college days, like, this is a dream of mine.
- 39:12 To be like, hey, can I use this image for free?
- 39:14 Folks listening, please pay for your content.
- 39:16 Please don't steal.
- 39:17 But college, Brian, would have loved this experience.
- 39:21 You also had cracked Photoshop.
- 39:24 Is that what I heard?
- 39:25 Yeah, it was a, it was dark times.
- 39:27 You know, I was, I was in college on scholarship, didn't have a lot of money.
- 39:31 So you had to, you know, it was a wild, wild west.
- 39:33 If you think it's bad now, back in the day, like, let me show you some bear share and LimeWire and Torrance.
- 39:38 Yeah.
- 39:40 This actually reminds me of a story I was listening to.
- 39:42 It might have been on Hard Fork, but it was something about how Chegg, the cheating website, they're like suing Google because, you know, now, you know, Google AI results can just give you a bunch of stuff that they scraped off of Chegg, essentially.
- 39:58 Which is like, it's kind of hard to feel bad for them.
- 40:00 Like, okay, Chegg, like, maybe, maybe that wasn't, I don't know, I say that now, but, you know, I'm not deeply familiar with their business model.
- 40:07 Is that kind of a similar thing, Brian?
- 40:09 Quick correction.
- 40:10 Like, I don't think Chegg's business model is specifically cheat on your test in your college work, but that's what people use it for.
- 40:18 Okay, my bad, my bad.
- 40:19 Just saving ourselves from the legal blowback from the Chegg team.
- 40:23 So is this Shutterstock thing kind of similar to that where, you know, there's an impending, I don't know, legal suit against, you know, AI use on these things?
- 40:32 I imagine, like, we saw with Reddit and also with Twitter slash X, they kind of put a block on, like, API usage and how much data you can take off the platform to then turn around and be like, no, we have our AI solution for Reddit and Twitter and Stack Overflow and et cetera.
- 40:47 So it makes sense because, like, in the world of AI, like, the data is the most expensive part, or sorry, the most valuable part, rather.
- 40:54 And, like, we're going to have these guardrails and these weird GDPR cookie banners and stuff like that inside of our open source projects to prevent things like this.
- 41:02 Like, I don't know, like, we're going to be looking at the old times and, like, thinking very fondly.
- 41:08 I don't know, this is a weird therapy session on this podcast, but I remember back in the day, like, we had cable TV, and you get this, I don't know if it was like this in the UK, Mike, but you get the scrambled pay-per-view channels.
- 41:20 So I remember, like, you can get the audio of, like, the World Rumble, like WWE, but you couldn't actually see it.
- 41:26 It was like, you'd have to get a de-scrambler.
- 41:27 So then I'd be, like, on the forums and trying to find out how you can de-scramble your cable TV.
- 41:32 So, again, we're always going to find a way to work around things.
- 41:36 Folks, pay for your cable, pay for your whatever your streaming service is.
- 41:40 I'm, like, implicating myself.
- 41:43 I'll need a pardon from Trump pretty soon.
- 41:46 The thing that gets me about this is, like, again, this is another case where, like, the end user, like, loses.
- 41:50 So you mentioned, you know, the CAPTCHA is being added, API access going away.
- 41:55 Like, you know, I'm a Reddit user.
- 41:58 I read a lot of stuff on Reddit.
- 42:00 And I used, like, you know, a Reddit mobile app.
- 42:03 And when they had their whole kind of API change-up happening, and it took away all the access, all the apps died.
- 42:08 Luckily, I don't know how, but the app that I use managed to survive.
- 42:12 I think I'd pay, like, a dollar a month to use it for just, like, Reddit's API access or something.
- 42:17 But, you know, ultimately, what ends up happening is you take away those things and the engineers, you know, people building all these nice little apps, like all the moderators.
- 42:25 Like Mike mentioned in Homebrew, like, they automate everything.
- 42:27 And these massive communities with hundreds of thousands, if not millions of subscribers on Reddit now lose access to all their moderation tools because they take away the API access to prevent data, you know, going to the AI companies.
- 42:37 Like, it has knock-on effects for everybody, so.
- 42:40 Well, I appreciate both of you coming on, chatting about Workbrew, Homebrew, open source, and even some banter in the reads as well.
- 42:47 So, listeners, stay ready.
- 42:49 That's all the time we have for today.
- 42:52 If you're interested in being a guest on the show, or if you'd like to suggest a topic, find us at x.com slash open source ready.
- 42:58 Open source ready is brought to you by HeavyBit, the leading investor of developer-first startups.
- 43:03 For more information, visit heavybit.com.
- 43:06 .