Contributing to Open Source projects ("Good First Issue")

Hi all. My question is simple, and any ideas/feedback would be greatly appreciated:
How did you start contributing to Open Source projects (regardless of it being on a popular platform like github/gitlab, or in some other capacity)? What switch clicked in you mind that got you to overcome that existential dread?

I am well aware of the “good first issue” sites/initiatives. At work I don’t hesitate to explore/patch endless numbers of modules/repos written in various languages and frameworks. Yet, I can never apply “the extra step” and start actively contributing into FOSS projects. Not even something trivial like a documentation change.

1 Like

For me, it was fixing typos. That sounds super trivial, but it goes through the same chain and it gets included in the product pretty fast normally. So there was some instant gratification of having contributed to something I like.


The dread I do not doubt, but the dread of what? Once it is realized that “they can’t eat you” …

There are ways to contribute to open source anonymously, or at least make it a bit more difficult to track back to you personally. Make a throw away e-mail address, etc.

While it is unlikely someone is going to ridicule you for a mistake made while contributing, if it happens, then perhaps you have identified someone that you probably don’t want to associate, so kind of a win on your side. Now you know.

Sometimes I contribute to projects under a pseudonym, and that is fine. Perhaps this will give you the freedom to “Role-Play the OSS Contributor” until you feel comfortable enough to do so for “real”.

1 Like

From a slightly different perspective, one of the things I’m currently trying to do for our language, Unison, is try to help increase the number of new or first-time contributors, so I’m also trying to figure out how to reduce the existential dread phase of working in open source! :smiley: I’m trying to do things like live-streaming/writing journalistic walk-throughs of the OSS contribution process so folks can see someone working and struggling “live” to break down the mystique of working with our codebase. I guess one thing I’ve realized working for an open source tool is that we really don’t have enough people to do the work we want to do. Before, when I was on the non-open-source developer side I’d see contributing to open source as a kind of induction into a club or a judgement, but now I just really want people to help us, haha!

There are multiple ways of going about it, but how I started was:

Something that is “easy” to start is just something small and easy to fix.
An example can be that I forgot the self. in a stub file and Erik sent a pr which fixed it: Update (#325) · exercism/crystal@ee48c56 ( Not saying that Erik is a new contributor on exercism, just saying that if you notice something like that it is a good starting pr. Another example is that some tracks use skip tags on the tests; sometimes there could be a mismatch. Another thing you can do is look for “broken” links, an example is that the swift website moved around stuff so it made the links that linked to specific parts of a page not link to that part, so I replaced those links with updated correct links.

After doing the first “pr”, I recommend either talking to the track maintainer(exercism thing, in other cases, talk with some maintainer on the project) and asking what you can help with. Or go through the “issues” tab and search for the tag “help wanted” and make sure there is no one assigned to those prs.

For now exercism has a bit of a pause of contributing to some tracks, although I can tell you that if you have experience with crystal or is willing to learn crystal, so do I have some stuff that I need help with over on the crystal track.

Otherwise are there other languages that search contributor, like Unison.

1 Like

I have no idea when or where my first contribution was. GitHub says I pushed a PR to newsletter in 2011 then run it in 2015. Most of my early PRs were me using a tool I liked and finding something I thought could be improved without too much work. So I made the change and submitted a PR. That’s similar to how I started contributing PRs to Exercism: I was using the site, found something I thought I could improve and sent a PR. GitHub indicates I’ve got 135 PRs on that platform.

Like @vaeng it was typos and spelling errors. Exercism on the change from v2 to v3 wanted to standardize all its spelling to US rules. So I ran aspell and the like over the Exercism docs and raised some PRs. Not my preferred spelling by any means (I sympathise with an “s” @iHiD) but it got me going. Then I took on the maintenance of the vbnet track and the rest is … well, yeah, let’s not repeat that cliche, okay?