The most common question I get when I recommend open source as a launching pad for budding developers is “Where do I start?”.
The answer: anywhere!
There’s a plethora of open source software out there, and not everybody needs to have an encyclopaedic knowledge of the codebase to contribute. You can contribute small things like fixing dead links in the README to resolving trivial compilation warnings to simply tweaking an issue template.
The reason I’m linking my own commits is because I want to let people know that the guy helming a theme engine is also out of his element at times and there’s no shame in admitting it :)
Thanks to the adoption of specs like all-contributors, OSS is more friendly and welcoming than ever. Contribute literally anything to a project you use and scale up from there.
Remember: You will make mistakes in the process. Don’t give up! There’s always a project looking for any kind of help it can get. Start your search at home – See what apps and desktop software you use that’s open source, and if that’s something you’d like to give back to or even fix something in, even if it’s driven by the need to enhance your experience than your goodwill. Linus Torvalds, the creator of Linux famously said this:
I do not see open source as some big goody-goody “let’s all sing kumbaya around the campfire and make the world a better place”. No, open source only really works if everybody is contributing for their own selfish reasons.
And it’s true! Most apps I contribute to right now, like AdAway and Android Password Store, began as a manifestation of personal annoyance. I found things to be lacking, and decided to address it. In the end that benefitted both me and the project.
In conclusion, I’d like to reiterate this – Contributing anything is contributing!
P.S. It’s okay to be nervous about it. I spent two weeks researching SSL before submitting a simple null check to Google’s conscrypt library :P