The Importance Of Contributing To Open-Source

As developers, we have our work cut out for us, it’s not easy designing the software of the future with the expectations that are put on that software. One thing that many developers take for granted though are all the libraries, extensions, etc. that can be used in production software for free.

As an Android developer, it’s as easy as finding a view you like and putting the dependency in gradle — then start adding it to your app! But where do these things come from?

According to The 2018 Stack Overflow Survey, only 40% of developers contribute to open source projects. I think this number should be much more in favor of contribution.

Why Contribute To Open Source Projects?

1. Giving Back To The Community

We as developers are a community and it’s always amazing to see how everyone contributes and helps each other to solve problems! Open Source projects found online provide tools for developers to solve their own problems, it also provides a way for people to learn from the code and how it works.

2. Improving Your Coding Skills

As a self-taught Android Developer of 4 years, I remember having the mentality “I don’t need to comment all my code or follow strict coding standards, no one else is gonna see my code except me!” Turns out that there are a lot more reasons than that to follow good coding standards. Open sourcing provides a great way to learn to code better as you have to design an API that is easy to understand and use, as well as appropriate documentation. Coding with these priorities in mind made me realize how important code design and coding standards are; open sourcing really enforces those in your code and is very educational.

3. The Satisfaction Of Someone Else Using Your Code

No matter what the scenario, it’s always an amazing feeling when someone tells you “Wow! That’s a good idea!” Open Sourcing provides a way for a developer to share their ideas and it’s a great feeling when others find them useful as well.

How To Get Started?

A few months ago I posted my first open source project LinkPreview after one of my college professors nudged our class to consider contributing to open source in some way. I got started by looking at my personal projects, in this case, my text messaging app Texpert, and thought about what parts of it might be useful to others and would be easy to open source. I found that not only was it a lot of fun learning how to open source an Android Library, but it was very helpful as I can now use this library in other projects as well and don’t need to maintain the code in each place. Another great way to contribute is to find an open source project that you already use and work on that one; whether it be through making an issue, a pull request, etc. Overall, this was a very enlightening experience and I hope to create more open source projects in the future. Hopefully some of y’all will feel inspired to start contributing as well.