There are 10 days left in October. 10 days to earn a t-shirt in the third annual Hacktoberfest, when DigitalOcean and GitHub offer swag to the masses to encourage contributions in open source software.
Last year, DigitalOcean said participation jumped from under 1000 to 5700+ in nearly a hundred countries. I wonder what the results will be this year?
And more importantly, will you be a part of it?
— DigitalOcean (@digitalocean) December 2, 2015
Participating in open source is not as scary at it might seem!
Have you seen that awesome “there is no cloud“ sticker yet? The “cloud” has been over-hyped for years, to the point that it’s this almost magical thing. What is it? Where is it?? It’s so nebulous! But not. You can order a static IP for your home through your ISP, configure your router and computer to allow incoming connections, and let people store their documents on your machine. Voilà… you are the cloud.
Open source has attained a sense of the untouchable too. Most of us use something that’s open sourced, but personally I’ve always seen it as something other people contribute to. Smarter people, or more experienced people, or just people with oodles of time on their hands. But that’s not the case – you too can be a contributor!
If you’re brand new to the GitHub scene, here’s the general flow:
- Someone has an idea. They create a project to solve a problem, and share it with the world.
- They need help. Feature requests and bug reports roll in. Issues are opened.
- You can help! Anyone can offer to help out, but wouldn’t it be nice to know where help was needed most…
- Pick a tag, any tag. Owners tag issues with short phrases like easy, beginner, up for grabs or even hacktoberfest, to indicate which ones might be a good starting point for someone new to the project or to open source in general.
It doesn’t have to be some grandiose, world-changing pull request either! Actually, smaller is better, and much easier for the owner to review and maintain. After all, when the dust settles and your PR is (hopefully!) accepted, the owner has to maintain it from then on.
Last year I came across a request from someone for whom English wasn’t his first language. He had extensive documentation but was asking for someone to review it. I stepped in, reviewed a dozen pages and made my first PR. It was mostly grammar fixes, and he accepted it and seemed genuinely appreciative.
— Grant Winney (@GrantWinney) October 20, 2016
Sound like something you want to take part in? There’s still time! Here’s what you need to do:
Step 1: Sign Up
Register at DigitalOcean. If you don’t, DigitalOcean and GitHub won’t know about you when they check for PRs at the end of the month!
Step 2: Learn how to move around in GitHub
Before you fly around, forking repositories, pushing changes, and making pull requests, you should be comfortable with at least the basics of GitHub. I felt that not knowing git held me back last year, as I floundered around at the same time I was trying to help out. I should’ve taken an hour or two, and learned the tools first.
It wouldn’t hurt to walk through this markdown tutorial either since GitHub uses it. If you haven’t heard of markdown before, it’s a bit awkward at first. Once you get used to it though, it’s far easier than having to stop typing to highlight a word and find the appropriate button to apply formatting.
Step 3: Find a project that interests you and jump in!
When you’re ready, there are a few places you can start.
- DigitalOcean lists some suggestions under “featured projects”.
- Better yet, you can search the Hacktoberfest label on GitHub, which lets you filter by language.
- Another one I like is up-for-grabs.net which also lists a lot of issues that are just waiting for someone to pick up.
Depending on how you look at it, there’s either a lot of opportunity or a lot to wade through. Either way, there are thousands of issues to choose from. If this is your first time, you might want to either pick a language you’re very comfortable with (so you’re not learning a new language and figuring out what help is needed) or pick some documentation like I did last year.
Whatever you decide to do though, you’ll probably be making someone’s day.
Every time I tag a Github issue with `hacktoberfest`, strangers on the internet start fixing my bugs. Usually within 20 mins.
— Bryan Braun (@BryanEBraun) October 12, 2016
Step 4: Make your first PR
When you’ve found something you want to tackle, keep these things in mind:
- Check for “contributions” and “readme” files. If the owner has any special instructions, they’ll be in there.
- If an issue is unclear, ask questions and start a conversation, rather than guess what the fix might be. If you wait days and get no response, move on to something else until you hear back.
- Try to follow existing coding styles, which will differ from project to project. Remember, when you’re done the owner has to maintain your fix, and shouldn’t have to reformat it to fit the existing style.
Step 5: Profit!
Well, not really, unless you decide to sell your shirt. 🤑
Your PR doesn’t have to be accepted for it to count, but keep to the spirit of things. Submitting 4 PRs that add a semicolon to a document are not what this is about!
— Grant Winney (@GrantWinney) October 11, 2016
You might want to do a search on meetup.com for “hacktoberfest” too. There have been a number of people in the Cleveland/Akron area that have hosted “hack nights” to help get people rolling on their pull requests.
But if you decide you’re not ready for it yet, there’s always next year. Or just do what you can. I submitted 2 of the 4 PRs last year, and still got some stickers. :)
Also, Hacktoberfest isn’t the only challenge out there. I just came across 24 Pull Requests, which looks interesting and should be starting in December. If you find any others, I’d be interested in hearing about them. Leave a comment below!