Doodles

#open-source

#github

#goodfirstissues

Good first issues don’t exist

Author

bdougie

Clock

4 mins read

Cover

From my time at GitHub, I learned that the label“good first issue” was created in response to the popularity of the first-timers-only project. Thanks to folks like Scott Hanselman and Kent C. Dodds there is a pathway into open-source contributions that is approachable. The good first issue adds a label to identify bugs and minor fixes for anyone looking for a safe space to try their hand at an approachable contribution.


This blog post came out of a series of tweets I created last year.

https://twitter.com/bdougieYO/status/1561746501738459137

Good first issues today


Fast forward to today, and you can’t ask someone how to find good first issues and have them rattle off goodfirstissue.dev or firstpr.me or even opensource.guide. As someone who lead developer advocacy at GitHub, I can say the majority of those folks have not used those tools, and I can say that with confidence because the majority have not been updated since before 2018.


Today there are 280 million repositories on GitHub. Of that number, only 230 thousand have more than five contributors. There is a lot of answer to why that is, but to state it simply, only 0.1% of the projects on GitHub provide an approachable space for new contributors.

What’s wrong with good first issues?

Unfortunately, the notion that you can browse GitHub and search your way to a contribution is invalid, and we have been preaching that sentiment for years. I share this as an advocate for open-source, but good first issues do exist. Most of what is labeled need more context for anyone new contributor to approach. There is a lot to be desired when it comes to good first issues.
We have got this far, and I haven’t shared the punchline, but here goes:

> The best good first issues are the ones you open.


Now, I can explain.

Purpose-driven good first issues

Good first issues exist for the sole purpose of leaving a breadcrumb for a new contributor. These are issues that a maintainer could complete in less than 10mins. They are not set up to take a lot of time, and if you follow my beliefs, there should be a clear path to the solution provided by the person who labeled the issue.


The clear path to the solution can be the actual code to be copied and pasted with a line number or a rough idea of its implementation. Some recent good first issues include fixing broken links and adjusting mobile responsiveness.
The other truth is that exploring projects you have never used, with the hopes of contributing, is worse than sharing quotes from a book you have never read. Before you try to do any project, please install it. Cloning a repo down from GitHub and running it locally can expose many opportunities for contributions.

hot.opensauced.pizza


We have been running a small exploration project to discover the hottest new repositories on GitHub, and most of those projects barely have a README. These projects need extra eyeballs, and we would love for folks to try them out and report back. All projects need to start somewhere; it takes a particular person to be willing to try a new project and provide context on their experience. Not every open-source project is created equal, just like the same person doesn't create every issue.

Examples of good first issues


Let’s look at some completed good first issues in the OpenSauced org.

https://github.com/open-sauced/hot/issues/295
open-sauced/hot#295


This issue was opened initially due to inconsistencies with the fonts in the project. The issue clearly states the problem and provides a solution. This was picked up by a brand new contributor.


Another issue was an opportunity for refactoring duplicated code into its own reusable React Component. Now, this required someone with knowledge of React, but each line was outlined where it a duplicated, and a previously merged pull-request was provided to show where similar work was completed and could be referenced. 

https://github.com/open-sauced/hot/issues/287
open-sauced/hot#287


This is work I could have done in about 10 mins, but I chose instead to leave for a new issue for a new contributor. The second contribution was completed by a new contributor that continued contributing throughout the summer and was brought on later as a full-time engineer at OpenSauced. The good first issue was a stepping stone to learning the project and becoming a consistent contributor.


I will leave you with this thought. If you are genuinely interested in leveling up and contributing to open source through good first issues, start by opening up issues you found and getting mentorship from the existing contributors or maintainers. You and the project will be better off for it and at the very least, try running the thing locally.


If you are interested in finding projects or tracking your own, consider checking out OpenSauced. And of course, if you are looking for new contributors to your project do not hesitate to reach out on our discord.

Recent Posts

Cover

#talent

#open source

#hiring

Retaining the best engineers

Author

bdougie

Time

5 mins read

Open source projects can be a great way to retain engineers, as they provide a platform for engineers to collaborate on and contribute to meaningful p...

Read More
Cover

#open source

#github

#apis

Measuring success in open source

Author

bdougie

Time

5 mins read

Earlier in 2022, httpie lost all its stars due to a small error. The maintainer was devastated by this loss, and even though stars are not a great met...

Read More

Subscribe for Extra Sauce

Stay up to date with the latest OpenSauced news and trends.

Doodles
Doodles