How I contributed to an Open Source Project: A Guide For Newbies
5 min read
Open-source projects are a good way to hone your technical writing skills and build a portfolio if you want to take up technical writing as a career. It provides you with an avenue to gain expertise on projects while solidifying your writing experience. In this article, I will show you how I started contributing to open source and how you can do the same. Let's start by succinctly defining what open source really is.
What is open-source software?
Open source software refers to software with its source code publicly available for anyone to use, modify, inspect, and redistribute. Open Source was originally known as Open Source Software (OSS). Open source is also defined by its community, which is characterized by collaboration, continuity, common interest, and development of the software.
What makes Open Source software unique is that it grants license rights to anyone interested in the software, as opposed to proprietary software that licenses only the original authors. The benefit of this is that it encourages better software because more knowledgeable people can improve it.
You can check out Open Source to learn more about it.
How to get started with making contributions to open-source projects?
To get started on contributing to open source, you need to define your purpose clearly; to contribute to the software you use. To get familiar with certain technologies and tools, For your sheer interest in the project and community? To improve your writing or coding abilities. To gain experience and get career opportunities? To be part of a community that promotes innovation and collaboration? The call is yours.
These are just a few reasons people contribute to open source, and it is alright to have multiple reasons. I had to first make my reasons clear and then start working with that in mind.
The next ideal step would be to pick a project. I need to state that there are lots of open-source communities, but not all of them will align with your interests or be the right fit for you.
Start by asking yourself what you can contribute to a project with the skills you have. Writing, coding, translation, management? What value can you add? Then find a project that requires your skill.
There are a couple of places that present first-time contributors with a variety of projects they can contribute to. I looked around some of these places when I wanted to start contributing to open source and they gave me a lead.
A little snooping around and you will find a project that interests you. After you have decided on a project, how then do you ascertain that a project is the right one for you to work on? In my case, I did a little digging to ensure that they met some criteria.
Some of these criteria include:
- Is the community helpful, supportive, collaborative, and accommodating to both first-time and existing contributors?
- How soon do they respond to concerns? (You can find out about this through their GitHub)
- Is the community active? ( You can also find out about this by checking when the most recent commit and activity were made.)
- Do they have a README file, proper open source licensing, and helpful documentation?
- What is the size of the community?
- Do they have a code of conduct?
After you have accounted for all of these and they tick the boxes, you can begin to look for issues tagged "good-first-issues," "beginner-friendly, and the like. You can then begin to make contributions, and that brings us to the next point.
What kind of contribution can you make?
It’s worthy of note that no matter how minute your contributions are, they count and are contributions regardless. They don’t have to be huge to be regarded as contributions. No-code contributions are just as important as code contributions. That being said, what are the kinds of contributions you can make?
If you like helping out, organizing, and managing people, then you can help out by managing the project’s community. You can be available to ensure that things are running smoothly and orderly.
If you like to code and are good at it, here’s your shot! You don’t even have to be the best. If you find a block of code and know how to improve it, then you can do it. Bugs? Fix it? You can make 1000 lines of code into 10 lines without affecting the output, then shoot. Just make contributions that make things better.
Do you have a penchant for writing? Then here’s your domain. You can contribute by fixing typos', updating documentation, and making the README better. Write tutorials and how-to guides showing how the project is used. helping with translating the project documentation.
You can also apply your design skills to the project by improving the visual design, layout, and UX where possible.
There are also unofficial roles you can perform that are not particularly designated for a particular skill. They can involve making contributions to things that generally make the project and its community better. Helping people, answering questions, and helping first-time contributors get started with contributing. Organizing and hosting workshops and managing the activities for these workshops. Reviewing changes made to the project, etc.
You can contribute in more than one way, so long as you know you’re making a valuable addition.
On my part, being a technical writer, I help review typographical errors, suggest ways project documentation could be improved and restructured using the Diátaxis technical writing style guide, and go ahead to do them, improve READme, make sure each documentation is maintained, write about technical concepts on the project’s blog, participate in workshops, and promote the project.
I’m currently contributing to Aviyel in particular through my technical writing skills.
Anyone interested in technology and software can contribute to open source. You might just be interested in the software that you use and want to contribute to it. If you regularly use software, chances are that you’ve used software that is open source. You can give back to it using the skills that you have. In this article, I walked you through how I got started with contributing to open source and we went through the steps of contributing to an open source project.
#hacktoberfest-submission #hacktoberfest-with-aviyel #opensource