Thanks for the question, I wrote about this in a post before: https://medium.com/@hzoo/ossthanks-some-thoughts-d0267706c2c6 I was inspired by a bunch of projects like khan academy, d3, bootstrap, etc. But Jonathan Neal was the one got me to intentionally look into contributing into a project (https://github.com/angular/angular.js and then http://jscs.info/). BTW, You can use https://github.com/pulls?q=is%3Apr+author%3Ahzoo+sort%3Acreated-asc+is%3Aclosed to check someone's PRs Technically my first PR was https://github.com/Khan/khan-exercises/pull/10765 (not merged since I didn't rebase correctly and didn't understand git at all). My first PR to JSCS (the first project I eventually contributed regularly too and then became a maintainer for) was https://github.com/jscs-dev/node-jscs/pull/677 to update the table of contents. My first PR to Babel was https://github.com/babel/babel/pull/932 to add ES6. Thus all of my first PRs were very simple: typos, changing docs, basic refactoring/reformatting/updating tools. This is probably part of the reason why I got interested in the tooling side of things and wanting to automate a lot of it (especially autofixing which lead me to work on JSCS)