I recently made my first pull request into an open source package. I was able to add YAML and XML driver support to a package that provides Doctrine ORM as an alternative to Eloquent ORM in Laravel. While doing so, I gained valuable insight into open source software, and how it can help you and others.
Here are five reasons that I've found to contribute to open source.
Enhance Your Career
Many of the best places to work will often check to see how passionate you are about programming. Saying in an interview that you are "passionate about coding" is one thing. However, when interviewers can link to your open source contributions, they are able to see that you are passionate. It becomes more obvious when interviewers can see that you spend some of your spare time contributing to projects that are important to you. In addition, it allows you to have some code samples at the ready. These samples show your ability to learn how a project works, and to build on top of it.
Make A Difference
Open source software exists to solve problems. There is an open source project for most common issues that developers face, making solutions to common complex issues relatively easy. You can make a difference by being a part of a project that will help other developers solve problems that you have already solved. This helps push forward technology and helps developers focus on making new things instead of solving the same problems.
By working with open source code that is already written, you will most definitely gain experience. I recently looked through Doctrine ORM's base code, and it has given me great insight into different ways of programming that I might not have thought of before. In addition, in professional programming (especially in software), you often have to work with other developer's code, in order to make changes and extend the functionality of your project. Open source development gives you a chance to experiment in a less-risky (IE you won't be fired) environment, while also getting feedback from developers who probably are able to give you new programming tips and paradigms to use.
Work On Interests
Not all of us are fortunate enough to be able to develop software for something that we enjoy. For instance, I enjoy working on music in my spare time, and so any programming that I do related to music is almost a bonus for me. Find some projects that are of interest to you and work on them. Working on projects that interest you can give you a boost of inspiration and help you learn more.
Most developers have made use of an open source project at some time or another. Whether it is your database, your framework of choice, or different tools to make your job easier, you probably use more open source code than you think.
Contributing gives you the opportunity to give back to the developer community, because the truth is that we are all in this together. By contributing to open source, you are able to continue to push the ball forward for yourself and other developers.
Have you contributed to open source software? Are you looking for contributors for your project?