Dosu: An AI Tool for Maintaining Code

author-image

By

Dosu is a platform that aims to improve the lives of open source maintainers by addressing challenges and time-consuming tasks. By providing automated responses and assistance to users and features like auto-labeling and backlog management, Dosu makes open source maintenance easier and more efficient. The Cloud Native Computing Foundation (CNCF) has adopted Dosu for auto-labeling pull requests and issues.  

“I think there's a ton of potential for automation to improve the lives of open source maintainers, make it much easier to be a maintainer, and to also focus on the things that you'd like to do.”--Devin Stein 

Katherine Druckman: I spoke with Devin Stein, founder of Dosu, an AI tool that helps with software repository maintenance. We talked about what led Devin to create Dosu, how it works, and how it might help open source maintainers avoid burnout. Check it out. 

Hey, Devin Stein from Dosu. Thank you for joining me to talk about Dosu and talk about all things open source. Goodness, thank you for being here. 
 

Devin Stein: Yeah, thanks for having me. Very happy to be here. 
 

Katherine Druckman: Awesome. Yeah, I'm really excited. Let's talk a little bit about how we were introduced. We were introduced by a mutual connection as a result of a conversation that I've been having about maintainer burnout and the burden on open source maintainers to just keep their projects going, keep their projects secure, all that comes with it. I wondered if you could introduce yourself and tell me how your work ties into that conversation. 
 

Devin Stein: Yeah, absolutely. I'm currently running a company called Dosu, but in terms of background, really quickly, I've been an engineer across the stack. I've worked on everything from front-end, back-end, infrastructure and data engineering, and I've always been a user of open source. I think pretty much every engineer is, but I became a more active participant in open source about five years ago when I joined a startup called Viaduct. 

We were building out our data platform on top of open source projects like Argo, SparkMagic, and Papermill. In order to implement the changes we needed, we actually had to fork the project and make some changes. And then, I ended up contributing back to those projects, and ended up contributing to a series of releases. The maintainer of SparkMagic asked me if I wanted to become a maintainer of the project, and I said yes. So I've been maintaining SparkMagic ever since. 

And then from there, I got involved with other open source projects like SOPS, and also created some of my own custom SOPS, which helped plug into Argo CD. All that led me to starting Dosu to help solve some of the challenges that I faced as a maintainer, approaching maintainer burnout from, I think, a different angle than what’s often discussed, really trying to focus on automation, and what can we help take off maintainers' plates in terms of support, and the things that are the most time-consuming around open source maintenance? 

The Challenges Faced by Open Source Maintainers 

Katherine Druckman: What were the pain points? Was there any one major thing that was the tipping point for you or the spark that led you to create Dosu? Or was it just a combination of a bunch of types of things? What was that? 
 

Devin Stein: I think it's a combination. I think my arc with open source was very similar to a lot of maintainers, where when I started, it was amazing. It was really fun supporting people, especially working on a project that's used by thousands of people and companies like Pinterest and AWS. That part was really exciting. 

Over time, as I continued to maintain the project, my career evolved, and I was no longer using the library day-to-day in my work, which made it harder to keep up with, in terms of context switching back into maintaining the project. So triaging issues became harder and harder, and also, as time went on, the project only grew in popularity, and so the maintenance burdens just generally increased.  

And then, there's one moment that sticks out in my mind in particular. It was a Tuesday. I got one of my many GitHub notifications about someone adding me on an issue because they're blocked on me. I was blocking them from doing their job at their company because they were using one of the libraries I maintained. It's a challenging thing, where it's like, "I want to help you, but I'm also really, really busy, and I spend my Saturday and Sunday mornings doing this." It was those moments, I think, that stick out in my head in particular, where people are blocked. They're frustrated. And I understand that, but I'm only able to dedicate so much of my time to the projects I maintain. 
 

Katherine Druckman: I think it's a common thing. I was a maintainer, briefly, of an open source project, and I identify strongly with that sense of, it can be a bit overwhelming, just the sense of responsibility. The fact that you are there, and whoever's using your software, you're responsible for their security, to a degree. You're responsible for usability, and there are all these things that you have to hit. I think most open source maintainers take their role very seriously, and it can weigh heavily, I guess, is how I would put it. 

Tell us a little bit more about what Dosu is and what it does for maintainers. 

The Impetus for Starting Dosu 

Devin Stein: Yeah. In this recent wave of AI and LLMs, there's been a lot of excitement about LLMs’ ability to generate code. When I thought about where I spent my time as an open source maintainer, it wasn't necessarily writing code that was really time-consuming. It was more reasoning over code and that people wanted access to my knowledge, really. 

