Anyone Can Be an Open Source Maintainer

Rate this content
Bookmark

Maintaining open source repos isn't just for "experts". Even junior developers can make great maintainers. Here's how I started maintaining a project and you can do it too.

7 min
05 Jun, 2023

Video Summary and Transcription

Brittany Joyner shares her journey of becoming an open source maintainer and highlights the benefits of participating in open source projects. She emphasizes that anyone can contribute to open source, regardless of their experience level. Brittany also discusses the expectations versus the reality of maintaining an open source project, highlighting the support and collaboration she received from the community. She encourages others to become open source maintainers, as it can boost confidence, foster connections, and lead to the creation of more useful tools.

Available in Español

1. Introduction to Open Source Maintenance

Short description:

Hi, everyone. My name is Brittany Joyner and I'm here to talk to you today about how anyone can be an open source maintainer. I used to work in marketing and then I learned how to code because I wanted to become a developer. And now I'm bringing all of that together as head of developer relations at Pixie Bricks. But why am I here today talking about open source maintenance? How did I become an open source maintainer and what does that mean? Let's go back to 2019, October of 2019 with Hacktoberfest. It was a really impactful experience for me, as I was just learning to code and was very intimidated by Git and contributing to projects with other people. Hacktoberfest helped me come out of my shell and realize that I don't have to be a senior developer to contribute. Fast forward to 2022, I had a coding job working full time as an engineer and was on leadership for my LGBTQ plus erg employee resource group at elastic. I put together a website using my coding skills and decided to make my repo public so others could join in and help improve.

Hi, everyone. My name is Brittany Joyner and I'm here to talk to you today about how anyone can be an open source maintainer. And just to tell you a little bit more about myself, I'm based in Baton Rouge, Louisiana, here in the USA. I used to work in marketing and then I learned how to code because I wanted to become a developer. And now I'm bringing all of that together as head of developer relations at Pixie Bricks. So that's what I'm doing.

But why am I here today talking about open source maintenance? How did I become an open source maintainer and what does that mean? I'm going to take you on a little journey first. So we're going to go back in time, back to pre pandemic, pre wearing a mask and having to social distance and all of that. We're going to go back to 2019, October of 2019 with Hacktoberfest. And this, if you haven't heard of before, Hacktoberfest is basically an annual event where open source developers come together and contribute on projects together. It's quite fun. This was my first one in 2019. And it was a really impactful experience for me, because that's when I was just learning to code and I was starting to starting to do a little bit of stuff, but I was very intimidated by Git and by like contributing to projects with other people. And I like I knew how to build something with HTML and JavaScript and CSS on my own site, but how do I like work with other people with that? And that's when Hacktoberfest really kind of helped me come out of my shell and realize that, oh, I don't have to be a senior developer to do this, like, and the community is so friendly to help and be like, oh, no worries, here's how you launch a PR like, no worries, here's how you know, you can change this or that. And it was just a really eye opening experience for me that helped me really, first of all, understand more about like collaborating with Other developers, which is something I was going to need in my first full time role. And it was also a way of just seeing that, oh, cool, like, we can build cool stuff together. Fast forward to 222. Last year, I had a coding job working full time as an engineer, and I was on leadership for my LGBTQ plus erg employee resource group at elastic. And basically, we were hosting an event. And it was going to be like a mini conference where different members could give talks about things that are interesting to them. And so I put together a website using my coding skills. I made a cool little like event website that showed an agenda and talks and things we were doing. And it was really cool. Everybody really liked the site. It was awesome. And I kind of thought, huh, I wonder if other people might want to use this. It could be a good template for an event website where they don't have to code it all from scratch. They can just like swap out the content and be good to go. And so fast forward to that October of the same year, I decided to make my repo public so others could join in and help improve. And hopefully join in the Hacktober Fest stuff and get some more contributors.

2. Expectations vs Reality of Open Source Maintenance

Short description:

And that's kind of how I ended up here today. But it wasn't as simple as that. I want to share with you some of the expectations verse reality of maintaining that open source project. My first expectation was that, oh, I've got to be a senior developer. I'm gonna have to answer all these questions. I'm gonna have to figure out, you know, when people have bugs, what's going on. But actually, I found that a lot of people were willing to help. Lastly, I thought nobody would find my project. But especially being able to jump on to the hype train of Hacktoberfest, I had so many people coming to help me with my project. So many people were jumping into the repo, coming up with feature ideas, grabbing issues that I'd made for bugs. And it was, like, so exciting to see that it almost became overwhelming. So a couple of benefits if you're still on the fence. Should I participate? Should I be an open source maintainer? I'd say you totally should.

