One secret tip for first-time OSS contributors. Shh! 🤫 don't tell anyone else
I see a lot of folks wandering over the internet asking how to contribute to open-source, To my disappointment none of the articles, I have read mention what actionable steps should be taken to make your first-time contrib.
Although I see people giving one generic advice like, "choose a package you already work with and contribute there", this still doesn't solve your problem because you might be using packages that are too big, working with these big projects can be sort of overwhelming. So to make it easier I am gonna share one secret cheat trick with you that is everlasting
Secret 🤫
Ready? here it is ...
"solve static analyzer issues"
Yes! I am serious here, Every language you work with nowadays has support for tools that do static analysis of code and point out issues. Helping fix these issues is a task everyone sort of ignores or forgets because building features and resolving bugs is much more good (and important to be honest).
But to have a "head start" in the game, trust me fixing these minor things still counts as a valuable OSS contribution. Moreover, working on these "code quality cleanup" issues is better than "fixing typos" or waiting around for a "good-first-issue" to open up, right?
Cool, you have my attention but how?
Any good OSS project also has a bunch of these tools already set up.
- Go ecosystem has Go Report Card
- Projects based on shell scripting can use shellcheck
- Python has a bunch of tools like black, pylint, flake8.
- Javascript has ESLint
- Tools like deepsource has support for finding security related issue for different language stack (which is again just building and finding patterns via static analysis of code)
- Another tool is CodeQL that detects security issues and gives a grade to the project
Here is a demo run of lgtm on pachyderm
Run and use these tools over the project you like to contribute to, the probability is there are going to be a bunch of issues reported.
- 📝 Pick the ones that are more common in frequency,
- ⚠️ report these issues to the project,
- 👀 wait for the maintainers to acknowledge it
- 🙌🏻 ask to assign the issue to yourself
Filter out issues that can have a positive impact on code quality, say for e.g replacing single quotes with double quotes is not a good issue in comparison to fixing potential unused variables.
If everything works out as expected, congrats! you just took a shortcut to FOSS contribution by opening an issue for yourself, now all you need to do is fix these errors which by now you have already researched about.
Although do note that using these tools can be sort of a hit-trial approach in finding analyzer warnings that matter. I will say don't misuse this trick for contributions by spamming the repo with them, play the game right
So what are you waiting for, surf GitHub and send that PR right now!!