The Changelog: Software Development, Open Source - How open source saved htop (Interview)

Episode Date: September 24, 2020

Today we welcome Hisham Muhammad into our Maintainer Spotlight. Hisham is the creator of htop - a well known cross-platform interactive process viewer. This conversation with Hisham covers the gamut o...f being an open source software maintainer. To set the stage, a new version of htop was announced, but not by Hisham -- it was a kind takeover of the project and needless to say Hisham was surprised, but ultimately relieved. Why? Well, that's what this episode it all about...

Transcript
Discussion (0)
Starting point is 00:00:00 And on one hand, like your rational self thinks that, yeah, I've never gave, you know, an SLA for my open source users. Which is 100% true. Which is 100% true. And then on the other hand, you go like, yeah, but that's not how I would like to be treated myself. Yeah, exactly. But it doesn't scale.
Starting point is 00:00:18 You know, you're only one person. And if I was to give the kind of like prompt, in-depth, thoughtful response for every communication that comes my way on all of the projects that I'm involved with, at the ideal level, maybe that would take my entire weekend. Or that wouldn't even be enough hours in a day or something like that, right? If you're running a one- man show project like that or something. So you have to weigh those things. Right. So yeah, some things are just not scalable in that sense.
Starting point is 00:00:56 Being with her change log is provided by fastly learn more at facet.com. We move fast and fix things here at change law because of roll bar, check them out at robot.com and we move fast and fix things here at Changelog because of Rollbar. Check them out at rollbar.com and we're hosted on Linode cloud servers. Head to linode.com slash changelog. Welcome back friends. This is the Changelog podcast featuring the hackers, the leaders, and the innovators in the world of software. I'm Adam Stachowiak, Editor-in-Chief here at ChangeLog. Today, we welcome Hisham Mohamed into our maintainer spotlight.
Starting point is 00:01:34 This is a special flavor of the ChangeLog where we focus on maintainers and their journey. And Hisham is the creator of Htop, a well-known cross-platform interactive process viewer. And today's conversation with Hisham covers the gamut of being an open source software maintainer. To set the stage, a new version of Htop was announced, but not by Hisham. It was a kind takeover of his project. And needless to say, Hisham was surprised, but ultimately relieved. Why? Well, that's what this episode is all about. Special thanks to Tidelift for partnering with us to co-produce this flavor of the change law thanks for coming on Maintainer Spotlight. We appreciate it.
Starting point is 00:02:30 Yeah, thanks for having me. And I guess I should start by saying thanks for HTOP. I've been using HTOP for years. And I even have a long-standing bash alias that says, if HTOP is on this machine, alias top to HTOP, because it aims to be a better top, and it certainly is in my opinion, so I'll use it whenever possible.
Starting point is 00:02:51 Oh, thanks. Yeah, it's appreciated. I have that alias as well. I think a lot of us do. So we're here to talk about not just HTOP. You have lots of things going on, Gobo Linux. You have other projects that you're interested in. Things still not announced quite yet, but coming soon. And H top just hit 3.0.
Starting point is 00:03:14 And this was a big release. Maybe not so much because of what was in the release. However, there are features in there. There are a lot of updates, a lot of bug fixes in there, but really how 3.0 came together because this was long time kind of unmaintained by you. Do you want to tell the story of your recent Htop history and what happened? Yeah, sure. I can go through that story. Well, yeah, Htop 3.0, like, after maintaining Htop for over 15 years, Htop 3.0 was a surprise to me. I literally woke up once Saturday morning and I had a Twitter notification
Starting point is 00:03:48 that someone like at tagged me in a news post about the release of H.3.0 which said H.3.0 released. The project has been taken over by a group of maintainers after prolonged inactivity from Hisham, from myself. So yeah, and well, I jumped out of the bed to check. This was a pleasant surprise. This was not like, oh no, someone hacked my machine.
Starting point is 00:04:16 No, yeah. So yeah, I jumped out of bed and I, okay, I need to, like, and I just straight ran into to write a reply on GitHub because there was an open GitHub issue that title is this project still maintained? I wrote a response there and I started the response with, I don't have it open here to get it literally, but I pretty much started it with, first of all, I'm very happy to see this because I'm sure that everyone who saw this news and who knew me as the maintainer would have like questions like what happened and so I ended up writing this long post on which I explained what
Starting point is 00:04:56 went on and yeah so in that post I say a lot of things and one of them was that my first reaction when I saw that tweet was, to be honest, one of relief. And so essentially, like at this moment, I'm like retiring from HW maintainership. And well, I saw all of the whole thread that was going in that GitHub issue about asking if the project was maintained. People were going like, I wonder if he's okay. Everything was super respectful and friendly. And someone said, well, his GitHub activity continues to be green. You know, the tiles with your activity. But I wasn't answering the emails and all of that. So yeah, what happened there was really that at one point,
Starting point is 00:05:49 HNOP has a long history. And as time went on, the project really started as a way for me to, like in a typical free open source software, like scratch your own itch, take something that you're annoyed by and try to fix it. So I started a like many years ago like and at one point i considered it pretty much like done like for my own use right and uh and then it was like maintenance that went on and i started to take longer and longer breaks from the project right and then sometimes it would take like six months and then i would look back at it, merge a couple of PRs, fix something here and there and make another release.
Starting point is 00:06:31 It was always like for a long time, it was kind of a low key maintenance thing for years on because if you have used H.Dub for a long time, you've noticed it pretty much looked the same for a long time and it has become right sort of like reliable dependable thing that's kind of like you know there and works the way i wanted to work so at one point i started looking at like you know like cp you know some other things like you don't expect the copy command to like change a lot overnight or something like that so yeah so it felt pretty much done to me and those breaks kept getting longer and longer and yeah eventually i at one point like i had a an email filter that just sent everything that mentioned htop to an email folder which i would like occasionally maybe like twice a year look at it and and do like batch maintenance
Starting point is 00:07:16 but as as you said like i'm like so involved in so many things and i and i think we're going to touch on the point of like burnout you know more deeply later because it's an interesting topic. But at one point, I realized that I hadn't looked at the project for a whole year. And I felt like a sort of sigh of relief, like, oh, that was refreshing. I wrote it down there in that post mentioning this. So, yeah, and then I realized, I started actually thinking about, like, handing over the project, but, like, I've never done that before for an open source project. Like, how do you like to find someone to pass it on?
Starting point is 00:07:50 And, like, if you find it to be, like, sort of a burden to you, like, do you want to instill that burden on others? And, like, you feel that mixed feelings about, like, your responsibility to the project. But then, like, along that mix of mix of emotions like months flew by again and i did nothing right and uh yeah and when i realized i think i guess it was like a year and a half and like yeah and then i'm just gonna like fast forward to that day when the when the announcement came so yeah so basically i told this whole story there and like to show like my side of what's going on what was happening and well
Starting point is 00:08:25 reaction has been like overall positive from all sides right the the new maintainers i got in touch with them and like i apologized to them for like having to have that one side decision of forking the project which i understand is like not the ideal way of doing things and i said like okay all is well when it ends well. And at the same time, I made myself available for any of the transition matters. My old website now redirects to the new one, which has a much cooler domain, by the way, htop.dev. Cool domain.
Starting point is 00:08:58 And that's what happened, basically. I'm very happy that it's an actual group of maintainers. It's a collective now like i think the project is in very good hands and uh yeah i'm very happy here from how it turned out to some people it might have been my reaction might have been a surprise but uh yeah but i think as i said like i think this is like free open source software working as intended you know and it has been like overall positive from all sides. Well, you got that email filter there that filters out H-top and coming back to it every once in a while is one thing because you need those natural breaks.
Starting point is 00:09:32 I mean, if you don't, I suppose, think something needs to be advanced or in your expression of it, you mentioned how it was sort of done to you, but you mentioned there's a couple other people that try to reach out to you about changes to it. And maybe that's sort of the feedback loop being broken, so to speak, of a maintainer or creator of a project not really hearing the community. And that's kind of what happened, right? Was like that you'd filter the emails and people are trying to reach out to you to sort of collaborate.
Starting point is 00:09:59 I suppose in this new GitHub fashion, new GitHub meaning like the last 10 years of GitHub or more of how it's become more and more collaborative, but they tried to reach out, and you just were in and out of the project as you saw fit. Because that's just how it worked for you. Is that right? Yeah, that's right. And I see different projects in very different ways.
Starting point is 00:10:22 In open source, like, everything always, like, falls under that same umbrella of, you know, based on the licenses and all of that. Yeah.
Starting point is 00:10:31 But the nature of, of projects is very different. Because for me, Htop was always like this, you know, kind of like one person hobby project that was never a developer team
Starting point is 00:10:41 and all, or any of that. And, I am part of other projects with our arm which are more collaborative and you feel that sense of you know uh responsibility and communicating and all of that but uh but for h top like back from the start there was like 2004 it was a very different world back then like you you're talking about like github in the last 10 years but this this was
Starting point is 00:11:02 this was started back in the days of sourcefororge. Those of us who are old enough to remember. And the dynamics were very different, right? It would have like a mailing list or something like that. And many of the licenses in free software, they come with the whole thing. This is offered as is with no warranty, you know, in capital letters. And again, like there, sometimes projects have this like implied notion that, you know, you're responsible to actually be available. And, you know, whenever someone reaches out to you or something like that, but in that sense, you know, that no warranty comes with that as well.
Starting point is 00:11:40 Right. Sometimes, sometimes people will just, you know, here here's like here's something i did here's the code well if it's useful for you right feel free to use it but you know i'm i'm not really on the hook for like you know answering the emails like in a timely fashion or or any of that of course i try to be like i i like it when i reach out to other free software maintainers and you know and they're responsive to me right and and, as I said, at the same time, I have another project where I'm the maintainer of the Lua language package manager, Lua Rocks, and that has an ecosystem around it of other developers who develop Lua modules and put it in the repository so that is very much a live project that needs
Starting point is 00:12:27 that tending to, that housekeeping. Whereas Htop was this kind of hobby weekend thing where sometimes I would hack on it for a while and sometimes not. And I treated those very differently. And I guess at one point I started that
Starting point is 00:12:42 email filtering thing as sort of an organizing thing. Like, oh, I can't look into this right now, but I don't want it to slip away in the inbox mess. I'm just set everything Htop aside so that next time I look at Htop in my next round of playing with the project, I will get to this. Well, it makes jumping back into things a little easier if you've got sort of a collective,
Starting point is 00:13:03 but you don't want to be distracted because it doesn't require daily maintenance or even monthly maintenance. It's more like in the meantime, when I want to look at it, this is where I go and it's easy. So you will procrastinate less and maybe there's a lot of psychological things you could do yourself to sort of be productive with what matters most today. This kind of reminds me, Jared, of something that Nadia said recently when we talked to her, which was like not really a one-to-one but more like if it's public it doesn't mean that it's participatory and so not so much that htop wasn't open source and available for others to participate but more like as you had said and Sean was like it's more like it's a one-person project doesn't need a lot of people involved in it it's not active like maybe little rocks might be so
Starting point is 00:13:43 you know just you weren't really sort of paying attention to the fact that others might want to share their opinions and interact and progress the project as natural open source kind of is today would you agree with that yeah and because in fact there were many releases like past releases of h stop it was which were made mostly based on me merging community contributions. And then I figured that, okay, now I'm going to do a round of maintenance on this in which I'm going to look at all of the PRS, which daytime sometimes, sometimes assessing the validity of a PR, like it actually takes longer than it takes to write it. Right. Because you want to, some people would just like send you like like a change okay i tried something out
Starting point is 00:14:25 and it kind of works for me and then i had to look at it like will it work for everybody right will this crash any other corner cases and and and things like that like insist what about the systems that i can't test myself like ever since ever since they stopped became portable and and wasn't a linux only thing right you You know, like that increased because, you know, someone might come out of the blue and send you like a huge patch with support for a new operating system, which, you know,
Starting point is 00:14:51 you have no way to test. This has happened. Like I've gotten like a huge patch which was like very intrusive with many like considerable changes for adding for IBM AIX support, right? Which like, I don't even... Did you merge that?
Starting point is 00:15:08 I don't even know what's the status of AIX is nowadays, right? It's kind of a legacy Unix by now, which like, and I looked at it like it was this huge patch. I have no way to test it and probably no way to maintain it myself. Like, okay, what if anything goes wrong and someone complains that something's not working out if this breaks something else so at that point you know it's like for that one patch i just let it slide and say like okay like
Starting point is 00:15:34 if folks like want to run it on ai x like i guess you guys can maintain your own fork with it you know and essentially do the maintenance of that like On the other hand, the Solaris one I did merge in because there's the whole open Solaris and that's like Illumos and the subsequent systems that do follow on that tradition and that I said, okay, that will have more of a living open source community around it and I might be able to ping more people to help me out on that one so yeah so so even that baseline maintenance work you know that you do in batches you know it's like sometimes it is significant it can be significant but yes of course there were lots of people who had reached out to me over time and like it's amazing getting those patches and at one point i joked around and said, yeah, the software is writing itself because all I'm doing is clicking the merge button.
Starting point is 00:16:28 There were H-top releases. Even as far as 10 years ago, which had not a lot of code from myself, which I like lines of code which I've written myself. It was mostly merging patches. For stable projects, that sort of becomes the norm over time. What I found interesting about this thread, it probably wasn't interesting to the people involved,
Starting point is 00:16:50 might have been frustrating to them, but interesting to me was how they were kind of becoming H-top archaeologists, like what's going on with this project? Because the initial is this maintained issue was open all the way back in March. Here we are in September. I think you replied a couple weeks ago. So the story began in March on this thread, ended at the end of August.
Starting point is 00:17:12 And in the meantime, like you said, you were doing other work. You have your Lua Rocks. You have GoboLinux. You have, I think, some of your work is also open source or public on GitHub. So like you said, the GitHub contributions were happening. Maybe you're posting to your blog. I don't know if you were tweeting or whatever. In the meantime, because you had that email filter set up, like you weren't seeing any of this activity. And it's fun to read, they're like, well, it looks like the guy's alive and doing well,
Starting point is 00:17:37 he's just not replying here. So you know, they're starting to figure out like, okay, what's going on here. And eventually, people stepped up, which like you said, this seems like very much an open source success story because you've had this desire to hand it off over the years. It's kind of done to you. It does what you want it to do. Maintenance is a burden, but one that you're willing to do every once in a while for a while. But if you could have had a reliable person or people maybe
Starting point is 00:18:05 five years ago maybe three years ago whenever it was you probably would have handed it off then and by a matter of circumstance here you just kind of ignored it you know filtered it into a place you weren't looking and people just popped up out of nowhere and said hey i can maintain this and that's it's somewhat rare it happens but it doesn't happen all that often. And there were a lot of people who just stepped up and took over. Pretty cool. Yeah, it's funny to think about it. Because yes, I was working at GitHub. I was tweeting.
Starting point is 00:18:35 It was just like life was going on as normal. The way you described it, I was thinking in the back of my head, it's so funny. Because it's kind of an observation of the state of technology and the way we communicate nowadays and all of that because like if it wasn't the 90s someone would have called me on the phone i guess about this you know and i think what happened specifically in my case like it also had a lot to do with the the burnout angle of things because one of the things that I mentioned in that message that I posted that Saturday morning was that at one point in time, I had a conversation where I was talking about burnout and open source maintenance, in which I said, well, if a project is like, and maintained
Starting point is 00:19:19 and like important enough, you know, then it will be eventually forked, you know, if people actually need, like if there's a concrete need for the fixes to get in and for things to move on, they will. And I wrote that and then after writing that, after posting it, I recalled what was the context in which I actually said that. And it was actually at one of the Google Summer of Code
Starting point is 00:19:44 Mentor Summit sessions for which I have been for a number of years a mentor at that event, mentoring students on open source for the Lurox project. And we had that session where it was all like a room full of open source maintainers and we were all talking about burnout and people were talking about like, you know, that feeling of responsibility that they had for their projects and, and how they felt that they could never take time off and, and all of that, you know, and, and, and how pressured they felt about that and how that was one of the things leading to, to burnout. And at that point, I mentioned, like I said,
Starting point is 00:20:25 I'm actually, I'm here for LOROX, but I also maintain H-Stop. And I kind of take regular breaks from that project, you know, and people like stared at me, you know, with, you know, wide eyes and go like, what, like you don't look at it like every single day. And like, you know, what if someone, you know, has something like, I go like, well, if something is critical,
Starting point is 00:20:48 I'll probably get to know it sooner or later. Which did happen at one point. There was this crazy bug hitting Apple Mac systems in which there was a kernel bug in Mac OS, which Htop, by trying to read the state of threads, it was consuming some resource from the kernel. And it turns out that opening Htop managed to crash the Mac OS kernel. So that was actually- Congratulations. Yeah. So like-
Starting point is 00:21:21 Quite a feat. Yeah. At first I looked at it and I was like, well, that's Apple's problem. They should fix their kernel. Right. Right. But that was like the most commented thread on the history of the project with like more than like, you know, I don't know, there were like 200 messages and something like that.
Starting point is 00:21:38 And I was like, okay, I'm going to put a mitigation for this, you know, until like Apple, you know, gets its acts together and uh yeah so so so so i did that like so so i kept that in mind i felt like okay if something gets critical to that point i will know about it like even between my breaks and uh i guess this htop3.0 was kind of a similar event but um but otherwise i said like you know like we we can't let ourselves, it can get super overwhelming. And I understand that as H-Top is important for me and for lots of people. As I said, the fact that it was forked meant that it was really important for someone, important enough for people to put in that effort.
Starting point is 00:22:21 And I feel super flattered. And I feel like it's one of like, you know, probably like one of the things like in my professional career, like as a software developer that I'm like most proud of, like having, you know, written this project and having see it become like an open source success in that sense. Like as important that software is, you know, like people's like mental health and all of that, you know,
Starting point is 00:22:43 it's more important than that, right? So like when I was in that session and I was talking to other open source developers, which, you know, they felt like super pressured, you know, and super unhappy with that situation and not knowing what to do. Like I told them, you know, what I told them that day was like, Hey, take breaks. And, you know, if, if you need and, you know, and if something happens, like things will, you know if you need and you know and if something happens like things will you know eventually sort out by themselves because you know the software it's out there it's in the open you know it's kind of like that's something that we can do you know in open source you know if if the
Starting point is 00:23:16 project was you know proprietary even if it had like a huge user-based community that would like and i decided to disappear there would be nothing that could be done. People would have to, I don't know, try to write it again from scratch or something like that, but then it would not have been an option. Open source does give you that option, so maintainers should keep that
Starting point is 00:23:38 in mind, that they should take breaks if they need. Right. It might also be in a sweet spot in scope. I didn't look at the lines of code and all that and how complex of a project HTOP is. Conceptually, at least, it seems like the kind of thing where if you're going to hop in and maintain,
Starting point is 00:23:56 if you have pull requests, you have bug fixes, you have minor things, is it the kind of project where you could grok it after a little while and kind of start to dink around? Or is it is it massively complex? Because sometimes, sometimes a piece of software has the value, like you said, if it's valuable, somebody will fork it, somebody will maintain it. Sometimes the people that are relying on it don't have the skills, and they're not going to have the time or the money to acquire the skills, they would love to maintain it if they could. But they
Starting point is 00:24:23 can't. In this case, it seems like there's some people who are willing to and able to maintain Htop. Yeah, that's a great question. And yes, that does factor in. And yeah, I think like, for Htop's case, well, everyone likes to believe that they write clean code, right? And I always felt that the code base was approachable, given that, you know, the number of PRs I got over the years, and that, you know, that people would add features and send in stuff. Right. So I was never like too worried on that regard. say, oh my god, this is super important, but the code base is like inexcludable, either because it's... Not because it's badly written, but because it's ultra complex and things like that.
Starting point is 00:25:12 In the case of Htop, I don't think it to be super complicated. And I actually, I was complimented by the new maintainers. I said, okay, thanks for maintaining it. In one of our out-of-band emails after the 3.0 release, they said, okay, thanks for having it. It's been fun to work on the code base. I was like, okay, glad you like it and enjoy it. It's always nice. As I said, it's a matter of how needed the maintenance is to people and what are the
Starting point is 00:25:45 stakes, right? Right. Because at the same time, when I look at the new maintainers, some of their emails were at redhat.com, at debian.org. They were coming from established organizations, established names in the open source world. That feels reassuring and it feels like, okay, like these folks will have like, you know, will have the time and the resources to keep maintaining it. You know, so that feels good.
Starting point is 00:26:12 Like that, as I said, like, as you said, even for complex projects, that reminded me of the OpenSSL situation after Heartbleed, you know, and people were like, okay, everyone's using this. And, you know, large companies, you know, at one point, like they stepped in.'s using this. And large companies, at one point, they stepped in. Stepped up. Yeah. So I guess it's a matter of that.
Starting point is 00:26:33 Well, I guess a shout out is due to a few folks. Nathan Scott is one of the people who stepped up and kickstarted the fork. There's an account called Faster IT out of Germany, another GitHub account who seems like they were involved in the takeover. Anybody else? The cool thing is because HTOP is so prevalent and been around for so long is that it's in all the repos, right? Like you can apt-get it, you can yum install it.
Starting point is 00:27:01 And I did see people from Debian hopping into that thread saying, yeah, if you guys want to maintain this, because one of the problems is if you hadn't showed up, taking over maintenance would have been much more difficult, I imagine, because it's not just the source code, it's the distribution. And I'm sure that you have some sort of interaction with the distributors, is that right?
Starting point is 00:27:21 Yeah, that's right. And let's give a shout out to Nathan Scott and also to Graham Ings and Daniel Lang, or Daniel Lange. I don't know where in the world he's from. So whether I should like pronounce that in an English or German way. And yes, I did.
Starting point is 00:27:36 I got in touch with maintainers of a few distros to confirm, yes, like moving on for the next releases, you know, get the upstream from here, like htop.dev is the new upstream. And I made the point, that very morning I made a point of redirecting the website to the new one so that the URL pointed to, so that would be a clear indication. And also now under my personal GitHub account the the repo is now archived and the readme points to the new one because we didn't transfer over the repo because the new one had
Starting point is 00:28:17 already been kick-started and already had new issues, new PRs and we didn't want to override any of the new activity. And at the same time I think it's good to give the new maintainers a clean slate where they can... And as I said, same again. If any of the old PRs is super important, they will be ported over. So they got in touch and left comments in the old PRs and telling people to consider reopening there in the new repo
Starting point is 00:28:43 if you still want this merge and all of that. I understand that it's important that I got involved. And I think it does help a lot. And as I said, if something like this happened, which I never actually foreseen this would happen, but if something of this kind would have happened, eventually I would expect to get involved. And yeah. details about the Tidelift subscription. It is a managed open source subscription backed by Project Maintainers. And as you may know, this series, Maintainer Spotlight, is produced in partnership with Tidelift because we love what they're doing and we believe in them. So if you're
Starting point is 00:29:35 building applications with open source, Tidelift helps you to ensure that you have components that just work, including comprehensive security updates, active maintenance, and accurate licensing, which is so helpful. Tidelift helps you to speed up application development, save money, and reduce risk when building apps using open source. And best of all, with the Tidelift subscription, you help open source maintainers that we feature on this show to get paid for their work. Learn more and get a demo at Tidelift.com.
Starting point is 00:30:02 Again, Tidelift.com. Again, Tidelift.com. So you seem to have a pretty healthy relationship with your open source projects. The ability to step away, I think, is a skill or maybe a personality trait, which you have. I'm curious on the other end, when you hand off something which you've maintained for very long, which you created, right? Like this was your brainchild. This was your baby for all these years. And you've given it to a bunch of strangers. Does that concern you? Like what if they
Starting point is 00:30:45 destroy each top and it sucks after this or like is there any sort of those feelings of like maybe it's gonna not be maintained the way that i would want to or as well as i would do it any of that uh yeah that's an interesting question and probably something that you know a long time ago like a younger version of me might have worried about. But I think over time, you rethink things. Well, the older versions, they will always be there. If that's my open source legacy. With your name on the commit messages. Yeah, if people want to check out what was it like
Starting point is 00:31:18 when I was involved, it will always be there. Right, true. Yeah, but at the same time, I'm, like I'm happier to see it live on, right? In that sense, right? Because I think that's the ultimate success of an open source project, you know? Outlives its original maintainers and, you know, and carries on.
Starting point is 00:31:40 So in that sense, I think like the way I look at it nowadays, like I think that's like the ultimate success, at it nowadays, like, I think that's, like, the ultimate success, right, to be able to reach that point. And, like, I have other projects which I would love to retire from, but which I don't know if there are, if there would be new maintainers. Actually, I'm, like, I'm actively thinking about this now. Like, should I, you know, now that I've seen this happen once, should I be proactive on this?
Starting point is 00:32:06 It can happen. Yeah, it can happen. Should I be proactive and say, okay, we're looking for new maintainers? What do you got? What projects are you looking for new maintainers? We happen to have a podcast with software developers who listen to it.
Starting point is 00:32:20 Are you looking for maintainers? Put up a sign. As of now like lower rocks itself like it's a project that i'm i'm sort of overwhelmed by nowadays because i've been like lead maintaining it for a long long time that project started in 2006 i guess it's a long time is there a team around you for that one? Yeah, so around Lower Rocks, there are other maintainers, but it's very much on a whenever I'm available basis as well. They're not like regular maintainers.
Starting point is 00:32:53 And I keep Lower Rocks going as part of my work as well. So this is something that I am involved with because we use it at work. But I would love to see someone step up and take the lead in the project. So I could still be involved, you know, but not in a leading position. And I'm trying to figure out how to do it, you know,
Starting point is 00:33:14 because sometimes like in projects, you know, inertia is very strong. Like people will not, you know, people will not say like, hey, I would like to lead, you know, if there is someone else leading, you know, and all those kinds of things. And regarding my personal relationship with my projects, I've realized that, well, GoboLinux, which is this super experimental alternative Linux distro that I started back in college with my college friends,
Starting point is 00:33:43 which I use it to this day you know my my sister like if you look at my laptop it's this like super hacky running like all sorts of experimental stuff like including like the distro like this it's super hack including this distro that we maintain around on like with a very small group of people and that that that kind of project is one that we also maintain like in this like every couple of years you know we get together and we cook up a new version like it's it's not for general use like at all when we look at it like i had this bunch of projects which i started like in the early 2000s and which i have been maintaining for a long time and at one point in time i was like
Starting point is 00:34:21 yeah mostly of what i do now is maintenance. And I haven't started a new project in a long time. And I started to feel this itch of starting new projects and having more freedom to be creative again. And as life goes by, there's work and you have a lot less time to do that. And the few time that I had for open source projects I wanted to spend in more creative ways so so that that had to do with me like stepping away from from htop for so long because that's the time that I had to like to try new things and all that well if you want to find a new maintainer for lua rocks what you do is you create a folder in your email and you send all your lua rocks stuff to that then you ignore it for six months and then
Starting point is 00:35:06 boom, someone's going to pop up. There you go. That's the formula. We found it. As funny as that sounds, that comes to what I was saying earlier about the different nature of open source projects, right? Because Luarox has this live server, Luarox.org
Starting point is 00:35:23 with people uploading things, downloading things. It's a different beast. Exactly. I maintain the CLI tool. The server component has a different maintainer. Shout out to Leif, who maintains the lorox.org server. So that project has a community around it and it has that different you know maintenance style as a necessity right so for that one i could never do that you know and and nothing of that sort ever
Starting point is 00:35:52 happened with low rocks because you know things fall things go into my inbox and i do check it out and and have a different maintenance style for for that project you know depending on the nature of what you do like some different maintenance styles come with it. So for Lurox it was kind of different and I assume it will be somewhat more difficult. But then again, there's bus factor and all of that. If I disappeared for real tomorrow, I'm sure eventually things would be sorted out because Lurox is used quite a lot by the Lua community.
Starting point is 00:36:28 Right. So now I think it's now seeing what happened with H-Dop, I think like, OK, it's possible to do this. You know, I just have to figure out the way to, you know, to adapt to a new role. Yeah. You mentioned relief in particular, though, right? And your response, even at the start of the show, you mentioned that your response, you know, while you got this notification of 3.0 for HTOP, you know, via Twitter. So this not normal way to be told about changes to your project. You weren't pissed off. You weren't upset. You were not relieved. Happy.
Starting point is 00:37:03 Yeah. Yes. you were not relieved happy yeah yes well maybe juxtaposition is like with lua rocks if you got a twitter notification tomorrow there was a new lead maintainer of the cli tool for lua rocks would you be relieved or would you be upset no i would be happy for that as i said like i i would consider that to be a um to be a mark of success for the project. And in the end, we have to keep in mind, in open source, people throw around that word community a lot as this kind of random concept.
Starting point is 00:37:40 But in the end, it's really people. It's really about people. And recently in the Loo community, people it's really about people and you know recently in the lua community like i i had a like a someone who i consider a friend even though i never met him personally uh who passed away like suddenly and you know and and we had to some of my projects i had handed over to him like in the past like had made the coverage analysis tool for Lua, like LuaCov. And he had been maintaining it for a few years after I had started the project and maintained it myself
Starting point is 00:38:14 for a few years. And so, whoa, there was this whole commotion in the community with his passing. And we had to scramble, OK, what happens with his projects now? I sort of inherited back the ones that I had passed to him and took it on myself as a personal matter to figure out what to do with those projects moving on. And then some of the other projects the community got
Starting point is 00:38:39 together to get necessary patches merged and new releases out and all of that, right? And it's a pretty strong wake-up call, you know, like that's like to you about like, you know, like what does really matter here, right? It's really a community of people, right? Who care about each other and who care about like, who got to know each other through the work that they do, right?
Starting point is 00:39:02 But in the end, right, when you build a community of people, you have to keep that in mind. So to me, because of the pandemic, Lua Workshop was supposed to be held in Germany this year, it was canceled. And I remember a couple of years ago, Lua Workshop was in Lithuania and a bunch of us flew over to Lithuania from Brazil, from France us flew over to Lithuania, like from Brazil, from France, from the U S from the Netherlands, you know, from all over. And like, at one point I said like, yeah, like I come to this workshop, you know, because of you folks, you know, like to meet
Starting point is 00:39:36 the people who like, who have become my friends over this year, over the years, you know, like not so much about like Lua itself or, you know, the, the the talks. We go there and we give talks to each other. We present the talks and there's always new people who are getting into the community and getting to know folks. So yeah, this is super important. And in the end, it's a huge part of why I do open source nowadays, why I keep doing it. You seem to have a deep connection to other people. And going back to the relief, the relief was from what, though?
Starting point is 00:40:15 Yeah, because you kind of have that sense of lingering guilt when you're not responsive. Right? Right. not responsive. If you take the time to you would have to balance okay, now I'm taking this break for myself, but okay, but what if I was on the other side and I had this bug that
Starting point is 00:40:37 was hitting me every day. At one point I get so annoyed that I decide to hack on it and fix it. Then I fix it, then I open a PR and I send it over and say, okay, please get into the next version. And I go months without an answer.
Starting point is 00:40:57 I've been on that side of a relationship before with a project, a couple of times. Not where it's so, I can live off of my own fork or i can just you know depend on that and i'm okay like it's not like a huge my life is ruined or my business is ruined scenario but like you said you take the time you're usually somewhat angry because it's not working the way you need it to and you have there's ramp up time right like figure out how do i contribute to this thing? Where, you know, where do I even put this in?
Starting point is 00:41:28 Am I going to break it? There's all the questions like, how do I talk nicely? And you do all the work and it can take hours and submit a patch. And then it just never goes anywhere. You know, I've been on that side and maybe you have as well as a member of the open source world, you kind of go on both sides. Sometimes you're the maintainer, sometimes you're the, the submitter. And I wouldn't say like hurts, but it definitely weighs, you know, it sucks when that happens. And so I could see from your perspective, the guilt of saying like, knowing like, well, I got all these PRs out there, I got these open
Starting point is 00:41:57 issues and I can't look at them because I'm living my life and all the reasons that we've stated, but they're still there. And those are real people on the other end of those PRs. Yeah, it comes from acknowledging that it's real people, like, as you said, like on both sides. And then yeah, and on one hand, like you, like your, your, your rational self thinks that, yeah, I've never gave, you know, an SLA for my open source users. Which is 100% true. Which is 100% true. And then on the other hand, you go like, yeah,
Starting point is 00:42:30 but that's not how I would like to be treated myself. Yeah, exactly. But it doesn't scale. You're only one person. And if I was to give the kind of prompt, in-depth, thoughtful response for every communication that comes my way you know on all of the projects that i'm involved with you know like in the ideal at the ideal level maybe that would take like my entire weekend or you know that i would or that wouldn't even be like enough
Starting point is 00:42:57 hours in a day or something like that right if if you're running like a one-man show project like that or something so you you have to weigh those things. So yeah, some things are just not scalable in that sense. But you feel guilty for not responding or not showing up. But then you're sort of trapped, so to speak. Because there is no playbook that I'm aware of, at least. And if there is one, let's put it in the show notes or highlight it more. Of how to be a one-person-ish maintainerer maybe take contributions as you mentioned have you been doing before like
Starting point is 00:43:29 the code writing writing itself so to speak as you'd mentioned but how do you care about something like this be the creator and maintainer of it for so long but then be able to hand it off in a way that lets it have life doesn't ruin it as jared mentioned before. And there's just no, it's kind of icky, right? Like there is no easy button for it. So you just never do it, right? You just sort of procrastinate. You kick the can down the road a little bit further because there's no. Yeah, because you don't know how.
Starting point is 00:43:54 Yeah, it's not easy to do. There's no right or wrong way. There's no playbook for saying, hey, this is how you begin to hand off a project. No, yeah, 100% agree. And even if you're not wanting to hand it off or you just want it to keep going, but add in a maintenance style that makes it sustainable. One thing to keep in mind is that there are a lot more open source projects
Starting point is 00:44:20 which are one-person shows like this. Because when we think of open source, you can like one person shows like this and like then because when we think of open source you can think of like the huge projects i don't know like gcc the linux kernel and all of that and when people go like how do i contribute to open source yeah you start you know with a tiny patch to you know to some project you know and people usually point folks to like huge projects and all that but you know if you look at you know like i don't know like the github archive you know and things like that like there are so many so But, you know, if you look at, you know, like, I don't know, like the GitHub archive, you know, and things like that, like there are so many, so many projects,
Starting point is 00:44:48 you know, like which are, you know, most of the repos are like one person only. And even some of like many of the ones that are used a lot, like I see a lot of that in the Lua community because of the Lua Rocks repo, right? It's a lot of modules. Or if you look at like something like,
Starting point is 00:45:04 you know, a lot of times, many times look at like something like, you know, a lot of times, many times bigger, like NPM, you know, like how many of those packages are maintained by a single person. And yeah, and there is no playbook on how to deal with that. And I think what we're doing here in this, you know, in this conversation helps, right? Because even, you know, like, because I think what part of it is for people on both sides of the table to understand the social contract that's established between maintainers and users
Starting point is 00:45:31 and especially for things like developer tools and things like that, we have this additional angle in which the user is also a maintainer of something else. But in many cases, for many types of software, that's not the case. And so, yeah, I think step one is an understanding of what goes on on both sides.
Starting point is 00:45:58 And in sharing experiences, you know, like, okay, this is what happened for this project. These were the circumstances. These are the things that went well. These were the things that went not so well, right? Like, I do not consider like this to be like a, you know, like a fully like smooth transition, right? As you said, like there was this whole like thread that went on from March until now, right? Which, you know, that could have been like easily avoided, you know, like, and I totally take the responsibility for that. We're happy that the outcome was positive.
Starting point is 00:46:33 But yeah, it's important to share those experiences within the open source community at large. That's why I'm happy to be here talking to you guys about this because we need to learn how things happen and slowly try to improve them. Well, that's the reason for this series, this Maintainer Spotlight series, is that we can share the stories of maintainers,
Starting point is 00:46:57 the wins, the losses, the accidental successes, and all the things because there's so much that goes into it. And because open source is such a broad thing, dental successes and all the things because there's so much that goes into it and because open source is such a broad thing you know we're starting to have some formalization via nadia eggball to work with working in public about how to like even talk about the different types of projects right because it's so diverse that you can't just say well this is how you hand off a project because there is no this is how you hand off a project right yeah it's so diverse that you can't just say well this is how you hand off a project because there is no this is how you hand off a project right yeah it's different every time yeah and sometimes it goes
Starting point is 00:47:30 great and sometimes it goes terrible you know so yeah i think sharing creating community around maintainers providing more conversations that say oh i listened to that uh what hisham did that actually helped me out in my project because X, Y, or Z. So hopefully we have some of that effect, but you'd think over time we could maybe aggregate some sort of a knowledge base, like a starting point, like, hey, I'm burnt out.
Starting point is 00:47:56 I need to hand this off. Where do I start? Maybe we can start to create those kind of resources, but it's difficult and lacking at the moment. Yeah, fully agree. And it sounds like, yeah, it sounds like a great idea. Like, I think one good first step is recognizing like the different types of projects, the different types of communities, different types of, you know, maintenance styles.
Starting point is 00:48:15 Like, as I said, you know, I've been like engaging in like multiple different maintenance styles at the same time, right? You know, like for H-Stop, I was taking this hobbyist, once-in-a-while approach. For Lurox, Lurox is also this old project which is also in maintenance mode. We're not making any earth-shattering changes on it at this time, but it's important enough for a community
Starting point is 00:48:43 that we want to keep it working. And if anything breaks, it gets immediately noticed. And the whole server-side aspect has this very much online effect. It has to be up. So that requires a different maintenance style. At the same time, I do open source at work. So when you have an open source project that's backed by a company you know that has a completely different maintenance style right so
Starting point is 00:49:10 um and sometimes you have projects that it's like you know you do it once and you know and throw it away and then say like okay like you know i don't expect to give like any kind of maintenance to it but i'm gonna just put it out there there in case it's useful for someone. In which case, you might even mark it on the readme. Say, yeah, it's just here, but don't use it in production or whatever. I've seen lots of projects like that. All of these types exist. Maybe we should start talking more about this, giving those styles, I don't know, names,
Starting point is 00:49:44 so that this is a project of type X that this is a project of type X, this is a project of type Y, and then people would immediately understand and not have a stigma of the kind of interactions that they will or will not get from it. I'm all for having those types of conversations. Nadia Ekbal has come up with a taxonomy that has four types of projects
Starting point is 00:50:05 and it's based on the relationship with user growth to contributor growth and so your project age top would be what she calls a stadium because you have one or very few maintainers and the user growth grows dramatically but the contributor growth stays relatively small then there's a project like lua rocks which i'm not sure if that would be a club or what was the other two types i don't know i'm going right off the top of my head yeah um there's clubs there's stadiums foundations play into it what's that one called anyways i need to go read the book again do my studying but that particular taxonomy i'm sure our listeners listeners are yelling into their AirPods, like, yeah, I get it right. It's derivative, right? It's based on observing a project and saying, based on the project's
Starting point is 00:50:56 relationship with its users and its contributors, it's X, Y, or Z. But what I think would be also useful, and I mentioned this to her she seemed to have some excitement around it is what if you could explicitly state what you want your project to be like not this is what it is because this is how it worked out but like give my give this project a name this is a a tool for me or you know this is a a club like come join my club or this is uh you know you we have to come up with the names, but you could actually like, people are using their readme to set some expectations, right? Like pull requests, welcome, or hey, you can look at my code, but it's not really participatory.
Starting point is 00:51:35 Like people say those kinds of things. But I agree with you that if we started getting, giving names to these styles of projects, not what they end up being, but what they want to be up front, that could be like your step, add that to the list of things I do when I open source something, is I give it a name of what style it is, because then you come to their source code and you know immediately what to expect
Starting point is 00:51:59 from that particular project. Let me close the loop here, because I happen to have a PDF of her book right here. So I just went ahead and researched it. So to quote the book, it says, focusing on the relationship between contributors and users, we can think of projects
Starting point is 00:52:12 in terms of their contributor growth and user growth. And this gives us four production models, federations, clubs, toys, and stadiums. Toys. Yeah. That's all I can remember. Yeah, so the federation is yeah it's pretty close yeah you're pretty close so it's a start yeah i think it's important too because
Starting point is 00:52:29 naming things something we say on brain science and a lot of this is why i find this interesting is there are a lot of psychological tie-overs to what we talk about on brain science where we really focus on like what we know about the brain to kind of transform our lives whether it's habits or working in teams or dealing with burnout or stepping away to get unstuck, all these fun things or the power of our choices in our lives. We got to think about naming things to tame things, and that's what happens here because Nadia is able to give a text on me. And an example, naming them helps us all as a collection, a community, to tame the idea of what does it mean to be a federation or a club or a toy or a stadium as an example of open source. And so names really give us all something to anchor to. And that's kind of a great thing.
Starting point is 00:53:18 But it takes somebody to take that first step. And in this case, it was Nadia to give us those models and those names to anchor to. I fully agree with that and I think it makes a lot of sense. Usually what happens is that people realize after the fact what the project end up turning into. Because often when you start, whenever they always start they're always a one-person show anyway. And sometimes going like, okay, I'm starting this
Starting point is 00:53:49 and I want this to be a federation can sound like a super lofty goal and you don't know if anyone's going to pay attention to a project or care about it or if you're going to be able to build a community. So people might be reluctant on that. There are times like when Kubernetes came out of Google, for example. Yeah, but then it's coming from Google. I know, but again, that would be an opportunity for them to state what this project is, right?
Starting point is 00:54:15 Like current status, essentially. We aspire to be a stadium, or we aspire to be a federation, but right now we're a toy. Currently a toy, but it might become a... Yeah, you make a good point. Not all projects start from a single person. They might start from a company and they might start with a huge backing from day one.
Starting point is 00:54:35 So it's part of that. It ties into not only on the relationship between users and maintainers but also funding, things like that. Like, Lorocts has had like this varied history over time. Like, the project was actually started back when I was doing my master's. And we had this, you know, industry academy, like joint research project for the development of Lua because I was doing my master's over at the University PUC in Rio, which was where
Starting point is 00:55:04 the Lua language was created. And so for that, I had funding to kickstart the project. So I was not doing it as a hobby, as a part-time thing. So that was my day job for two years as I was doing that. After the research project was gone, there was no more funding, for a few years I kept maintaining it on a volunteer, kind of hobbyist basis, but just because of my attachment to the project and all that, and we were talking about that sense of responsibility, like okay now this is out in the open, people are relying on it, and every now
Starting point is 00:55:44 and then I would actually do a consulting gig that was coming from corporate users of it. And now I'm working at a company which uses it. So I'm, again, effectively being paid to maintain it. And so my relationship, the funding story for it has changed over time. My relationship with the project has changed over time. These things are very dynamic, which can be a complicating factor. But yes, having names for things.
Starting point is 00:56:14 I remember in the early days of open source, when people were talking about the cathedral and the bazaar, to compare different development styles. And they would call it, oh, open source is like this. And proprietary software is like this, you know, like the cathedral. And even that is not precise because, for example, the Lua language itself, my advisor who was like my master's and PhD advisor, who was the creator of the language, Roberto Yeruzalimski,
Starting point is 00:56:40 like they have at Pucreio a team of like three professors who single-handedly develop and maintain the Lua language, like the reference implementation of it, like the language and its implementation. And it's open source, it's MIT licensed, and they've been doing this since the mid-90s. They do it to this day. They take no contributions or patches. All of the code is written by those three people. They have a mailing list. They take feedback. They help run the Lua workshops. They're super friendly to the community and all of that.
Starting point is 00:57:14 But they say, no, no thanks, because we're academics. The result of our work goes in papers. And they're subject to that whole academic lifestyle don't know, like academic lifestyle, which is like very different from open source community. But and then they go like, OK, like, you know, I don't know if it's because, you know, they want to state in the papers that like this is our original work, you know, because of like academic restrictions or whatnot. Or if it's just the style that they personally prefer. Right. Because they time and again, they say like, we'll take ideas like suggestions and then we'll implement it ourselves but thanks, we don't want any contributions so it's 100% a cathedral
Starting point is 00:57:51 but it has been open source from day one so it's whatever works for the maintainers What that makes me think of though is this clear communication and the need for a good feedback loop. So as a maintainer, as a contributor, as a user, that feedback loop and the clarity required. So those three, this example you give for – as an example, their community is probably more cool with, hey, they don't take contributions because they've been pretty clear with the expectation as a user or as a would-be or a desire-to-be contributor. So not so much to call you out, but more like if that feedback loop was there for your users to say, hey, I take frequent sabbaticals.
Starting point is 00:58:36 Don't be offended. The SLA wasn't there, of course, but more so less of pointing that out, but more so to say like what my takeaway is a couple of things. It's clear communication and that feedback loop that we all desire because it helps us, I guess, to reduce our anxiety or our concerns or whatever. And then the other side is like the kindness that's required because, as you had mentioned, it's software, sure, but it's really a community of people. And what I see that played out with this HTOP 3.0 and all that played out was those folks were very kind to you. They didn't think that Hisham was ignoring them and he's a bad person. In many ways, they were regarded and concerned. I hope it seems like he's okay because of these reasons, as Jared had said earlier.
Starting point is 00:59:22 And I think that's what we all need to lead with is this nature of kindness rather than what could have played out, which is this person's terrible because they just had this repo or this project that's very useful. They're not responsive and they could have said a bunch of nasty things about you, but they led with kindness.
Starting point is 00:59:37 And I think that's my takeaway is the need for clear communication and lead with kindness. Yeah, for sure. This was a super positive experience in which I feel like I've come out a better person out of it communication and lead with kindness yeah for sure you know like that's like this was like a super positive experience in which like i feel like i've come out a better person out of it like from what i've learned like as you said like in terms of communication and all that yeah and also to participate in this episode in which like the kindness really went both ways in the sense as i
Starting point is 00:59:59 said like you know they didn't think i was a terrible person and at the same time you know i didn't think they like oh my god they stole my project or anything like that. So in that sense, the kindness really went both ways. And I think it becomes a multiplier. I've never had so many heart emojis in a GitHub comment on my life. And I probably don't expect to have it again. Well, on that that front let's give
Starting point is 01:00:25 a shout out to a fontanette the person who opened this particular issue back in March is this project maintained because a lot of times that very first nudge that first comment that first issue sets a tone right and they start off by saying I want to emphasize right at the outset that I don't believe project maintainers have any kind of obligation at the outset that I don't believe project maintainers have any kind of obligation to the community to continue working on a project. I'm very grateful for HTOP and all the work that has been put into this thus far.
Starting point is 01:00:55 And then they go on to say, is this project maintained? But that's a great way to set a precedent of kindness and respect and empathy before you go ahead and say, is anybody maintaining this? Instead of just saying, WTF, why aren't you maintaining this? set a precedent of kindness and respect and empathy before you go ahead and say, is anybody maintaining this? Instead of just saying like, WTF, why aren't you maintaining this?
Starting point is 01:01:11 You know, they really did set a tone. And that tone remained the entire, I mean, I read most of the thread. Almost everybody was positive and they were adding to the conversation. Like I said, it became this archaeology, where's Hisham, you know? And then once you hopped in, it was kind of a love fest so really uh we see a lot of drama in github issues this is like the opposite case this was pretty cool yeah yeah i felt like it and yeah it's a great point that you made like how it is like setting the tone was something that kind of like guided the conversation and also like that and that first
Starting point is 01:01:41 person said that you know like oh i i don't recall the exact words i don't have it open like in front of me but it says like i'm not volunteering to become the maintainer or something like that right because yeah because something you mentioned earlier right that you know not everybody you know has like skills time inclination whatever totally right but that was a huge contribution to the project you know that one message right some some right sometimes you know sometimes it's all you need to do and this is what i see a lot That was a huge contribution to the project. That one message. Sometimes it's all you need to do. This is what I see a lot.
Starting point is 01:02:09 As I said, sometimes there's a lot of drama in GitHub or on the internet at large, but generally my relationship with open source, with free software, those communities, has been positive in that sense. I feel this thread is actually representative of my life with free and open source software, really. If I fly out for a conference, I don't know whether it was like Fizzle International Free Software Forum that happened. Here in my neighborhood, like in Porto Alegre, southern Brazil,
Starting point is 01:02:42 every year where people from all over Latin America would fly here. Or in Brussels at FOSDEM, where the European free software folks get together. It's always generally positive like that. We see a lot of, sometimes the drama gets over-amplified on the internet. But when it comes to people meeting face-to-face, and I know that meeting face-to-face is not something available to everybody, right? So we have to be mindful of that.
Starting point is 01:03:07 We have to, you know, whenever we get the chance to meet people face-to-face or even, you know, even like over, you know, a video call as I'm talking to you folks. So that's like a way of having like a more personal connection. We have to carry that, you know, to our like online our online written communications and interactions. I feel that I kind of have sort of a pet peeve with the whole code review culture and what it is. Because I noticed even the style of writing that people use when they're doing code reviews is kind of different when they're sending a message on Slack or something. And when I noticed that i decided to become like more like consciously informal you know and and you go like like hey looks like something like this is missing blah blah emoji whatever like but not in a forced way but like
Starting point is 01:03:56 okay i'm gonna i'm gonna talk to this person the way i would talk to them in person rather than you know this seems inappropriate you know know, at line 375. Right. Like, if you're like the schoolmaster, you know, like grading someone's PR, like, you know, this is acceptable. No, this is unacceptable, right? So it's kind of like I think it boils down to this as well, you know, how we communicate, you know, how we interact with people.
Starting point is 01:04:18 It makes a difference, right? So as you said, like the way the conversation starts is the way the conversation flows right and to that yeah for sure you know that that was super important and i'm so grateful that that's that's the case here you know i think i mentioned it before my takeaway is like you know leave a kindness in these scenarios and because of that you know we can point back to this you know not as a hostile takeover but as a kind takeover, you know, of this project. And we can all look back at this as an open source community and say, this was an example
Starting point is 01:04:50 of things working out well and people being treated with respect and with empathy and having compassion. And rather than the drama that can sometimes ensue, because I think we forget that we are literally talking to other humans. It seems so logical, I suppose illogical potentially to think like that, but other humans be authentic, talk to people with kindness and act as if they're there on the other line, reading your words rather than just simply, I don't know, like a machine. I don't know. It's easier said than done sometimes, but that's my hope, this conversation
Starting point is 01:05:26 and this example gives me hope that we have this opportunity in open source but Hesham, thanks so much for one, coming on the show and being open and honest and sharing your side of the story and all that it is and even what this project meant to you
Starting point is 01:05:42 Lil Rocks as well and your contribution to open source and being a person that can point back to doing things in a kind way and caring about actual people and showing up and whatnot. But thank you so much, Sean, for this time you've shared with us. We appreciate it. Thank you, folks, for this space
Starting point is 01:06:02 where we can talk about this. I know this has a huge audience and I know this has like a huge audience and, and, you know, I hope this, this conversation, you know, becomes like, you know, useful for, uh, for more people who are like perhaps in similar situations or really that we can, you know, spread this kindness, I guess, like, you know, and make sure that this is the norm, you know, and free and open source software and software in general, life in general, you know, like it goes beyond software right yep that's right thanks a lot yeah thank you fantastic work hanging in for the whole show that means you are a super fan that means you're a prime candidate for being a changelog plus plus member and if you haven't heard about this yet this is
Starting point is 01:06:43 the membership we launched so that our awesome audience can directly support us, get closer to the metal and make the assets appear on our podcasts. Check it out at changelog.com slash plus plus. And if that isn't cool enough, the irony of this episode being 413 and the error code 413 standing for payload too large. I don't know. That's super cool. Once again, huge thanks to Tyler for being an awesome partner in this podcast series. Also huge thanks to Fastly, Linode, and Rollbar for having our back. And of course, Brake Master Cylinder 2 for making all those awesome beats for us. That's it for this week.
Starting point is 01:07:17 We'll see you next week. Thank you. Bye.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.