Simple Open Source Guide for Beginners

I recently attended a meetup here in Chicago for Hacktoberfest 2019. I was nervous going into it because I didn’t know that to expect or what the type of crowd was going to be. It was my first time attending a meetup in the city and I was so grateful for the experience and the people I met. I’m so glad that the people I met and the overall experience was memorable and a positive experience.
Before coming to this meetup I had no experience with open source projects.
I can see now that it’s not only important to contribute to these projects aimed to help people from different areas of the globe, but it was also fun! The community, atmosphere, and overall vibe of the event was welcoming and warm. I worked on a project called Bark Park and it’s a web app that helps dog owners find and/or save dog parks to visit. I contributed to fixing a small bug in the CSS and what it, and the rest of my experience, taught me was what I wanted to share here today.
What is open source?
“Open-source software (OSS) is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose.” — Andrew Laurent
Open source projects have been released to the public for anyone to use. Its purpose is to allow people solve problems together and help each other grow and develop tools and skills. All these projects are protected through legal documents and licenses. You can easily google what licenses there are and how to add them to your projects, usually hosted on GitHub.
Why is contributing to open source projects good?
There are some obvious reasons why contributing to open source projects, but there are also some reasons that people are not aware of that definitely is a beneficial side effect.
The first reason I can say why contributing to open source is good is because you join in with a vibrant, compassionate community. These people have a heart for helping others and they are wonderful people to connect with who want to make a difference in their communities. When you give your time and skills to further a project that helps others, it empowers you and gives you a sense of accomplishment.
Another reason is that it is a wonderful way to sharpen your skills. When you see how other people write code and how they organize their files or even the syntax they use, you grow. You grow because you see a different perspective of how people think and you either challenge their thinking and solidify what you know, or (most likely and is far better) you challenge your own thinking and you shift the way you write code. When you put a project online for others to see and share improvements, you fill in a gap in your knowledge and your skills level up. When you share improvements to that project you see and connect with, you improve still because you learn to adjust to the already established code and you gain a different way of implementing your own code into a project.
A reason often overlooked is that you improve on your soft skills. When you contribute to a project, working with others is a given. If you’re the one leading a project, you learn how to delegate work, resolve conflicts on a topic and also how to lead others in the roles that they desire to be in. If you’re the one contributing, you learn to ‘read the room’ and how to professionally contribute to a project by adhering to the guidelines already set out. It’s also nice to see how other people manage their projects and you gain insight on how to manage your own also.
How do you contribute to open source?
One thing that was emphasized at the Hackathon that I joined was that you dont need to necessarily contribute code in a project. There are so many other ways to contribute. Here are a few:
- Update the documentation. This one is big. Improving the way the docs communicate the code is a great contribution. You can also create tutorials on how to use the app, if that’s something you are interested in. Even translating the code into another language is something that is extremely beneficial
- Upgrade the design of the project. You can work on creating a style guide for the project. You can work on creating logos, branding for the project, or even creating t-shirts and/or hoodies for the project. You can work on the feel of the navigation or user interface for the app and improve the project that way.
- Lastly, you can improve on the code for the project.
Assuming you are already familiar with Git and GitHub, you can contribute to the project through helping with the established issues in the “issues” tab of the project or contribute something totally new.
Every project details their contribution process differently, but usually you would:
- Fork the project
- Push all your updated code to your forked project’s branch
- Create a pull request in the original project and detail what you did
Simple!
Conclusion
Don’t be intimated or scared when contributing to open source projects. There are so many projects that need your specific set of skills and in need of your contributions. I hope that I was able to shed some light on the process and I encourage you to go and contribute to an open source project today!
