I am really grateful that I have managed to contribute to a few open source projects, including the ones that I currently use on a regular basis: Ruby on Rails and React. My contributions are very minor fixes, and suggestions, and may not be that much worthy of the praise, but I want to use this article to inspire you to go and make your own contributions as well.
One of my core values is contribution and helping others. That’s one of the reasons why I love to write articles, and also contribute back to the very projects that I have benefitted from over the years.
Although major frameworks that are largely used have gone through tons of reviews and careful analysis over the years, there is always room for improvement or addition. This means that you are not only able to fix bugs, or improve something that is already implemented, but you can also implement new features as well.
Why contribute to famous open source projects?
Before we continue explaining how you can contribute to famous open source projects, it is probably better to start mentioning the reasons why I believe it is very important to participate in such endeavors.
1. Learn from the very best
Famous open source projects like Ruby on Rails, React JS, Spring, etc., have been used by a lot of projects. They have made countless developers’ lives a lot easier.
Since they are products of many brilliant minds, analyzing their code and trying to make improvements can be a tremendous source of learning.
You will not only better learn the frameworks and libraries that you use, but also some of the best practices and timeless principles that make these projects really great. You can then apply these lessons in your own work as well.
By trying to do contributions, you are more likely to learn a framework better, in comparison to someone who only uses it. In a 2016 report conducted by the Linux Foundation, 86% of technology professionals said that open source had helped them in their careers.
2. Have a major impact
If you have been working on small projects that have not had much attention, then contributing to famous open source projects can give you the opportunity to have a larger impact.
By making such contributions, you are potentially going to have a major impact with the work that you do, which can be a very fulfilling experience. No matter how small your contributions are, you are also going to have a feeling of significance, simply because you know that your work has made that project that you love a little better.
3. Boost your reputation
If you go to the list of contributors to your famous open source projects, you may spot a common pattern. Top contributors are usually developers that are working for big companies, or on large projects.
As a result, making important contributions to such projects can be difficult, simply because these developers may have already finished implementing a particular feature really well. This means that entering into that list represents a noticeable demonstration of your skills for a recruiter that is looking for a new developer.
This also means that you are also more likely to receive better job offers, or higher consulting session rates. Companies are always looking to hire bright and skilled developers that are experienced on open source projects, and there are only few better ways to demonstrate your knowledge about a framework than to actually write some of the code for that project.
How can you contribute to famous open source projects?
Now that we have mentioned three major reasons why I believe it is worth contributing to famous open source projects, let’s see how you can do that.
1. Understand how things work
Curiosity may have killed the cat, but it also helped Taylor Wilson become the 32nd person in human history to achieve nuclear fusion at the age of 14.
Similarly, if you want to contribute to famous open source projects, you have to understand how things work behind the scenes. You have to be curious to understand the implementations of a particular function, or how routes invoke a particular controller. This way you may also be able to spot strange things that you can improve, or implement a more efficient method for a particular task.
The more you understand a framework, the more you tend to like using it in your projects, as we may usually get away from the unknown and from the things that are not clear to us.
Check the reported issues
Issues may represent bugs, concerns, or simply suggestions that other people have noticed or that want to express regarding a project. They also represent a great source of contribution ideas that you may use as inspiration.
Look at the issues of a project that you can to contribute to, and make an assessment whether you can contribute to them or not.
Although some issues may seem very difficult at first, you should not be afraid to try fixing a bug, or implementing a new feature in that framework. You can also use it as a way for you to learn new things, expand your current limits and go out of your comfort zone.
You can also ask questions for more clarity about the issues, and contribute with your answers to other people’s questions.
Do not ignore small things
You may suppose that famous open source projects have very few opportunities left to contribute to, so maybe you tend to give up on the idea about contributing.
Even though that’s not the case, there are some frequently neglected responsibilities that you can take when it comes to open source projects. Aside from code, projects also need writers to help with documentation, translators to convert locale files into other languages, and also designers to make interfaces more intuitive and attractive.
You do not have to write the whole documentation, or translate everything into another language. You can simply start something you believe is worth being included, and then also ask for help for the improvement, or simply push your minor changes and ask for feedback by project maintainers.
You can also contribute by writing tests, or fix the ones that are already failing, or create new issues about bugs, and also answer the questions that people have asked on existing issues.
There is also another indirect way that you can contribute to open source projects.
That is by sending greeting letters to maintainers and thanking them for their time and the work that they are doing. Most of them contribute to open source on a volunteer basis, so thanking them can make them aware of the importance of their contributions. This way, you are making them feel better about their efforts, and also inspire them to continue with their contributions.
Conclusion
Contributing to famous open source projects is something that anyone can do.
The key is to be patient, as it may take some time until you find something that you want to contribute. You should also have fun and enjoy the process. After all, this is why Linus Torvalds titled his book “Just for Fun”, in which he describes the story of how he created Linux.