OSS Contributor Wannabe in Cairo
I’ve recently graduated from university with a degree in Software Engineering. I have spent the better part of the last six or so years learning about open-source software development, even in my own time. I consider myself pretty well-versed in the goings-on in the world of OSS, but I’ve yet to actually contribute anything to this community that has essentially become – and will remain – my life. I’m done reading and I’m ready to get started. Any advice for becoming a contributing member of the OSS community?
OSS Contributor Wannabe in Cairo
You could spend a lifetime immersed in the OSS community and, like many, never have your name attached to a repository as a contributor. And that’s okay(mostly), but the community does indeed rely on folks like you who are ready to roll up their sleeves and place themselves firmly in the middle of it all, contributing to solutions that could potentially benefit the masses.
Merely wanting to become a contributor is a start. So what’s next? I’ve compiled some tips below to help you, and folks like you, bridge the gap between OSS community member and OSS community contributor.
Contributors Start Small
Listen, there isn’t an OSS contributor Hall of Fame (of which I’m aware at least) and as you probably know, you aren’t going to get famous for contributing code to an OSS repository. Keep this in mind when identifying projects that align with your skills and interests.
As the saying goes, “sometimes it’s the little things,” and there is no shortage of “little things” in the world of OSS development. As you start, remind yourself that no task is too small. Look to identify tedious tasks that code maintainers may not have the time or resources to take on themselves. Find some “little things” needing attention in the repos you follow and make those little things your first contribution to the OSS world.
Bigger things will surely follow.
The OSS community has a multitude of eagle-eyed bug identifiers. And though “Pull requests are welcome” is likely attached to repos you follow, it’s important to understand that each of those requests has actual tasks in tow.
Next time you’re ready to open a pull request on, say a GitHub repo, instead, head to the discussions tab and start a conversation about a specific item to which you feel you could contribute. Ask the maintainers if they’d find value in your contributions. There’s a pretty good chance your conversation leads to your contribution!
Contributors Track their Work
Once you’ve had success with the previous bit of advice (and I’m pretty certain you will), take the time to open a GitHub issue to track your work. The benefits are multiple:
- By spending time articulating the problem and proposed solution, you allow yourself to find gaps in your understanding before getting started.
- By making your “to-do list” public, you create a space for others to provide suggestions and input to help strengthen your contributions.
- GitHub issues can be linked to by PRs and other issues on different repositories. This creates a sort of spider web of information that can all be viewed from the central issue.
As you get your feet wet, be willing to invest the time and effort into creating your plan. It will pay off!
Contributors Take it One Step at a Time
At this point, you should have a checklist of things that you need to accomplish. Rather than throwing these work items into a big pile and getting right to work, create a pull request for each one.
The benefits of this breakdown, according to Eddie Knight, Software and Cloud Engineer and OSS Contributor, are passed on to the folks charged with reviewing your work.
“By segmenting the pull requests into small bite-sized pieces, the reviewers could quickly respond without taking a lot of time from their regular schedule.”
Contributors are Attentive
This should probably go without saying, but be attentive to the feedback and questions of the reviews and the community at large. Even questions that don’t require changes deserve to be answered. This is a community after all, and questioning and the discussions that follow are integral to its success.
Contributors Follow Through
As you cross the bridge from community member to community contributor, look for a natural next step once your work on your first repo is complete. Perhaps there are other repos in the project that could use the attention of a contributor like you.
Maybe take your new experience and skills out into the world, so to speak. Pursue areas within the OSS community that either interest you, align with your skills, or ideally, both!
Keeping the above in mind, it won’t be long before your name is in lights, or attached to a repository at least. Remember, you’re in this to contribute to a community. Any fame that comes along with it is an added bonus. If you find yourself with any free time, do check out Eddie Knight’s blog post on becoming a new contributor, or peruse the DevOpsBlocks content on Sonatype Learn. Do you have any other advice for first time contributors, or any questions yourself? Let us know in the comments below!
Now go forward and contribute,
We recently embarked on an open source contribution journey ourselves, check out our first contribution (project) on Github here: https://github.com/abnamro/repository-scanner
These are good tips for closed source as well. It makes the development process more efficient. In closed source, the “maintainers” are paid to review and incorporate your work whether these tips are followed or not. In OSS, there’s no guarantee your work will ever see the light of day, but these tips can make all of the difference!