I had a lot of context. I knew about the known issues in the project, I knew what had gone into recent releases, what changed between releases. I was familiar with the code base. Most libraries are not that well documented, but I could navigate the code effectively to find the answer. 

So I felt like we had the building blocks to create something that has better memory or recall than a maintainer, with the same access to the same information in terms of recent changes, conversations going on in Slack, known issues and their workarounds, and that can actually also reason over a code like  a maintainer, to help people understand if their use case is supported. 

That was the impetus for starting Dosu: Can we create something like this to support engineers at companies, but also within open source? I launched Dosu as a GitHub app you install to help you maintain open source projects almost exactly a year today, actually, and it does just that. It helps with auto labeling, helping you stay organized as a maintainer, backlog grooming, trying to identify duplicate or stale issues, trying to improve on the controversial stale bot. It can also help with auto-reply and auto-triaging issues, so with trying to help resolve issues. Going back to that moment where I was busy at work but someone was blocked, Dosu is now a tool for that person to try and unblock themselves and workshop their issue while I'm doing something else. And then, if they're able to resolve it with Dosu, that's fantastic. If not, when I come to that issue, oftentimes, the first pass has been done around possible workarounds or fleshing out the issue more. 

How Dosu Works 

Katherine Druckman: You sent me some great links, and I've seen Dosu in action. I've seen the type of responses it can do in an issue queue, and it is almost like having an extra maintainer buddy to weigh in, and it's pretty cool. We're an audio medium here. We can't do a visual demo, or at least not right now, maybe we'll be able to link to something, but I wonder if you could talk us through in more detail about really what it is that you're seeing there. If I'm a newcomer to the project, and I open a pull request, what is my experience? What am I going to see from the Dosu bot? 
 

Devin Stein: Yeah. If you go to a new project, if you're running into an issue, or you're trying to understand if your use case is supported, you'll go to GitHub issues or discussions. You'll create an issue. You'll see Dosu labeling it with appropriate labels based on the content of your issue. And then it will greet you. Especially if you haven't interacted with it before, it'll explain why it's there. It'll tell you that it's a tool for you to try and unblock yourself while you wait for a human maintainer to come look at the issue. 

And then, it'll search through all of the GitHub context or other data sources it has access to. It'll look through previous issues and see if there are related issues or if this is a known issue. It'll look through PRs and recent changes to identify if maybe this is due to a recent change, or if this is fixed in a newer version. And then, it'll also look through the code base and documentation to see if the answer lives there or can be answered by a code itself. 

So it’s very much doing the work that a maintainer would do for you as a first pass, and then it'll surface a response. You have the option of keeping the conversation going, trying to see if it was answered partially. If you want to ask follow-up questions, you can ask those, or you can also just wait for a maintainer to join the conversation. 

How Dosu Differs from Autoresponders to GitHub Issues 

Katherine Druckman: There are issue templates and other tools to create autoresponders to GitHub issues. Dependabot is, in a way, similar. How does this differ? 
 

Devin Stein: Yeah, it's a really good question. I think with Dosu, we're leaning on the recent advances in LLMs, which basically helps deal with ambiguity. With issue templates, you can have someone require certain fields, but you can't guarantee someone will fill them out. Sometimes, if they fill it out, maybe there are follow-up questions, and Dosu can help enforce those things in a more organic way, like you would suggest, "Hey, can you also ask this?" Dosu is more dynamic, similar to a maintainer in a way that previous tools have been very cold and automated. We're trying to make things a bit more like maintainers. 

I think a stale bot is a really good example of that. Where stale bot is a very popular bot for cleaning up, trying to identify if issues in the backlog are still relevant, Dosu can more intelligently look at your backlog and say, "Is this issue actually stale?" If so, it can check with that user in a way that feels more like a person than an automated bot, such as "I'm going to close this." Then, if the user responds that it is still relevant, Dosu can loop in the relevant maintainer, give them context, or even just continue to workshop the issue with the user. 

One way we like to look at it is that we borrowed a lot from what we think is the best automation within open source and then re-evaluated it with the recent advances in technology. 

A Partnership with the CNCF 

Katherine Druckman: Yeah. Very cool. I wanted to mention somebody who people listening may or may not know, but he's been on the podcast before, Jorge Castro with the CNCF. He actually tweeted recently that you donate your service to the CNCF, and they're using it to auto-label pull requests and issues. Tell me about how that happened and how they're using it. Are they using all of your features? Can I go to any CNCF project and see this in action? 
 

