
Ask HN: How do you start contributing to Open Source? - devilmoon
Hey all,<p>I am currently doing my masters and already have some work experience under my belt, but I would like to start contributing to the Open Source community (also because a lot of top companies hire also based on your contributions).<p>However I don&#x27;t know how to start, and I don&#x27;t mean that in the naive way &#x27;how do you use git&#x27;. The problem I face is that I don&#x27;t know how to find a project I could realistically contribute to and how to find stuff that needs to be done in that project so that I can try to tackle a problem.<p>Do you have any pointers? How did you start contributing to OS (if you do)?<p>I hope to spark an interesting discussion so that less experienced computer scientists&#x2F;programmers know how to start building ties with the community!
======
EnderMB
I have tried to contribute to open-source in the past, but have found the
barrier to entry to be too great for me to make a meaningful contribution
outside of "I want to contribute". Even friendly communities that welcome
contributors (in my experience, Umbraco) have strict (and at times unwritten)
rules on how to contribute, and whether a contribution will be accepted by
someone "not known".

In the past I have contributed code to a few open-source projects, but purely
on:

* Small projects with a single owner.

* Projects I actively use and require.

* Projects where I have found a bug that might not be fixed if I don't contribute.

This approach has worked nicely for me, and has allowed me to work on a wide
range of tools, from Azure blob storage log providers in C# to a popular
Twitter scraping tool in Node. Each time I have been thanked for my
contribution, and each time my code has contributed to a new point release,
and ultimately that's what it's all about. I won't be able to brag about being
a core contributor to a major project, but my contributions are being used by
real people on real problems.

In short, I'd suggest not actively looking for a mainstream project, but any
time you decide to use a Node package or a CLI tool, take a quick look at
their GitHub repo and see how it is being maintained. If there are outstanding
issues, try replicating them and see if it's possible to help.

------
fundamental
Start small (i.e. really small). Find a smaller project that you use and find
something trivial to add like spelling corrections or simple documentation
enhancements. This should help you get started with the workflow of
contributing.

Once you're comfortable with that, then consider fixing a small bug you have
encountered or adding a feature that you've been wanting. If you know the flow
of things, then the chances of the change getting accepted are much higher.

I started to contribute to OSS quite a while back helping with simple support
questions for a small distro and then I got involved in the coding side of
things when one program I was using started to have issues compiling due to
bitrot. Now I'm on the other side of the equation trying to get new
individuals interested by showing the sorts of roles involved in the project (
[http://zynaddsubfx.sf.net/contribute.html](http://zynaddsubfx.sf.net/contribute.html)
).

------
siquick
Mozilla has a good starting place

[https://developer.mozilla.org/en-
US/docs/Mozilla/Developer_g...](https://developer.mozilla.org/en-
US/docs/Mozilla/Developer_guide/Introduction#Find_a_bug_we've_identified_as_a_good_fit_for_new_contributors).

------
digianarchist
Homebrew [0] is a good project to start with - there's always something that
requires updating or has many requests. It's a good way to get started.

[0] - [https://github.com/Homebrew/homebrew-
core](https://github.com/Homebrew/homebrew-core)

------
jsntrmn
I just asked myself this question quite literally yesterday. In my search for
an answer, I stumbled upon CodeTriage. You pick a language with which you're
comfortable and a project (or two) that utilizes that language and CodeTriage
delivers GitHub issues to your inbox. It takes a lot of the guesswork out of
knowing how to jump in.

[https://www.codetriage.com/](https://www.codetriage.com/)

------
utam0k
In the beginning, I was doing corrections of documents, addition of test code,
etc. I think Mastodon is easy to do it if you have been written Ruby or Ruby
on Rails.
[https://github.com/tootsuite/mastodon](https://github.com/tootsuite/mastodon)

------
thedevindevops
Open Source something you've written, then contribute to it