And that's kind of how I ended up here today. But it wasn't as simple as that. And I was sitting here thinking, wow, like this is not at all what I thought it was going to be like to maintain a project, a public repo that other people could contribute to. And so I want to share with you some of the expectations verse reality of maintaining that open source project.

My first expectation was that, oh, I've got to be a senior developer. I'm going to have some really tough coding questions come in here. And it's going to be like way over my head. And I've got to be a big, fancy open source person. The truth is, I actually used more organizational and communication skills than I did my developer skills. Because you're really just kind of coordinating people who are coming in to help with things. They're doing the work. You're trying to coach as you can, for sure. But there's definitely a lot more of organization and keeping people aligned.

Next, I thought it was going to be a solo sport. I was like, OK, I'm going to be a maintainer. I'm gonna have to answer all these questions. I'm gonna have to figure out, you know, when people have bugs, what's going on. But actually, I found that a lot of people were willing to help. Even at my company, when I would say, hey, I've got a contributor who's working on this, there were people on my team who weren't even, you know, affiliated with my project that were still willing to say, oh, I think they might be stuck with this, or have they thought about trying this? And even different contributors ended up jumping in and helping each other with stuff. So it was really awesome to see that.

Lastly, I thought nobody would find my project. I thought it was just going to be like people walking into like an empty room. Like there was nothing there. But especially being able to jump on to the hype train of Hacktoberfest, I had so many people coming to help me with my project. So many people were jumping into the repo, coming up with feature ideas, grabbing issues that I'd made for bugs. And it was, like, so exciting to see that it almost became overwhelming, because I was constantly having to monitor, like, oh, somebody wants this issue. Oh, somebody needs a new issue. So I think that was a good problem to have. So a couple of benefits if you're still on the fence. Should I participate? Should I be an open source maintainer? I'd say you totally should.

3. Benefits of Open Source Maintenance

Short description:

Because, first of all, it's going to give you confidence. You're going to get connections and make friends. And then lastly, we're all going to get more cool tools. If you've built something that you think others could use and maybe could also be improved, make it public and become an open source maintainer. Thank you so much for joining. My name is Brittany. If you want to chat, you can reach me on Twitter. My username is Brit underscore Joiner.

Because, first of all, it's going to give you confidence. I gained so much confidence in my skills as a developer and just being able to contribute with others. You're going to get connections. You're going to make friends, right? There's some people who contributed to my project that I still message with on Twitter. And we still hang out and help each other out with stuff. And then lastly, we're all going to get more cool tools. Isn't that great? Think about all of the tools that you use. What if someone had been, like, mm, I'm just going to keep that tucked away in my own private repo. I'm going to wait until I have free time to add the features I want. Yeah, no, I don't think I'm going to share that just yet. If that had happened, think about how many fewer cool tools we'd have in the world today.

So if I can leave you with one thing. If you've built something that you think others could use and maybe could also be improved, make it public and become an open source maintainer.

So that's all for today. Thank you so much for joining. My name is Brittany. If you want to chat, you can reach me on Twitter. My username is Brit underscore Joiner. Got it right there in the corner.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

React Advanced Conference 2022React Advanced Conference 2022
16 min
How to Build Your Own Open Source Project
We all used open source projects every day such as npm packages, editors, web applications, and even operating systems... Have you ever thought of building one of your own? In this talk, I will share my journey building jest-preview, from when it was just a vague idea, to currently a well-adopted library to help frontend engineers write tests faster. I will share with you how to come up with an idea for a project to work on, what is the struggles you have to overcome as an author of an open source project, how to manage time efficiently, and how you get attention from engineers around the world.
TypeScript Congress 2022TypeScript Congress 2022
30 min
Lessons from Maintaining TypeScript Libraries
Maintaining widely-used JS libraries is already complicated, and TypeScript adds an additional set of challenges.

Join Redux maintainer Mark Erikson for a look at some of the unique problems TS library maintainers face, and how the Redux team has handled those problems. We'll cover:

