I was introduced to programming in high school while taking a computer-based math course in my sophomore year in high school. Unimpressed with learning Visual Basic to solve math trivia, I did not pursue this as a hobby after that. I was re-introduced into programming 10 years later when I had an idea for a mobile application built that application exclusively using free open source libraries.
Thanks to these open source libraries, I was able to realize my goal of building an idea in ~6months. Not only were these libraries useable, but they were also open and viewable to all willing to peer into lines of code.
*According to the annual BlackDuck open source 360 survey:
- Open source is now present in IT workloads in 90% of organizations
- Sixty-six percent (66%) of companies surveyed now contribute to open source projects
- Of 1,071 applications audited throughout 2016, 96% contained open source
Today Open Source is ubiquitous and comprises nearly 80% – 90% of the code in a “typical” application. Based on GitHub’s 2019 Octoverse, the average project is built on ~180 open source packages of dependencies. There is a need to use Open Source to stay competitive, but what about the need to use open source to advance your career?
According to the annual Linux Foundation/Dice Jobs Report (300 hiring managers and 1800 open-source professional surveyed):
- Demand for open source professionals is increasing rapidly
- Eighty-nine percent (89%) of hiring managers say it’s difficult to find open source talent
- Sixty percent (60%) of companies are now looking for open source full-time hires
- Sixty-seven percent (67%) of managers say hiring open source professionals will increase more than other areas in the next 6 months
I have used open source to build my career and grow new skills as a programmer, but I rarely contribute back to the projects I use. Though embarrassed by this, I realize I am not an anomaly, there is a clear deficit in the individuals contributing to open source compared to those using. This problem has grown to be a big enough issue that maintainers of projects have turned to tools like Patreon to cover their costs while they maintain their projects full-time, the same projects that support the web presences of the largest corporations.
Knowing the clear need for open source and the need to support projects in the community, you may very well have an interest in contributing yourself. So where do you start?
If you are absolutely brand new, consider going through Kent’s series, How to Contribute to an Open Source Project on GitHub. If you are familiar with the basics there are tools like CodeTriage to find open issues for projects you are already familiar with and use.
Finally, there is a tool, I have built to support my open source contributions and triaging. I tend to have extra time to learn and contribute in ebbs and flows, so there is a cap to the amount of time I have available to contribute back. For that reason, I created Open Sauced, a tool to find and manage my next open source contribution with the time I have available.
I do this by leveraging my project to track my contributions and future contributions in a unique dashboard built on top of the GitHub GraphQL API. The decision to use GitHub as a backend is intentional since doesn’t require me to store user data and allows to take advantage of the platform where open source happens.
I would love feedback on the project and encourage you to sign up and start tracking contributions today. You can find the project at opensauced.pizza.
Finally, if you are interested in watching me stream while contributing to open source -- follow that story on mutualfun.io.