Devin Stein: Yeah. It's really exciting. It's just been formalized, our work in partnership with CNCF. So it's only on a few projects right now, and hopefully, by the time this comes out and in the future, it'll be on many, many more CNCF projects. We're giving the CNCF a premium tier, a free pro tier essentially, for all CNCF projects to help with auto-labeling issues and PR discussions. They can opt into additional functionality around backlog management, issue deduplication, and actual auto responses. 

Something that is really important to us is giving maintainers control to build the community trust that will enable people to adopt Dosu very incrementally to meet the needs of their community. And I think, tying back to what we were just talking about, something that Jorge was saying is that with Dosu, one of the things we implement is actually borrowed from Proudbot, within the Kubernetes ecosystem. And the only thing we're really doing differently is we're just making it really easy to adopt. And I think a lot of the things that we hope Dosu can bring will make it really easy to adopt best practices and open source maintenance around backlog management and issue triage. 
 

Katherine Druckman: I love the sound of making it easier to adopt best practices. That is music because with a lot of the things we do, developers, for the most part, I think, want to adopt best practices. We want to do everything right. We want to be secure. We want to do the best work that we can, but there's always something. You'll find roadblocks or something that kind of makes it a little bit more difficult, and maybe it becomes more tempting to, or even accidentally, cut a corner. But making things so easy is hugely, hugely valuable. 
 

Devin Stein: Yeah, I agree. We've learned a lot in terms of open source maintenance over the past 10, 20 years, and I feel like if you look across all open source communities, there are a lot of common patterns that are re-implemented. And we want Dosu to make it easy for new open source projects or existing ones to just get going with best practices out of the box. 
 

Katherine Druckman: I know this thing with the CNCF is new, but I'm very curious to see how it evolves. And I'm sure they'll discover things that you hadn't thought of, and there will be some fun to be had there. I'd love to maybe have you and Jorge come back on, and we can talk about it after they've been using it for a little while. I think that would be a really fun follow-up. 

That kind of brings me to a question I love to ask project maintainers or product creators: Is there anybody using this in a way that you didn't necessarily expect? 

Unexpected Usages—Teaching Dosu 

Devin Stein: That's a really good question. I would say the unexpected thing that we're trying to lean into is that people have been really excited to teach Dosu in a way that we really didn't expect to happen, but I think, actually, can create a really delightful user experience. You install Dosu; it's not perfect. Maybe it's mislabeling something or it's looking at the wrong part of the code base for an answer. We've seen users correct Dosu either by changing the labels or actually commenting on an issue. "No, you should have looked here." 

And what we're working on is how to bring that back in so Dosu doesn't make the same mistake twice because it ends up creating a really nice experience for a maintainer. You're able to invest in Dosu, and it gets better and learns about your project and helps Dosu get better as well. That's been an unexpected usage pattern that we've seen. 

I think generally auto-labeling, too, we've been really surprised by how popular that is. There's a psychological element to having a well-organized backlog and open PRs that makes everything more searchable, discoverable, that we've found people really, really, really like once they get going with it. 
 

Katherine Druckman: That's very cool. I am excited to see all of this evolve. I'd love to talk to you again in the future and see how things are going, what you've learned, what other people have learned, and how projects have benefited. I think there's a lot of potential here. 

I am also curious about what makes you tick as a human, right? Open source is an interesting world, and it requires a unique type of person, I think. And I wonder what attracts you to the open source community? What really drew you to dive into the work that you've done in the community to solve this problem? 

Devin’s Journey to Open Source

Devin Stein: Yeah, I think it's kind of innate to who I am. Even from a young age, I've always played IT person in my household, helping unblock and debug things, and it's a role that I like to play. And so, I think that's what drew me initially to open source. "Hey, I ran into this problem, and other people also have it. Let me try to solve it for them." Or if I see people who are running into it on an open issue, commenting to try to unblock them. And so, I think playing this support role is something that drew me to open source originally and is, I think, just a really rewarding thing. 

I've been really fortunate, both in terms of my career, with engineers who have been great mentors to me, and then even within open source, I think part of the reason I got involved with open source is because I had really amazing interactions with the maintainers of SparkMagic and Argo and Papermill when I was first getting started. And so there's a sense of paying that forward that gets me really excited to encourage other people to get involved in open source. 