- Tradeoffs of different ways to define TS types for a library
- How to target different versions of TS, and considerations for determining the supported version range
- Migrating existing JS libraries to TS
- Differences between writing "app" types and "library" types
- Managing and versioning public types APIs
- Tips and tricks used by types from the Redux libraries
- TS limitations and possible language-level improvements
Vue.js London 2023Vue.js London 2023
31 min
Nuxt 3 Modules and Open-Source
Nuxt modules are the de-facto way of extending our Nuxt applications with new behaviors and functionalities. Have you ever built your own? Why would you bother with hundreds of modules already out there? Let's answer those questions together and see why making your own modules in Nuxt 3 can both help you have a deeper understanding of how Nuxt works while also paving the way for you to get into open source!
React Day Berlin 2022React Day Berlin 2022
8 min
Making an Open Source Library Financially Sustainable
React Flow is an open source library used by thousands of developers and hundreds of companies. How do we make sure it stays alive, and also free? I’ll share some insights along our journey from open sourcing React Flow to passing the “black zero,” including findings from our user research where we spoke to some of the people who support us every month.
React Finland 2021React Finland 2021
18 min
The State of XState
Over the past few years, state machines, statecharts, and the actor model have proven to be viable concepts for building complex application logic in a clear, visual way with XState. In this talk, we'll take a peek into the future of XState, including new features in the next version, and new tools and services that will make it even easier to create and collaborate on state machines.
React Day Berlin 2023React Day Berlin 2023
31 min
Break the Race: Easy Race Condition Detection for React
Race conditions are among some of the most challenging to detect and reproduce issues. As such they pose a significant challenge in development notably in UI. In this talk, we explore how to detect race conditions by leveraging fuzzing techniques. We walk you through discovering the real problem of race conditions and how they impact user experience. We provide you tools and examples demonstrating how to easily detect them in your daily work thanks to tests relying on fuzzing. After that talk, we hope your React code will be race conditions free or at least that you will have the right tools to help you.

Workshops on related topic

Node Congress 2023Node Congress 2023
85 min
Node.js: Landing your first Open Source contribution & how the Node.js project works
Workshop
This workshop aims to give you an introductory module on the general aspects of Open Source. Follow Claudio Wunder from the OpenJS Foundation to guide you on how the governance model of Node.js work, how high-level decisions are made, and how to land your very first contribution. At the end of the workshop, you'll have a general understanding of all the kinds of work that the Node.js project does (From Bug triage to deciding the Next-10 years of Node.js) and how you can be part of the bigger picture of the JavaScript ecosystem.

The following technologies and soft skills might be needed):
  - Basic understanding of Git & GitHub interface
  - Professional/Intermediate English knowledge for communication and for allowing you to contribute to the Node.js org (As all contributions require communication within GitHub Issues/PRs)
  - The workshop requires you to have a computer (Otherwise, it becomes difficult to collaborate, but tablets are also OK) with an IDE setup, and we recommend VS Code and we recommend the GitHub Pull Requests & Issues Extension for collaborating with Issues and Pull Requests straight from the IDE.

The following themes will be covered during the workshop:
- A recap of some of GitHub UI features, such as GitHub projects and GitHub Issues
- We will cover the basics of Open Source and go through Open Source Guide
- We will recap Markdown
- We will cover Open Source governance and how the Node.js project works and talk about the OpenJS Foundation
  - Including all the ways one might contribute to the Node.js project and how their contributions can be valued
- During this Workshop, we will cover Issues from the nodejs/nodejs.dev as most of them are entry-level and do not require C++ or deep technical knowledge of Node.js.
  - Having that said, we still recommend enthusiast attendees that want to challenge themselves to "Good First Issues" from the nodejs/node (core repository) if they wish.
  - We're going to allow each attendee to choose an issue or to sit together with other attendees and tackle issues together with Pair Programming through VS Code Live Share feature
    - We can also do Zoom breakrooms for people that want to collaborate together
  - Claudio will be there to give support to all attendees and, of course, answer any questions regarding Issues and technical challenges they might face
  - The technologies used within nodejs/nodejs.dev are React/JSX, Markdown, MDX and Gatsby. (No need any knowledge of Gatsby, as most of the issues are platform agnostic)
- By the end of the Workshop, we'll collect all (make a list) the contributors who successfully opened a Pull Request (even if it's a draft) and recognise their participation on Social media.