Anyone Can Be an Open Source Maintainer

Rate this content
Bookmark

You don't have to be a senior React developer to create a project and open source it! I'll show you how I built an event website with React and EUI, then shared it with the world for contributions and mentored folks who helped improve it. 

7 min
15 Nov, 2023

Video Summary and Transcription

Hey, everyone. Today, I want to talk about how anyone, even junior developers, can be an open-source maintainer. Let me share my journey of learning to code and becoming a maintainer. I made a website for an internal conference straight from code and made it open source. Participating in Hacktoberfest helped me connect with other developers and learn from them. Becoming an open-source maintainer increases your confidence, helps you make connections, and enables you to share cool tools with the world.

Available in Español

1. Introduction: Becoming an Open-Source Maintainer

Short description:

Hey, everyone. Today, I want to talk about how anyone, even junior developers, can be an open-source maintainer. Let me share my journey of learning to code and becoming a maintainer. I participated in Hacktoberfest, which helped me overcome my fear of coding. Contributing to beginner-friendly projects, even with small tasks, helped me get comfortable with collaborating and using Git. The community was supportive, regardless of skill level. Now, I'm building things and working in leadership at a former company's employee research group, hosting the Rainbowstacks Summit.

Hey, everyone. My name is Brittany Joiner, and for the next couple of minutes, I want to talk to you about how anyone can be an open-source maintainer. And I mean anyone. I don't mean senior developers who've been at fancy open-source companies. I mean anyone, even junior developers, can be an open-source maintainer, and here's how.

So first of all, let me just tell you a little bit about myself. My name is Brittany Joiner. I live in Baton Rouge, Louisiana. I used to work in marketing, and then I learned to code, and now I'm bringing it all together as the head of developer relations at Pixiebricks. And so what's interesting about my journey is that you're like, wait a minute, you were doing all of these things, and then you became a developer, and you've already become a maintainer? Well, let me tell you a little bit about my journey and why it's so important to me.

So when I was learning to code, working in marketing, still learning to code, I participated in Hacktoberfest in 2019, and it was a super impactful event for me because that was where I actually learned to get over my fear of coding, if that makes sense. Like, I was very nervous just going through stuff in boot camps. I wasn't doing a whole lot of actual on projects and things. And I was like, there's no way I can participate in Hacktoberfest. I'm not a senior developer, like I can't contribute to projects. But I found there were a lot of beginner-friendly projects that were perfect to contribute to. And it could be something as simple as writing one line to fix a style of CSS, or it could be as simple as a recipe generator app, and you just contributing a JSON file that had a recipe in it. Or like a drink idea generator. And I participated in projects like that. And although, even if it wasn't a ton of code or anything, it really helped me get comfortable with the process of contributing and collaborating with other people. Because I was getting more comfortable with Git. I was getting more comfortable with, you know, creating forks and handling local development and like pushing it to a server. And it was super, super helpful for me. And I found that the community was so, so willing to help. And no matter what your skill level, no matter what you're working on, it was a really welcoming experience for me. And I found it to be super helpful. And so, fast forward a few years, I'd learned how to code. I'm actually, you know, building things. And I am working in leadership for my ERG, our employee research group at a former company. And we were hosting an event called the Rainbowstacks Summit.

2. Becoming an Open Source Maintainer

Short description:

I made a website for an internal conference straight from code and made it open source. Participating in Hacktoberfest helped me connect with other developers and learn from them. Maintaining an open source project requires coordination and following up on issues. It's not a lonely or confusing experience, but rather rewarding and fun. The benefits of becoming an open source maintainer are significant.

And it was basically, I was trying to make an event website. And you could think of this as an internal conference we were doing, where I had different sessions, I had different speakers, and I ended up making a site for it just straight from code. I didn't use Hublot or any of those fancy tools. I just made it straight from code.

And after the conference, everybody was like, this is a really cool website. This is super awesome. And so, I actually made the Rainbowstacks Summit website open source. I was like, let me make this a public repo so that other people can contribute. And I really leaned into it in Hacktoberfest of 2022, because that was where I maintained the repo where people could come in and ask questions. And they could get help with basic issues. They could help with more advanced stuff. So, it was super cool. And it was a really rewarding experience, because I was able to help provide some of that experience that I got when I first started, but also get some help from other developers who were able to build much cooler things than I was.

So, fast forward to now, and I'm actually on pause with that project because I had so many people wanting to help with it. And so, I put together this slide to kind of show the expectation versus reality of maintaining an open source project. And I think a lot of what I thought was that you have to be some sort of senior developer. And you have to be super, super hacky. And really, you just need to be good at coordinating things. Really, you need to be able to pair people who have experience in finding things that could work on them and coming up with like, okay, here's issues, here's what we need done in the app, and then also following up and making sure that's actually happening. I also thought it was going to be tons of crickets. Like I thought I was just going to be, you know, sitting there at my keyboard and having this project and just be like, ah, is anybody here? Like anybody want to participate? I had tons of people and still had tons of people come to my project today. And like I've had to put a pause on it, like I said, because I've had so many people coming and like, it's just been difficult to maintain. And so it's amazing, like, especially if you're able to jump in with something like Hacktoberfest, you will find that more people are interested in jumping in and participating than you thought. And I also thought it was going to be like, really kind of a lonely, confusing thing. Like I was like, I'm not sure that I know what I'm doing with this. But it ended up actually being a lot of fun, like aside from, you know, just being like a side project, it actually ended up being really cool. I got to meet some people along the way I got to make you know, make friends with them. And I got to learn more as a developer myself and also help enable other people on their journey as well. So it was a really rewarding experience. And so a couple of these benefits that I think is super important, and why if you're still on the fence, you maybe you're like, Okay, I can do it.

3. Benefits of Becoming a Maintainer

Short description:

Becoming an open-source maintainer increases your confidence, helps you make connections, and enables you to share cool tools with the world. You don't need to make a formal announcement; simply make your repo public and find others who want to participate. Thank you for joining today!

Why should I? Here's why. First of all, it's gonna increase your confidence as a developer. Like I said, you don't have to be a senior developer, but you're gonna see as you jump in, that it's all you're gonna feel more empowered and be like, Oh, wait, yeah, I do know things like, Oh, yeah, I'm able to help this person with that, or Oh, yeah, I'm able to connect this in that person. And it instills a lot of confidence in you.

And you'll start to see too, you'll get really comfortable with, you know, PR isn't like looking for things in code and seeing the different things that that you want, and you like and you don't like in code. So that's super awesome. And then it's also a great way to make connections. Like I said, I met a ton of people and it was super awesome. Some of them you know, we're still chatting with today, we've met up on different slack communities and stuff. So it's a great way if you're looking for meeting other developers, it's a good way to find folks.

And then lastly, it helps more cool tools be available. And so think about the fact if we hadn't, if we actually launched some of these tools, like I hadn't launched this website, other people wouldn't have this amazing event website template that they can now use. And so being able to participate in open source and lead to open source, maintain an open source project helps you be able to share more cool tools with the world. And because of that, I think that if you've built something that you think is kind of cool, and maybe other people might be involved in, go ahead and make it public. You don't have to go change your position make a formal announcement to be an open source maintainer. You literally just make your public repo, make your repo public and then find other people who want to participate and get the word out there and let's build something cool together.

So thank you for joining today. If you have any questions, you can reach me on Twitter, my or X whatever we're calling it these days, Brit underscore joiner, and I look forward to seeing you there.

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 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.
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.

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.