I believe open source has been one the best thing that has happened in software. Just imagine if open source didn’t exist. We would not have Firefox, VLC player (my favorite video player), VSCode, Android, Linux (which powers the majority of servers around the world), and many other important software we use everyday. We would have to pay a huge sum of money for most software. That sucks.
But open source has changed this. We now have many free good alternatives to choose from. It is even easy to request features that we think are important. If maintainers see that it is indeed needed, they would work on it.
Using open source software is awesome, but the real power comes from contributing to the project itself.
What are the benefits of contributing to open source projects?
When you contribute to an open source project, you will feel that you have completed something meaningful. Last year at this time, I contributed to an open source project called Spectrum Chat. It is a platform for creating online communities.
I really loved the platform, and because it is open-source, I thought to myself, “Why can’t I contribute to this project?” I went to the project’s Github repository, forked the project, and looked for issues to work on. I did find a feature request issue, and whenever I have some time, I would work on it. It took me some weeks before my pull request was merged, but when it got merged, I was thrilled and overjoyed. I felt I have accomplished something big, and I was so proud of it even though it was just a simple modal 😁. It is nice to see your name in the list of contributors.
If you have just graduated from school without any experience, contributing to open source projects is one of your best moves. You will gain real world experience from experienced developers. You will learn how to use the tools and platforms that are being used by companies. You will learn how to write quality and that is easy to understand and maintain. In short, you will learn the skills that will make you employable in the future.
Most open-source projects require you to work remotely. Your main form of communication will be through writing comments in Github issues, pull requests and email. The developers may come from anywhere around the world, and you may not have a chance to talk in real time. This means that you will have to learn how to communicate your thoughts and ideas clearly.
We can improve our coding skills by contributing to open source projects. Making a contribution to the code requires you to understand the codebase. You will need to know how to navigate in a large codebase and how the different parts work together . You will have to read the codes other people have written. By reading someone else’s code, you will see other developers’ solutions to problems. You may come across best coding practices that you haven't come across in your regular job. You may also learn how to use tools, platforms, or frameworks that you are not using at work. The benefits are many.
Adding code to the codebase of an open source project is just one way of contributing, but there are many other ways of contributing. Maybe you can write. Consider helping out with the project’s documentation. Do you know other languages? You can then provide translations. Do you like testing stuff? You can also give a hand on testing. Do you have money? Your donations will really help developers continue working on projects. Remember, there is nothing too small. Any good contribution will add value to someone.