Welcome! Let’s do some open source!
Contributing to open source for the first time can be scary and a little overwhelming. Perhaps you’re a Code Newbie or maybe you’ve been coding for a while but haven’t found a project you felt comfortable contributing to.
You can do it! Here’s how.
If you have never contributed to an open source project before and you’re just getting started, consider exploring these resources.
- First contributions is a hands-on tutorial that walks you through contributions workflow on GitHub. When you complete the tutorial, you have made a contribution to the same project.
- https://up-for-grabs.net is a site that aggregates (rolls up and makes easy to explore) projects that actively want help. They label those projects with things like “up-for-grabs”, “jump-in” or “help wanted.”
- goodfirstissues.com is a site that aggregates the latest issues with the label “Good First Issue”, which is a GitHub feature for finding easy issues to tackle (see how it was built). goodfirstissues.com empowers first-time contributors to find and select issues that they want to solve.
- goodfirstissue.dev curates easy pickings from popular open-source projects, and helps you make your first contribution to open-source.
- CodeTriage helps you subscribe to your favorite open-source projects and get a new open issue from them in your inbox every day.
- Read blog posts and guides on how to contribute to an open source project, then pick one!
- If you’re just getting started with tech and are planning to become a social developer, we’ve made a documentary training movie for you! Get Involved in Tech walks you through setting up your GitHub account, exploring StackOverflow, setting up a blog and starting to tweet!
- Wondering what someone else’s first contribution was? You can easily find out any GitHub usernames “First Pull Request” here! (I think you’ll find that most people’s first PRs were relatively small like Kent’s).
- We think that open source projects should value civility, kindness, and patience with new developers. We encourage you to explore projects that have a published Code of Conduct.
Yes, it’s scary. But SO rewarding!
We asked folks on Twitter what they felt when they made their first contribution to an open source project. Here are just a few of their tweets.
Some had great experiences:
@shanselman proud and excited. Added a feature to freecodecamp. Felt welcomed and wondered what else I was able to do.
— Ashley Drake (@al_draco) August 10, 2015
@shanselman I've added a case for my project in ServiceStack.Text + small test. Jumped around office for an hour when it was approved.
— Victor Suzdalev (@victor_suzdalev) August 10, 2015
@shanselman Proud. It is really great to something you did on the web for others to see.
— Mark (@marcusp619) August 10, 2015
@shanselman added expression support for labels in a GIS project. Felt fantastic. Now core developer on said project.
— Nathan Woodrow (@madmanwoo) August 10, 2015
Some had bad experiences. The purpose of first-timers-only
is to help everyone have an empowering and welcoming first experience as they enter the world of Open Source Software (OSS)!
@shanselman Can't remember the project, but it felt hostile, because I didn't know the contribution rules of the project, and got remarks.
— Bart Verkoeijen (@bgever) August 10, 2015
Are you an OSS Project Owner?
If you are an OSS project owner, then consider marking a few open issues with the label first-timers-only. The first-timers-only
label explicitly announces:
I’m willing to hold your hand so you can make your first PR. This issue is a bit easier than normal. And anyone who’s already contributed to open source isn’t allowed to touch this one!
First timer contributions are normally very small and easy. One recent first-timers-only
issue was literally three lines of simple changes! And the changes were described in great detail and tested by the project maintainer. But this makes it easier for the contributor to get the hang of the contribution process rather than the contribution itself. Remember, this isn’t as much about getting your project features implemented quickly as it is about helping first timers.
Why is YAL (yet another label) like first-timers-only
important? Because it makes a statement that first timers are welcome, that they are valued, and that they can start contributing to your project! Often the hard part of getting into open source for the first time isn’t the implementation of a feature, but figuring out how to actually contribute code such that the pull request is accepted! But, oh the feeling of accomplishment when your first PR is merged!
Go label an issue or two with first-timers-only
and advertise that those issues exist! Walk a newbie a week (or a month) through the process! Document the process, blog and tweet about it and encourage those first timers to do the same! And add this badge to your repo’s README:
You can use this markdown snippet to add the badge:
[![first-timers-only](https://img.shields.io/badge/first--timers--only-friendly-blue.svg?style=flat-square)](https://www.firsttimersonly.com/)
Kent C. Dodds proposed First Timers Only to get new people to make their first contribution. Scott Hanselman blogged about Bringing Kindness Back to Open Source, so it was obvious that we team up and promote these ideas and get more folks involved in open source.
Utkarsh Upadhyay created a bot called @first_tmrs_only which tweets when a new first-timers-only issue is posted on GitHub. Follow it to stay abreast with latest first-timers-only issues!
Angie Gonzalez and Arlene Perez created a GitHub app called First Timers that automates most of the process of creating first-timers-only
issues. Install the app on your repositories and commit simple changes to branches with names starting with first-timers-
– the First Timers App will turn it into a fully fledged issue with all information a first-time Open Source contributor will need to make their first pull request.
Empower a First Timer today!
We believe - and we hope you do too - that learning how to code, how to think, and how to contribute to open source can empower the next generation of coders and creators. We VALUE first time contributors and we want them to know that everyone started somewhere! Start here!