I think Dosu is very much a reflection of that. It's trying to make it easier for people to both maintain open source projects, but also to contribute to them so we can have more healthy open source communities. I think something that's also unique about Dosu is that we're really trying to position it as a tool. We're intentionally not trying to auto-generate PRs, for example, in open source because we want a user to be able to make that PR. Even if Dosu is able to diagnose the issue, can we encourage that person to make the PR to fix it? Because then the net outcome is that person feels more attached and more involved in that community, and they're probably more likely to contribute to that project and other ones in the future as well. 
 

Katherine Druckman: What's your favorite piece of feedback you've gotten so far? What were you the most excited to receive as a creator? 
 

Devin Stein: I mean, I think it's been really cool just still working within open source. There are a lot of people I really respect, and to see them using Dosu and being really excited about it, in and of itself, has been really rewarding. I think we've had a lot of recent success on Apache Superset. Dosu has been very active, and we've helped their team scale the number of issues they're able to resolve on a weekly/monthly basis pretty significantly and reduced the time to resolution by 4x. I think that feedback and working with these maintainers, who I've respected for a very long time, has been really rewarding. 

And then also, on a daily/weekly cadence, there are thousands of people interacting with Dosu at this point, so we constantly see pretty amazing user reactions from communities where there's still this moment of delight and unexpectedness when Dosu jumps into the conversation and is able to resolve your issue immediately. That's a pretty magical experience. If you look back two years ago, what would've happened? You create that issue, and you wait for a maintainer to have time. And that might be hours, days, weeks, sometimes months. And then there's this magic now where sometimes you can open an issue and have it resolved within minutes. So I don't know, I think those are pretty cool. 

Getting Started with Dosu 

Katherine Druckman: If I'm a developer, a maintainer in particular, and I want to use Dosu, what do I do? 
 

Devin Stein: You just go to our website, app.dosu.dev or dosu.dev. Click Get Started, create an account, and then set it up on an open-source project. And then, yeah, take it from there. 

Right now, there's a waiting list. Hopefully, we will get rid of it soon, but typically, if you want to get off a waitlist, just reach out, and we'll be more than happy to accommodate. 
 

Katherine Druckman: How long would it take to set it up? 
 

Devin Stein: It takes only a few minutes. 
 

Katherine Druckman: Amazing. Love that. 
 

Devin Stein: It's really a two-step process, and we try and make it really easy. You install the GitHub app. That doesn't do anything, but then you take a second step to set up what we call a workspace and configure it to meet the needs of your community. And then we have additional controls as well. If you want to just test it out, you can set up Dosu in what we call preview mode, where you can see example responses of what Dosu would have replied on issues without having any user impact. So it's really about us wanting to make sure we're helping. We want to make sure that users are comfortable with Dosu, and we're building that trust. Yeah. 
 

Katherine Druckman: Awesome. Well, thank you so much. I think this is a really interesting thing you have going here, and I'd love to see where it goes. Very cool. I really appreciate it. 

The Future of Open Source and AI 

Katherine Druckman: Is there anything that you wish I had asked you? 
 

Devin Stein: I would say the one thing that's worth emphasizing is that I think AI and automation are going to play a really important role in the future of open source maintenance. I think there's some hesitation, especially in that we don't want bots to take over and remove the human element of open source. But I think there's a ton of potential for automation to improve the lives of open source maintainers by making the role more efficient, allowing time to focus on the thing that you like to do, which is helping people with the really hard problems that you're well-equipped to solve. And then driving the roadmap of your project and helping guide your community. 

And then, the same thing from the contributor side. I think it is easier today than ever to contribute to open source. I think that’s going to be even more true in the future because of advances in automation and AI. So I would say, yeah, I'm very optimistic about the potential impact of AI. Definitely, it's not all positive, but I think with the right framing and as a community, we can have a pretty cool impact over the next few years. 
 

Katherine Druckman: Well, thank you so much. I really appreciate it, and I look forward to seeing what happens in the next year or so. 
 

Devin Stein: Thank you. Yeah, I'm excited as well. It's been a wild year one, and I'm excited about what year two will look like. 

Guest: 

Devin Stein is the CEO and Founder of Dosu. Prior to Dosu, Devin was an early engineer and leader at various startups. Outside of work, he is an active open source contributor and maintainer.

 

About the Host:

Katherine Druckman, an Intel open source security evangelist, hosts the podcasts Open at IntelReality 2.0, and FLOSS Weekly. A security and privacy advocate, software engineer, and former digital director of Linux Journal, she's a long-time champion of open source and open standards. She is a software engineer and content creator with over a decade of experience in engineering, content strategy, product management, user experience, and technology evangelism.