Homebrew Turns 15

Interviewed by "Homebrew Turns 15" stream

Homebrew was created on May 20, 2009. Fifteen years later it’s in use on tens of millions of devices.

Show transcript
  • 0:00 hello and welcome to the live stream homebrew is turning 15 happy birthday homebrew
  • 0:05 my name is john britton i'm the co-founder and ceo of forkbrew and today i'm joined by
  • 0:10 two outstanding guests uh max howell
  • 0:14 welcome to the show hey thanks for having us let's see if i can do this there we go
  • 0:24 so uh hello uh let me give it a short introduction so uh mike is the uh project leader of homebrew
  • 0:32 my co-founder and cpo at workbrew and max is the original creator of homebrew um welcome
  • 0:40 and maybe you could each give a little introduction about yourself uh max why don't you go first
  • 0:44 uh thanks john and thanks for having me on uh good to see you again mike nice tank top
  • 0:54 yeah so uh i'm max how i've uh been in open source for more than 20 years i stopped counting at some
  • 1:03 point i got involved in open source because uh i thought i wanted to be a scientist which turned
  • 1:10 out to be incorrect as everybody else told me in my life chemistry is super boring i i thought i enjoyed
  • 1:18 it but just turned out i like the academic side of things didn't like actually working in it so one day
  • 1:23 in a depressed funk i went home and installed linux on my home computer and discovered the open source
  • 1:28 communities of the world this was like 2003 2004 it's about then i met mike actually we were both
  • 1:35 working on kde at the time uh which is this desktop environment for linux which i think still exists
  • 1:42 i don't know i haven't used it in a while but uh i'm just got me a job in the industry lost fem in
  • 1:47 london that's where i created homebrew um back in 2009 ish so yeah 15 15 years about 11 hours ago
  • 1:55 almost 11 hours ago apparently my commit was four minutes past midnight
  • 1:59 yeah well mike was saying the other day how when we uh started working on homebrew like debian was
  • 2:06 15 years old and uh that felt ancient and here we are 15 years so yeah thanks for having me on looking
  • 2:13 forward to this uh this whole chat yeah thanks max yeah mike why don't you go ahead and introduce
  • 2:18 yourself and kind of your relation to homebrew yeah of course um yeah i feel honored to lead max not
  • 2:25 just for his contributions to homebrew but his contributions to excellent voices whenever i i forget
  • 2:30 because we normally talk of our text message nowadays whenever i hear max on a podcast or whatever i just
  • 2:35 think he is most delightfully deep voice in the world so i'll do my best to have a suitable timber uh yeah
  • 2:44 so i'm mike uh i've worked on open source not as long as max but probably you know like sub 20
  • 2:51 slightly over 15 years um i got into software i guess the more traditional route just going and doing a cs
  • 3:01 degree and got uh fell into linux distros and all that nonsense when i was at university and ended up
  • 3:09 with one commit in the licks kernel which is always a nice kind of little humble brag when people accuse
  • 3:16 me of being one of the mac people who doesn't know anything about linux um so yeah i guess i uh also
  • 3:22 ended up in london at the same sort of time as max i worked for a startup called mendeley uh down there at the
  • 3:28 time and i was kind of trying to wrestle with mac ports to make it do what i wanted to and not install
  • 3:35 so many dependencies and stuff and then max was a friend of a friend of mine i think we showed fred
  • 3:41 emmett maybe in common max um and he told me about this guy max who was doing this thing called homebrew
  • 3:48 and then i went and looked at it and i was like oh it's written in this weird ruby thing which i
  • 3:53 hadn't really had any experience over the time um and yeah i basically just ended up getting involved
  • 3:59 like bit by bit like later on i guess the same year that humbrew got created i think max created it in
  • 4:04 may and then i think i started getting involved in like september or something like that and was like
  • 4:09 a maintainer before the end of the year um and yeah and i guess i've never managed to give up since so
  • 4:17 still working on it to this day excellent yeah so you both mentioned linux i have a question
  • 4:22 what was your first linux distribution
  • 4:27 ah susa susa was mine i'm not sure what the first was for me it was maybe maybe fedora technically in
  • 4:36 terms of like the first i ever installed but the one that held the the warmest part in my heart in
  • 4:41 that era was gentoo uh just for like everything being built from source and i had this old pentium 233
  • 4:51 basically my parents old machine that they were going to like throw out which by what year was it
  • 4:57 like 2004 or 5 was pretty long in the tooth and i remember like getting an ubuntu install like sorry
  • 5:03 i gentoo install where i wanted the base system to work like the machine had to compile continuously for
  • 5:09 about two days to like get the machine set up and it was such a glorious waste of my time but i felt like
  • 5:15 i sort of learned some stuff which ended up useful in the homebrew days through doing that yeah emerge
  • 5:20 was my first my first package manager from gen so yeah that was i remember those days um yeah so
  • 5:27 maybe just for uh just for clarity and and completeness what is homebrew like i i don't know
  • 5:35 if you have the same definition of homebrew for both of you but like what is it why are we here and why
  • 5:40 are we celebrating 15 years of its existence yeah well always my definition it's probably not accurate
  • 5:47 anymore but you know um i'd say like it's the base of an awful lot of modern software nowadays
  • 5:54 is is the truth of it i don't think either me or mike imagined that it would become so you know enormous
  • 6:02 when uh when uh we were working on it back in 2010 or so but uh you know it's just a package manager i uh
  • 6:10 i was very fond of package managers at the time and switched to mac in a fit of rage one one day
  • 6:18 because uh i upgraded my linux kernel and uh my wi-fi stopped working and i was stuck at home by myself
  • 6:25 mirror before smartphones so i didn't have the internet to uh help me fix it so i switched to mac
  • 6:33 and then while i was there i discovered that uh the package managers weren't quite as good on mac
  • 6:38 as they were on linux i was used to like trying out all the different linux distributions and things
  • 6:43 so yeah i'm homebrew as a package manager but i think we took a lot of new ideas and ran with them
  • 6:50 and that's part of the reason that it became so prevalent and uh it it it was the right toward the
  • 6:59 right time in many ways so yeah it's the base of many people's stacks nowadays uh and makes it possible
  • 7:06 to get development done what do you think mike yeah i mean the when i describe homebrew to non-technical
  • 7:15 people i guess i go for like it's i basically try and get them to be like do you know what an app
  • 7:20 store is and they're like yes and then if i can get them to be like do you know what open source
  • 7:24 software is yes do you know what a terminal is yes well it's an app store for open source software
  • 7:30 in your terminal right and that's maybe slightly reductive but like that feels like that's what it
  • 7:34 has become in essence for pretty much everyone on mac like if they're installing open source on their mac
  • 7:41 they're installing either the open source itself or the thing required to install the open source
  • 7:45 they want if it's like npm whatever pro will be using homebrew together and yeah i i think you're
  • 7:51 right about like the the time and the moment like i to me that the two things that felt linked in some
  • 7:58 ways were because you know homebrew was one of the first big projects to kind of come out of github
  • 8:04 and be very heavily community run and have huge numbers of community contributions i remember it was like
  • 8:09 in the first few years that github would publish those reports homer was regularly in the like
  • 8:13 the top charts for like most forked most contributed all this type of stuff and i think
  • 8:21 that's basically what helped get it going in the direction that it went right is that because it was
  • 8:26 github native before maybe any other big project ended up being that way uh i think that's yeah
  • 8:33 it's a big part of it yeah like i have a small list that i've assembled over the years of the reasons
  • 8:40 that i think homebrew was so successful but we can talk about that when when you like john yeah sure
  • 8:44 well i think the next kind of area is just thinking about like the history and how how homebrew came to
  • 8:50 be um what was i mean max this is probably mostly for you uh as you were the the creator what was the
  • 8:57 the inspiration you know behind it and you also kind of mentioned like that it's gone a really long
  • 9:04 way and it's it's become much more than you ever expected i'm curious to know as somebody who's had
  • 9:08 some small open source projects what did you expect like you know obviously like i think it's pretty easy
  • 9:14 to say that this went way past what you expected but like you had to be motivated in some way what were
  • 9:18 you hoping would happen oh i was hoping this would happen
  • 9:22 such amazing forethought yeah it's weird i had this feeling while i was building it that it was going
  • 9:31 to be big and like that feeling didn't i didn't lose it and i didn't lose the confidence in it and so
  • 9:36 i put my all into it and then it happened uh which was really bad for me i was 26 so uh i spent the
  • 9:46 next like 10 years of my career thinking that everything i touched would turn to gold and uh
  • 9:52 it doesn't it doesn't usually work that way i i definitely recommend not having a huge success when
  • 9:58 you're young uh but um yeah i got over that in the end but yeah like i created it because i was working
  • 10:05 at lost fan at the time and i was the lead developer of our apps team and we had six apps windows mac linux
  • 10:11 android o phone and the blackberry app which uh was the worst and hardest to build but the unifying uh
  • 10:18 machine to build all these things on was mac because partly because of apple's lock in for their
  • 10:23 platforms but partly because you know it's unix underneath so you could run all the other different
  • 10:27 sdks and systems and you could emulate windows uh so uh we were using a lot of open source tooling on
  • 10:35 mac and like the package manager kept like coming up as a problem like mac ports was like gentle you
  • 10:40 had to compile everything from source like mike was saying uh it insisted on building everything from
  • 10:46 like uh glibc upwards even though the mac came with a bunch of uh open source libraries that are
  • 10:54 usually that base that you don't have to build so i used to complain about how the package management
  • 11:00 solutions were holding us back at the pub after work like on a relatively frequent basis to the
  • 11:05 point that one of my co-workers got fed up with me and told me to just shut up and do something about
  • 11:11 it and uh i went home and i was like well it would be kind of fun to work on something like that so i
  • 11:17 started you know the that was the beginning i i called on like uh all the ideas i've had over the years
  • 11:25 working on different open source projects i worked on this music player called america on linux for a
  • 11:30 long time and uh the issues that everyone was always having were related to auto tools and getting
  • 11:37 the dependencies in place and building from source and so i wanted to build something that i felt could
  • 11:44 be a solution to those kinds of problems for people trying to build out open source work on open source
  • 11:49 work in open source and do development in general uh so i wanted it to be a programmable package manager
  • 11:57 so like all the formulas i uh called them uh were in ruby so that you know we're programmers i figured we
  • 12:04 wanted a programming language in order to like build these complex and different pieces of software and
  • 12:10 i picked ruby because it was very fashionable at the time and it came with the mac ruby on rails was
  • 12:17 really getting uh a lot of attention at the time uh it's one of the reasons i was successful for sure
  • 12:23 picking ruby because the ruby community loved that it was written in ruby and that you could use ruby
  • 12:28 in order to uh work on homebrew um and then yeah like picking github was a big part of the success as
  • 12:36 well for sure like github was relatively new right i think github had come out a couple of years before
  • 12:41 that and we've been using github at last fm and i saw that uh it was a great place like i think the
  • 12:46 alternatives for source forward right we we've been struggling with these terrible uh tools for doing
  • 12:52 open source work online for a long time so yeah i picked all these things and put it out there i managed
  • 12:58 to get some attention for it with uh replying to some people on twitter you know twitter used to be
  • 13:04 a better place dare i say it where it was an awful lot of tech people so you could go on there and
  • 13:13 just talk to tech people and see what they were doing and talk about like new tools and things and
  • 13:17 so i got the attention of simon willison probably you've heard of him with uh tweet about homebrew and
  • 13:23 then i got the attention of josh peak who was working at 37 signals at the time
  • 13:27 ruby on rails uh was built by them and he tweeted out about how
  • 13:33 he was going to install homebrew on his new mac that he was getting that had osx leopard and like
  • 13:39 that was the moment where it really started to take off before that you know i was telling people
  • 13:44 about it they were like oh so i'll tell call me call me when like anyone else is using it a typical
  • 13:48 open source start you know like when you make some open source you do have to do a bunch of marketing
  • 13:54 yourself in order to uh get some attention for it so yeah i was really motivated i really wanted it to
  • 14:02 succeed and yeah like those first few years it was crazy uh we were dealing with a ton of uh issues
  • 14:11 pull requests well pull requests when they turned up you know when we when homebrew initially was
  • 14:15 created the pull request was not a thing nobody had figured out how to uh handle contributions on github
  • 14:23 at this point they had forks and you could browse the four graphs so that's what we used to do right
  • 14:30 like the uh the first person that i merged some of their contributions in that he didn't message me to
  • 14:36 tell me that he was building these formula i just found his contributions in the ford graph and then
  • 14:42 merged them in and then message him saying hey i merged your stuff in i hope that's okay because
  • 14:48 that was how we had to do it at the time you know i'm waffling here and mike how about you where did
  • 14:54 you uh how did you come across homebrew and kind of what got you involved and why did you why did you
  • 15:01 decide to become a contributor yeah so i mean i guess i i used to hear a lot of people saying this back in
  • 15:08 the day not as many people say it now is the idea with open source of like scratching your own itch
  • 15:14 right and we've just heard max explain how homebrew came to be created from his scratching his own itch
  • 15:21 right and it was the same with my contributions really where i heard about homebrew and i thought it
  • 15:25 was cool when i started using it but i didn't have this idea of like oh i'm gonna get involved here
  • 15:33 or i'm still gonna be doing this in 15 years or any of that sort of nonsense it was just like oh
  • 15:40 like it's a package manager it's missing some stuff that i want so i'm gonna add some stuff
  • 15:45 right um and every time i came across something that i needed i would go and submit a contribution and
  • 15:51 then eventually the package manager itself didn't do some of the stuff that i wanted it to so
  • 15:55 i submitted kind of changes to that and and whatever and i think it was i don't know again
  • 16:00 as i mentioned before is that this all being on github there was something about it being on github
  • 16:06 that just felt so much more accessible i think in the early days um the there was github and i guess
  • 16:14 before pull request there was like an irc channel like i vaguely remember like you know instead of pull
  • 16:19 requests i would like dm max on irc and be like here's a commit and then max would like
  • 16:25 cherry pick that commit in and push it and tell me what it was pushed and stuff but yeah it just it
  • 16:29 felt like the barrier to entry was very low um but i guess i guess the other thing that kind of captured
  • 16:34 my interest with homebrew which again i thought was very different and very creative from the outset was
  • 16:41 just the way that errors were handled you know most software most of the time particularly relatively
  • 16:47 immature software generally operates from the assumption that nothing will ever go wrong and if it ever does go
  • 16:53 wrong then like just throw your hands up in the air and just be like oh well you know like some programmer
  • 16:58 come along and fix this right whereas i remember right from the outset homebrew was really impressively
  • 17:06 well designed to give good error messages and even to stuff like the i've seen a bunch of other tools
  • 17:12 copy this now but like the kind of brew doctor command which again was relatively early on but this idea of
  • 17:18 being like hey like we have some ideas of stuff that could be wrong right like run this command and
  • 17:23 these are not necessarily all problems that you need to fix but like if you are having problems
  • 17:28 chances are it's going to be one of these you know um and yeah i just felt like that approach just as
  • 17:35 what it it gelled with my brain and it sucked me in and it just felt so much more accessible and maybe even
  • 17:44 scalable in hindsight than the models that a lot of other linux distros were having and other package
  • 17:52 managers on mac that felt very much more like the linux distro model we're having
  • 17:56 yeah like it reminds me it's just that from the start i knew i didn't want to do it all by myself and i had
  • 18:04 faith in the users that if you give them the right messaging and docs and tooling that they can fix their
  • 18:12 own problems and i really wanted to encourage that so you had the brew dog to come on the good error
  • 18:17 messages um even the way like you cloned homebrew initially and that's where it built and so you had
  • 18:24 a clone and you also could immediately start contributing there wasn't any like fancy build
  • 18:30 steps or anything that was required you just opened up your editor and make changes and then push them
  • 18:35 back to github those things i just really wanted everybody to feel like they could participate and
  • 18:41 you know you've seen some projects do more of that since homebrew i think sort of introduced the idea
  • 18:48 of doing it but still i think in general like you go to a readme for most open source projects and
  • 18:53 there's no section saying hey how do you get started you know it tells you how to install it
  • 18:59 but it doesn't say how you can get involved in the project i still think it's very important it's rare
  • 19:06 so 15 years is a really long time um homebrew has been around for for a very very long time i was
  • 19:14 hoping we could do a little bit of a you know a short timeline of the major milestones in the history of
  • 19:20 homebrew so um starting from and i'll share my screen for this um let's see if i can do this
  • 19:27 starting from here uh max this is probably for you um this is the first commit uh to homebrew
  • 19:34 let me see if i can make it a little bit bigger
  • 19:36 here we go so the first commit of homebrew um maybe you want to tell us about your state of mind when
  • 19:45 you were doing this and any other kind of interesting uh anything you'd like to share
  • 19:50 i'll leave it up to you yeah well um i still do this i don't start a project with code i start with
  • 19:57 the readme and this was something i learned while working on kde i went to a kde conference and one
  • 20:04 of the people that worked on cute which was the c plus plus toolkit that kde used uh still exists i
  • 20:11 believe yeah i did a presentation where they talked about how they didn't start with code they started
  • 20:16 by writing out what the api would be doing example code showing how they wanted the final api to be
  • 20:25 and then they build the code around that so i started doing similar things but yeah here i was starting
  • 20:30 with the remi so i spent more time on the remi initially before i started building any code out
  • 20:36 and i was like how do i want this to be how do i how do i want it to feel and so yeah this this was
  • 20:42 what i imagined it would be before i started writing any of the code and uh you know you can see a bunch
  • 20:47 of the stuff in there that i wanted like the naming theme which homebrew is uh famous for which i did
  • 20:54 because i knew that the world of package managers was so full of uh things that were difficult to
  • 21:01 describe because the terminology was terrible of what does the word package even mean i don't think
  • 21:08 anyone can really tell you the answer to that and so i wanted there to be a theme that allowed people to see uh analogies and metaphors in all of the uh the system and the code
  • 21:23 uh so that it would bootstrap their ability to understand how to contribute or how to use it so
  • 21:29 yeah you can see like the slash brewery there which you can no longer create that folder on macros thanks
  • 21:36 to apple but at the time i think that was where i thought it would go eventually we changed that to use
  • 21:40 a local right because it made so many things work better it was an important decision in the just works
  • 21:48 aspect of homebrew which was important to the the way i designed it the way i thought about it
  • 21:54 yeah like uh this is this is what i wrote with the typos and bad uh grammar throughout and this is where
  • 22:03 it all this is where it all started um just on the theme of uh of homebrew i think that there's something
  • 22:09 like in that era of ruby time i feel like every ruby project had some kind of an interesting theme
  • 22:15 as well did you see that elsewhere was was it mostly like a or is that a ruby thing that am i
  • 22:21 misremembering that or is that how it was no you're probably right i i probably don't remember it but i'm
  • 22:26 sure that i was inspired to do the naming theme by other great projects and they just really suited what
  • 22:31 i wanted to do i think my reasons for doing it was slightly different i think a lot of projects at the time
  • 22:37 that had themes we're just doing it for the funsies while i was trying to make it useful and then the
  • 22:44 vast majority of open source at the time was just like terrible naming and terrible if any theming
  • 22:52 um you know it would be called what it did you know uh decrypt library dot lib
  • 23:02 so now you know we've seen kind of where it began um in the past 15 years you know if we had to
  • 23:08 highlight maybe three or four big inflection points in the project what would you say you know
  • 23:12 maybe um were the biggest ones or the most the most significant uh to share
  • 23:18 yeah it's a difficult one
  • 23:24 i could i could suggest a few i think taps were the first that was one of your big creations max that
  • 23:31 was probably one of your latter like big creations on the project where you just came out of nowhere
  • 23:36 and again similarly like had this design and you're just like here's taps here's what it looks like
  • 23:41 here's how it plugs together and i think that's been like before so taps are essentially like third
  • 23:46 party repositories for homebrew if anyone who doesn't know and before we had taps you could only install
  • 23:52 stuff in homebrew that had been added to the main homebrew repository essentially and i mean there were
  • 23:57 other ways you could sort of hack around and stuff but i think taps are what blew homebrew from turning
  • 24:05 from like just a project to being like an ecosystem because then you can have well anyone can now create
  • 24:11 their packages in any way if you're a company you can have internal taps if you're um you know if you're
  • 24:17 an open source project you can have your own tap if you're and even within homebrew itself like homebrew
  • 24:21 now has a bunch of different taps and that's like homebrew cask that got merged into homebrew itself
  • 24:27 started off as a tap all the linux stuff started off as a tap like it's just i think it just enabled
  • 24:33 kind of the ecosystem to sort of flourish a bit more in that respect um i guess another one i might
  • 24:40 suggest after that would be like my uh true love and joy is like bottles the binary packages that
  • 24:46 uh because i think i implemented the first version of that and we're still using more or less a pretty
  • 24:52 similar model today um and yeah and i guess over time we kind of moved from being almost from exclusively
  • 25:00 built from source to predominantly built from source to mainly built from uh binary packages as it is kind
  • 25:05 of today yeah can you say a little bit more about what bottles are and how they work
  • 25:10 yeah i mean basically a bottle is just essentially we build everything from source the way we used to
  • 25:16 uh on user's machine but now we do it on github actions runners uh we basically make a bottle which
  • 25:25 is a complicated uh format of just a tarball of the thing that we installed again i feel like i learned a lot
  • 25:32 i learned a lot from max in this era and in general that like often there's these really overtly uh
  • 25:39 complex formats that happen on this stuff and often it's like well if you've got a directory of stuff
  • 25:44 and you want to put the directory of stuff somewhere else can we just make a tarball of that directory
  • 25:50 and extract it somewhere else is that good enough and the answer from the last 10 plus years or whatever
  • 25:57 seems to be yes right and instead we could have made this complicated custom binary format and
  • 26:02 made everything three percent more efficient or whatever but then the whole system becomes harder
  • 26:07 to explain and understand and all the tooling you use is different yeah and whatever and i i don't i feel
  • 26:12 like that's for me like a big part of homebrew as well has been trying to avoid that unnecessary
  • 26:19 complexity and you know i think that's something i took from your initial design max and from
  • 26:24 us working together over the years and has inspired me in homebrew and outside of homebrew as well
  • 26:29 um yeah well it's good to hear because yeah like before that i i'd already recognized how complexity
  • 26:37 can destroy productivity and the ability to iterate and it was uh it was a key thing you know one of the
  • 26:42 things with the initial remi that we were just looking at was i wanted you to be able to use the unix
  • 26:47 tools you already knew like rm and ls to uh query the package manager i didn't want it to need another
  • 26:57 tool apart from when it was absolutely necessary and those sort of designs filtered through throughout
  • 27:03 i think in open source in general there's often a a desire to over complex things um partly because
  • 27:11 it makes us feel good hey i designed and built this really complex thing but it can hinder like i think
  • 27:17 most of the most successful open source projects are simple enough that people get the gist really
  • 27:22 quickly that inspires them to want to continue diving in and then get involved and open source
  • 27:28 lives and dies by a community like it's one of the key aspects that enables it to exist and for it to
  • 27:37 thrive so yeah and bottles yeah it was super super important it was interesting at the time right because
  • 27:43 when i built homebrew initially i got a bunch of like negative feedback from people saying oh god you're
  • 27:49 building from source i don't want to build from source just uh you should make binary packages
  • 27:54 i'm like well yeah sure but who's who's going to pay for that because at the time there wasn't stuff
  • 27:58 like github giving you free bandwidth and storage and compute in order to do these things as an open
  • 28:05 source maintainer you had to figure out who was going to pay for it and i wasn't going to pay for it
  • 28:11 yeah i mean the first version of our binary packages like the the evolution essentially went from being
  • 28:17 built on my machine to being built on a vm on my machine then we did a kickstarter and then they were
  • 28:23 built on some macs then built in a vm on those macs and then the macs ended up being cloud hosted and
  • 28:28 you know like it's yeah it's i i think it's easy to look back at those days and be like why didn't
  • 28:33 they build a binary package manager from the outset and forget that like what you mentioned already max that
  • 28:39 pull request didn't even exist like travis ci and all those systems github actions none of these existed
  • 28:44 you know even aws like you know it existed but you couldn't use it for building anything on macs
  • 28:50 uh so yeah like i mean essentially you were like right well you somehow have to have build a bunch
  • 28:55 of hardware yourself and build all this all the integrations and decide how that goes with the
  • 28:59 workflow and and all this type of stuff and and even then like i think the homebrew workflow the
  • 29:05 contribution workflow meant and means that like building binary packages is trickier than if
  • 29:11 you're like a debian and you do a release of software every so often you can just be like okay
  • 29:17 i maintainer has changed the thing we'll kick off a job the binary package is done when it's done you
  • 29:22 know like it's much more complex when you have a user who submits a thing and you want it as soon as
  • 29:27 the user merges the thing you want the binary packages to be ready for the user and all this type of
  • 29:31 stuff so yeah it's it's interesting it's been a an interesting transition but a worthwhile one i think
  • 29:37 something that i think is also kind of a milestone and you may you mentioned it a little bit mike
  • 29:41 uh is casks so as a you know occasional contributor and a heavy user of homebrew i use casks all the
  • 29:48 time and i really love the feature uh you mentioned that it was previously a tap and then it got merged in
  • 29:53 i don't actually know the history or the backstory of how that happened but i think it was a pretty
  • 29:59 important thing in the history of homebrew maybe you could share a little bit about how that came to
  • 30:02 be yeah so i'm not entirely sure i think it was i can't remember the name of the guy i think it was
  • 30:08 fins was his uh github handle but yeah someone set up this homebrew tap with enormous amounts of
  • 30:15 custom ruby code and it was probably the the homebrew tap that had the most additional stuff in it with
  • 30:21 this they came up with like a new dsl and this new concept called casks um for installing like binary
  • 30:28 packages you know google chrome one password whatever it may be um and yeah and then after this project
  • 30:34 been going on for a while like we'd kind of built closer and closer ties with that project and then it
  • 30:39 was someone i think it was a a russian google summer code student called anastasia um and she basically
  • 30:46 was involved with like merging the two repos and merging essentially all of the like the actual
  • 30:51 like underlying like code logic for casks into into homebrew and then yeah like it everything was
  • 30:59 pretty separate to begin with but then over time like casks and formula have been more and more kind
  • 31:04 of like together and then now it's i think the nice thing that casks do is that it's you know it means
  • 31:12 fewer people use them by quite a long way but it means if you want to just use homebrew to install
  • 31:17 pretty much everything on your computer you can do that now which is between the mac app store and
  • 31:23 casks and uh like humber itself and then there's the thing brew bundle which lets you kind of put them
  • 31:29 all into a brew file and kind of have a somewhat decorative format and that supports installing things
  • 31:33 from the mac app store as well so yeah so you can basically like i have essentially everything
  • 31:38 my machine is being installed through homebrew in in some shape or form and it's yeah it again has it
  • 31:45 broadened the ecosystem and wasn't was probably the biggest idea that came from outside of the core team
  • 31:52 and got merged back in and other than we can talk about this later john uh like the linux sport as well
  • 31:57 which had a similar kind of evolution yeah i have that on the on the agenda so any other big milestones
  • 32:02 that you guys wanted to talk about i just want to talk about casks for a bit because uh i don't like
  • 32:08 casks right uh i never like casks and uh it's very popular thing if you talk to anyone about homebrew
  • 32:14 they're like oh yeah the first thing i do is cask install everything on my computer and then like
  • 32:19 all the other tools as well i don't like casks uh but you know it was important that it wasn't all
  • 32:24 about what i wanted and i always made sure that was the case and so we built brew like all the time and
  • 32:32 mike was extremely instrumental in some of these pieces right i remember when you merged the sub
  • 32:36 command support that wasn't something that i was thinking of but you added that so that people could
  • 32:41 do brew dash whatever put it in the path and then that would be something you could execute via brew
  • 32:46 and uh it was just always important that we allowed the community to experiment and see where they
  • 32:53 wanted to take through and then if the community liked those things then yeah we would support them
  • 32:58 or merge them in more fully so yeah it's important as an aspect of how to manage an open source project
  • 33:04 but you allow that kind of thing i don't know exactly why i don't like them but yeah just a matter of
  • 33:11 preference i think that's fair everybody deserves their their own preference um you reminded me there with
  • 33:16 the external command stuff max it was also nice because we as you said it let the community go off and do
  • 33:24 stuff um and there were a few times that people proposed kind of fairly massive changes to homebrew
  • 33:28 which would require a lot of work and we were able to say hey we'll go off and uh go off and build this
  • 33:35 in a tap and then if that gets some sort of you know adoption then we might consider emerging in later
  • 33:42 and uh a little secret for any of the open source maintainers who might be watching like a lot of the
  • 33:46 time in my head i was just thinking like there's no way you're actually going to do that but so one
  • 33:51 of the the early successes of that i think before even casks which someone said like hey like we should
  • 33:56 have descriptions for all the formula like a nice little textual description of what it is
  • 34:01 um and it was like okay well that's going to require someone to go through and add lines to 5 000
  • 34:06 packages describing them all i was like if you go off and do that and you get a description for
  • 34:11 all the formula then we'll consider merging that back in thinking that person is not going to do it
  • 34:16 no one's ever going to do this this is fine i've essentially told them to go away in a nicer way
  • 34:20 and then you know this person reappeared in like you know four or six months or something and was like
  • 34:23 cool yeah i'm done i'm done now i've we've got descriptions for all of them and then we merged it
  • 34:28 back in and then with with a lot of these changes it's then once you got that thing it's much easier to
  • 34:34 say hey every new formula we add has to have a description now and it felt like a big leveling
  • 34:39 up for the project but you know it felt like i guess as max said earlier like you have to be
  • 34:44 um you know i think it's good having a vision of what you like and what you don't and and even like
  • 34:50 max not liking costs i think like that's a good example of like you know we we all have our own
  • 34:56 preferences and our design decisions and whatever and we can't expect them to be the same but at the same
  • 35:01 time max was not trying to ensure that casks could not be created by someone else and the same with the
  • 35:06 description stuff i thought this was not going to happen but i wanted to like leave the door open
  • 35:10 that like well if someone goes and essentially does all the work for free then yeah we can we
  • 35:15 can include descriptions why not yeah i deliberately didn't put descriptions in the initial formula
  • 35:22 and i remember like fighting people to keep them out so it's all objective everyone like i have a different
  • 35:28 description we'll end up with edit wars and this information is easy to google etc but like uh
  • 35:34 yeah it's very useful metadata for sure um
  • 35:38 with like package x which uh i recently built right which is an attempt at something new in the
  • 35:45 package management space didn't add descriptions as well and i was like oh we use ai to generate
  • 35:50 descriptions um which mostly worked but then for some packages it was just abysmal and we actually got a
  • 35:57 lot of backlash to that so uh it's um a difficult one sometimes figuring out what you want to support
  • 36:04 because when you add something like that yeah then that means that every package from then on needs
  • 36:09 a description so you're increasing the burden but that was very minor thing should have been in there
  • 36:14 from the start probably so i kind of wanted to shift uh gears a little bit and talk about apple
  • 36:20 um so it's pretty intertwined like homebrew is pretty uh there is a linux support and some other stuff but
  • 36:28 um you know max you mentioned when you came over to the apple ecosystem that there was no good package
  • 36:35 manager you weren't very satisfied and i think that homebrew actually has really really improved the
  • 36:40 experience for developers on apple devices and apple changes relatively quickly uh you know the operating
  • 36:46 systems and whatnot like they're they're always advancing their underlying architecture um so i wanted to
  • 36:51 talk about maybe two or three things there one is the uh the move to a unix like posix based
  • 36:58 operating system right uh with mac os 10. uh the other is the constant march of progress with apple
  • 37:05 operating systems deprecating things changing the rules on the platform and then also their architecture going from ppc to intel now apple silicon those have all been major changes
  • 37:13 relevant to homebrew and i was wondering if you know either you had commentary about that or
  • 37:21 experiences from you know using those things and going through them yourselves yeah i'll quickly chime
  • 37:27 in then pass to mike because i think he has much more experience in uh the various important changes
  • 37:32 especially the uh apple silicon one more recently but um i think at this point honestly
  • 37:39 apple cannot change some things about mac os because of homebrew
  • 37:43 they they would risk um enormous problems for the global developer ecosystem if they did
  • 37:53 but yeah earlier days it was more problematic but i've been very good about binary compatibility
  • 37:59 uh in their libraries we only had a few issues um every time they do an upgrade
  • 38:05 in general but yeah mike has uh more experience yeah i mean i guess the early one is you
  • 38:12 initially released homebrew on leopards and then it was the snow leopards i think leopard had some
  • 38:18 x64 support right and that but it was like not really and then snow leopard went a bit more all in on
  • 38:25 x86 64. like so that transition was like i think the first and a relatively easy one um shout out to misty
  • 38:35 de mayo a former homebrew maintainer plc member uh who had a thing called tiger brew which like back
  • 38:42 ported homebrew to run on like pvc chips i i believe is still kind of working on those ancient apple devices
  • 38:48 today um and then yeah i guess you mentioned john more recently the kind of apple silicon transition
  • 38:54 i i mean i think like you know it's no secret that every new version of mac os tends to break some
  • 39:00 stuff in homebrew or either mac os or xcode or whatever um but like you know i i think compared
  • 39:08 to the earlier days we definitely have a private but decent communication channel with apple when stuff
  • 39:15 really needs to be kind of addressed and particularly the apple silicon transition was made much easier
  • 39:21 by apple like proactively essentially as soon as the keynote was done where they announced apple
  • 39:26 silicon like before there was any hardware in anyone's hands they reached out to us proactively
  • 39:30 and we're saying like hey how can we get the right apple silicon in the hands of the right people
  • 39:35 in the right place and whatever um and yeah and i think it's it's funny because i think there's
  • 39:40 definitely a bunch of two-way learning that's gone on i think homebrew's learned like how to identify apple
  • 39:47 and how to work with them and figure out like what that looks like but i i think apple's also like
  • 39:52 been getting better with open source and learning that like you know sending hardware to homebrew people
  • 39:59 may involve sending it to like a this is not even a a uh fictional example but like some distant scottish
  • 40:07 island um and like you can sometimes hear the confusion the apple people's voices that it's like
  • 40:13 you're not just all in this office somewhere in the world you're like scattered all around like what's
  • 40:20 the legal entity we should attach this to oh there isn't one oh uh this is going to be tricky uh but you
  • 40:25 know in the end i think we've got something that i think work brutes or homebrew has been tremendously
  • 40:31 beneficial to apple over the years and i think you know obviously if we didn't love our apple devices
  • 40:38 like homebrew probably wouldn't exist in the first place because we would have just stayed on linux
  • 40:43 doing linuxy things with linux package managers which were good enough that homebrew would probably have
  • 40:48 not been created yeah and speaking of linux and also other platforms i know that homebrew
  • 40:55 has support for linux there's linux brew right and there's also uh what is it uh the windows uh wsl
  • 41:04 some people can use homebrew there so what's the project's position now on other operating systems is
  • 41:11 it like officially supported by the project how how do you approach that yeah so linux is officially
  • 41:17 supported with homebrew now and it's kind of fully integrated in terms of the package manager itself
  • 41:23 and all the formula and homebrew core are run on you know this specific formula that might be mac only
  • 41:30 or linux only or whatever but essentially everything we are aiming to have feature parity version parity
  • 41:36 and everything like that and we have maintainers who run exclusively on linux and maintainers who run
  • 41:40 exclusively on uh mac but mac is still our predominant uh ecosystem if it feels like an apple
  • 41:48 level uh perhaps slightly silly discussion but um there's been a lot of back and forth on pull
  • 41:55 requests and internally about like well how do we communicate that because homebrew is still used way
  • 42:00 more on mac os than on linux um so on the home page we have you know homebrew the missing package manager
  • 42:06 for mac os or linux and the or linux is parenthesized to sort of indicate that we do support linux but it's
  • 42:13 like you know not quite as popular or you can look at the numbers i think linux usage is about maybe 10 or
  • 42:20 something of mac os usage based on analytics and also like maybe interesting maybe boring uh like mac os
  • 42:28 is like predominantly people running on their actual match and like i think it's like 10 20 or something
  • 42:33 it is running on like ci environments whereas linux is like 50 actual users 50 ci so i think that's
  • 42:39 again where the linux support is kind of kind of useful like even for us in homebrew ourselves like
  • 42:43 having the ability to like bump mac os packages and like run style checks and all this type of stuff on
  • 42:49 linux runners because i guess despite our conversation earlier where you know back in the
  • 42:54 day when there's no mac os versions mac os runners available even nowadays like the mac os
  • 43:01 compute per minute price is dramatically higher on any platform than the linux uh compute price so
  • 43:08 essentially if you can farm a job out to a linux system instead of a mac system it makes life much
  • 43:13 easier but again like we said earlier like the linux stuff started with a fork of homebrew
  • 43:19 called linux brew over the package manager itself and then it had its own version of homebrew core
  • 43:24 where all the formula are called linux brew core and over time the package manager in uh the main
  • 43:31 package manager repo homebrew we call it was kind of made to be more and more linux compatible and
  • 43:37 the eventually like the homebrew core became linux compatible as well and a little shout out to the
  • 43:43 past max mentioned he was working when we were in london we were both working on qt applications actually
  • 43:49 and yeah and i felt like from my cross-platform qt days i learned a lot about how to make the uh
  • 43:55 the package manager part of homebrew not just a mess of like if mac if linux if mac if linux like all
  • 44:02 over the place which is what kind of naive cross-platform porting tends to look like and be very painful
  • 44:08 to deal with max so you you had mentioned that uh you know you don't recommend having a big success early
  • 44:15 in your career uh when you're when you're young i'd love to hear from you um kind of how homebrew has
  • 44:21 impacted you professionally and what that's done to your kind of trajectory as an engineer and as i know
  • 44:28 you're an entrepreneur like what are you up to now where are they like where are they now and like
  • 44:33 how did homebrew kind of put you in that path yeah well uh homebrew definitely impacted everything about
  • 44:41 my life very much that's for sure hopefully for the better yeah well definitely like um i can't talk
  • 44:49 fondly enough about how open source has given me so many opportunities that i wouldn't have otherwise
  • 44:56 had but uh you know let's start with a personal level like suddenly i became very arrogant for a
  • 45:01 while about it because uh you know it was the biggest project on github and it was on my username
  • 45:07 slash mxcl slash homebrew um and uh you know i'd meet people and they i remember one conversation
  • 45:16 in like 2014-ish maybe 2013 and i was sitting at a bar with some other devs and this guy says oh have
  • 45:24 you heard of homebrew this package manager it's really cool and i just started laughing and then
  • 45:29 everyone else around me was like what did he ask and i said oh he asked me if i'd heard of homebrew
  • 45:34 and they were like and they talked about how i was the creator i've always been somewhat humble in
  • 45:40 that respect i don't usually bring it up because i find that you get a bit of hero worship what you
  • 45:46 probably find similarly mike and uh it changes how people act with you so i've had this
  • 45:54 interesting sort of life where um among like geeks i'm famous but among everyone else fortunately i am
  • 46:02 not i don't i don't have to be uh a celebrity in uh in most circles and uh you know it's definitely
  • 46:11 got me career opportunities and you know obviously famously didn't get into google but
  • 46:17 not getting into google got me an awful lot of other opportunities and yeah i think the worst thing was
  • 46:27 definitely that after homebrew nothing i could work on seemed successful unless it had you know
  • 46:35 a frac some some fraction at least of homebrew's success so i abandoned a lot of open source projects
  • 46:43 i probably shouldn't have because homebrew was successful very quickly and i turned down a lot of
  • 46:49 interesting startups that i could have worked on because they just didn't seem cool enough
  • 46:53 um but yeah still always done open source i've got a couple of other big projects on my uh
  • 47:00 github and uh missed out on some interesting airdrops because mike decided to deprecate the
  • 47:09 original homebrew repo at some point you owe me uh some token for that like yeah um it was a couple of years ago
  • 47:17 years ago that i founded t protocol which is what i'm doing now and uh it was based on my career in
  • 47:23 in work and open source and like the the fact that nothing but open source ever really felt worth
  • 47:30 doing to me and over the last 15 years uh open source has really gone from being something that was
  • 47:37 kind of derided you know like it you could see how open source was becoming successful 15 years ago when
  • 47:44 homebrew was created but it's still the case that if you wanted a real job then no one was using open
  • 47:49 source and they thought you were a hipster or an idiot for wanting to use it so now we're like the idea
  • 47:55 of building something without an open source base is preposterous and um yeah in those 15 years i think
  • 48:02 it all kind of took us by surprise how much open source became the bedrock of all modern software
  • 48:09 development so a couple years ago i was looking for funding solutions for open source once again
  • 48:15 and i didn't find anything that seemed like it was going to work for me i'd already tried a few things
  • 48:20 so vanity protocol to try and fix it by changing that narrative it's a crypto project which obviously
  • 48:26 a lot of people are skeptical of but we're doing very well so the idea is we're trying to make open
  • 48:34 source sustainable by giving free crypto token rewards to open source developers and we have almost 1.5
  • 48:41 million people who've signed up for our testnet so far at 15 000 open source projects some of them uh
  • 48:47 very impactful ones so yeah we're launching it properly later this year and the idea is to make
  • 48:53 it so you know like my homebrew story was that i quit my job to work on homebrew full-time and if i hadn't
  • 48:57 done that i don't think it would exist quite honestly and it's not really something we can
  • 49:04 expect the people who are building the foundation of the internet to do on a regular basis we can't
  • 49:10 rely on the software industry and all the software that we build that's so important nowadays to
  • 49:16 exist when we were expecting people to somehow try and make these sacrifices i couldn't do that now
  • 49:22 at 26 you know i was single didn't have kids it was fine but so yeah we're trying to change that
  • 49:29 t protocol makes it so that you don't think of open source as a charity which is how everyone
  • 49:35 else goes about it you're begging for donations changing into like a value ecosystem where
  • 49:40 you're you're participating in the value of open source
  • 49:48 excellent yeah i mean i can only imagine that homebrew has had a major a major impact on your
  • 49:53 entire life and i can relate to what you were saying about you know when you have a big success
  • 49:58 it's very difficult to try to do another project and have it be successful like i've i've kind of
  • 50:04 developed this muscle of don't try to do the same thing twice um where if something happens to be a
  • 50:10 home run it's a combination of good good work you know forethought but also a healthy dose of luck
  • 50:16 and you can't expect the luck to be there every time um but yeah i definitely i definitely can
  • 50:21 relate to some of the things that you were saying right like um yeah mike how about you how has homebrew
  • 50:26 impacted your career and uh you know where are you now what are you up to these days yeah i mean
  • 50:32 similarly to max like i've had a bunch of doors that got opened probably only due to homebrew right so
  • 50:38 i started working on homebrew and ruby and you know i dabbled very briefly one university course back in
  • 50:45 the day but um you know homebrew is what kind of got me doing ruby and then i've definitely found like
  • 50:52 there was a few as homebrew became more successful uh when i changed jobs and i had like homebrew maintainer
  • 50:58 on my resume like that seemed to be the only thing that people would care about and that got me through the
  • 51:04 door and got me kind of speaking to people and i i applied for github three times before i got a job
  • 51:09 there but you know i went from essentially being a nobody who uh like just a random member of the tech
  • 51:16 industry to kind of being able to get a chat with one of the github founders back in whatever it was
  • 51:21 2012 or 13 or um and yeah and i think that door was opened exclusively because of homebrew and i think
  • 51:28 yeah i spent 10 years at github i left there last year and i think i learned a lot about making homebrew
  • 51:33 better from github and a lot about making github better from homebrew and there's probably some
  • 51:38 stuff i'm not going to go into right now that hope that github does differently as a company
  • 51:43 uh and as a software project because of homebrew right and if homebrew didn't do it first then
  • 51:47 github probably wouldn't be doing it um but yeah nowadays i guess kind of like max i i've also almost
  • 51:54 like had a like thinking about what does this look like going forward and like what what do we do here
  • 52:02 and i co-founded workbrew with yourself john and our co-founder vanessa who's not on the call and
  • 52:09 we're basically doing i guess it's interesting how like max and i are both kind of riffed off the the
  • 52:14 homebrew idea in different directions but basically what we're doing is building uh commercial support for
  • 52:19 homebrew and what that looks like today is providing um better support for the stuff that homebrew doesn't
  • 52:25 really want to do that the volunteers are not interested in like making homebrew work really
  • 52:29 well with mdms in environments where users don't have administrators and tightly integrating with kind
  • 52:36 of security protocols cvd disclosures and stuff like that but moving forward we're basically making
  • 52:40 homebrew better for engineers using it as well and security professionals too and so yeah we're basically
  • 52:46 working on making homebrew better but also providing a kind of commercial layer on top of homebrew uh
  • 52:51 to make that better for the people who are using it i love what you guys are doing and i wish you
  • 52:57 all the success with it i think it makes a ton of sense honestly i remember in um i think it was 2014
  • 53:04 i got a call from some uh san francisco vc who was like how can we make homebrew into something
  • 53:11 commercial because they they were looking at npm right which had just just done that and at the
  • 53:16 time i was like i just don't see how we can do it because i didn't have the right mindset and also
  • 53:20 because it was just such a big open source project i didn't understand how we could like say hey community
  • 53:25 um it was open source but now it's not uh it's kind of something else so what you're doing is the
  • 53:32 right way to go about it i wish i thought of it then might have been a very different world for
  • 53:37 me and all of us but uh you know building on top adding extra services on top i think it's only the
  • 53:42 last few years that commercial open source really people figured out how to do that and like i think
  • 53:48 there's a lot of good opportunities in that space well i mean the funny thing is john had been probably
  • 53:53 from a similar sort of era trying to convince me to that this was a good idea and i felt the same as you
  • 53:58 that like well i don't really see how we can do this but for me it was like two things kind of came
  • 54:03 along so one thing was the um i guess like homebrew actually having an established government structure
  • 54:10 governance structure and its own funding and a non-profit and a board and all this type of stuff
  • 54:15 like and that gave me the separation that i feel more comfortable with where it's like okay now it work
  • 54:21 brew even if we wanted to try and somehow take over the open source project we can't do that because
  • 54:26 it's its own thing and it has voting and everything like that right so that that feels a lot more
  • 54:30 comfortable to me um but then also on on our side i guess having seen over the years something i
  • 54:36 actually learned a couple of companies before homebrew is it was this company kda i used to work on again
  • 54:40 doing qt consulting um and i was really excited because they were the biggest kitty contributors in
  • 54:45 terms of a company that was out there um and i was like great i'm gonna get to work on all this cool
  • 54:50 exciting open source stuff and get paid to do it and then i learned pretty quickly like oh no no if
  • 54:55 you're getting paid to do the open source stuff you're getting paid to do the boring things right
  • 54:59 because all the fun stuff people will be happy for free in their spare time and it's and i think one
  • 55:03 of the projects was something like uh k office the kind of open office alternative and it was like
  • 55:08 working on a compliance suite of like okay here's the like essentially 2 000 ways in which k office
  • 55:15 doesn't render things the same as words just go through and like fix them all right and no one
  • 55:19 wanted to spend the readings and weekends doing that so we were paid to do that right and i feel
  • 55:24 like it's a similar model to what we're doing with workbrew essentially where there's a bunch of stuff
  • 55:29 that i've seen over the years like humber maintainers are like ah i don't really like this is only that
  • 55:34 you only use this in lockdown environments where security and compliance concerns are really important
  • 55:39 like that's not me that's not my personal laptop like why do i want to spend like a day working on this
  • 55:44 and so it doesn't get done and instead of saying no to people we can now say okay well like instead of
  • 55:51 having homebrew solve all these problems for you which only apply really to companies that kind of
  • 55:55 have these type of problems rather than individuals working at home then this workbook can solve them
  • 55:59 for you instead so yeah um so just to wrap up we have a couple a couple minutes left but i i really
  • 56:07 wanted to uh you know kind of see if there's any advice that you have for people who want to be
  • 56:13 open source you know open source developers like you um if you were to go back to when you first got
  • 56:20 involved with homebrew you know what advice would you give yourself at that time now that you've got
  • 56:25 basically 15 years behind you
  • 56:29 well i'll go first um so i always say that the most important thing is it's something you need
  • 56:37 like in in general when you're working with you know you've got to be working on something else and
  • 56:43 then as you're working on that other thing you're like oh this this thing doesn't exist or this tool
  • 56:49 isn't what i need it to be i need it to be able to do something else and so if you're going to start a
  • 56:54 new project like it's one of those things but if it's the latter you might find there's a tool that
  • 57:00 exists and you can start contributing to that like you know that's a lot of open source people got
  • 57:05 involved that way by finding that it had to be them who made that feature and uh if you have great uh
  • 57:13 core maintainers like mike who encourage you to go do that partly because he's lazy partly because he's
  • 57:18 made sure that over the years uh the ability for you to like bolt in your own functionality is easy
  • 57:24 then uh yeah it's going to be something you're going to be passionate about if you're just doing
  • 57:28 it because you think it's going to get you a good resume then you'll find after a few weeks you're not
  • 57:33 doing it yeah i'd echo what max said like we actually have that in one of our like comfort
  • 57:40 maintainer guidelines that like if you find yourself in a situation where you're no longer using homebrew
  • 57:45 day-to-day like you're doing your day job on linux and all your personal machines are on linux and you
  • 57:50 just don't use homework there or whatever it may be then we recommend people step down because at that
  • 57:55 point not only like is it not that interesting to you but also like at that point um you know you're
  • 58:02 probably not going to do the best decisions for the project because you don't care personally
  • 58:06 and yeah like i i don't know like i think it's for me thinking back 15 years like i don't know i've just
  • 58:12 i've learned a lot along the way that i don't know if i would have learned if someone told me because i'm
  • 58:17 super stubborn like that um but yeah i guess for me the biggest transition has been
  • 58:21 just having more boundaries and being better at like dealing with people being entitled or
  • 58:28 like i no longer have like homebrew slack or notifications or whatever on my personal phone
  • 58:34 and stuff like that so it's yeah i guess that has both helped kind of let other people pick up the slack
  • 58:41 and like share the load a bit more but it also just stops random open source people who are 99.9 of
  • 58:50 the time lovely and sometimes less than lovely uh from intruding on my personal life and my personal
  • 58:57 space and when i'm having time with my wife and kids and stuff like that yeah well yeah mike was always a
  • 59:02 lot better about that than i was you know he knew how to keep the rest of his life separate and i you know
  • 59:12 that's why i burned out while uh mike kept going for sure so yeah something i can learn i think
  • 59:22 we all can um well thank you both for for joining us um this has been awesome uh congratulations to both
  • 59:29 of you also 15 years since homebrew was created and i think um thank you to everybody in the community
  • 59:36 who uses homebrew who contributes to homebrew i think that all of the you know everybody who's got
  • 59:40 commits in there whether it's you know features or documentation or really anything to help out with
  • 59:46 the project you know you deserve to celebrate as well um thank you max uh thank you mike for joining uh
  • 59:52 have a great day everybody bye bye thanks