
Ask HN: How to get started with open source contribution? - 8ytecoder
What is the best approach to getting started with open source contribution? It feels a bit intimidating to think about where to start. First of all, how do you pick an area to contribute? Do you go with something that&#x27;s related to your field of expertise? Is it even feasible to instead pick an area that you want to learn more about? Do you jump straight in and start fixing bugs to get started? What&#x27;s the typical timeline by which you feel like you are being productive?
======
gurpreet-
In my opinion, the first thing you should do is write down a list of things
that you're really passionate about. Is it languages? Then find a language
based repository on GitHub/GitLab. Is it networking? Contribute to a project
that interfaces with HTTP.

 _" First of all, how do you pick an area to contribute?"_

I can see from your submissions history that you are interested in AI and some
machine learning. Those two somewhat related fields are fields that are hot
right now so finding projects on them will not be difficult. You don't need to
join a super large or complex project, it could be as simple as contributing
to a series of tutorials on machine learning.

 _" Do you go with something that's related to your field of expertise?"_

Do you want to learn something new? Then find something that's not related to
your field. Otherwise if you want to solve a problem in your field of
expertise, then sure go with your area of expertise.

 _" Is it even feasible to instead pick an area that you want to learn more
about?"_

Yes, but it depends on the area. If it's developing an operating system, then
be prepared to do a lot of reading beforehand before you even think about
contributing. Project maintainers who are in charge of behemoth sized projects
(such as those in charge of maintaining an operating system) tend to have
little to no time to field questions. Whereas small projects and their
maintainers have ample time and, in fact, would love to answer questions about
their projects.

 _" Do you jump straight in and start fixing bugs to get started?"_

Personally, yes I have if it solved a particular irk I had. Although, I would
first open an issue and detail what you plan to contribute. Then send a pull
request.

 _" What's the typical timeline by which you feel like you are being
productive?"_

Typically, a few months in I became really productive.

I would also suggest creating your own project rather than contributing to it.
But be selfless and open-minded with it. Allow contributions and let people
criticise it - it's all part of the learning experience. Helping other devs
never feels like a chore and actually ends up being enjoyable.

The best thing about open-source is that I felt like I was contributing to
something bigger than me. That my projects can and may live on long after I've
gone. When you receive your first issue or pull request it gives you a sense
of happiness that people are using something that you created. For me, that is
one of the best feelings ever.

------
dsumenkovic
Hi, I think these are the questions we all asked at a certain moment and
everyone's experience was probably similar but also very specific and
different. I started contributing to GitLab [1] and it was probably the
easiest thing to do since you can even fix the simple typos on the website,
handbook, blogs and that's really appreciated.

Another cool thing for me was the fact that you can use GitLab to contribute
to GitLab [2].

It would be best to pick the topic you are most comfortable with (e.g.
frontend HTML/JS) and after you dive in you'll definitely discover many other
interesting areas you want to learn about.

You should definitely check out
[https://about.gitlab.com/community/contribute/](https://about.gitlab.com/community/contribute/)
for more info on how to get started with contributing to open source. Feel
free to join the Gitter room [3] and leave your questions in the chat.

Small note: My contributions led me to a job at GitLab, all the effort was
seen and acknowledged and that made me feel really amazing! :-)

[1] - [https://about.gitlab.com/what-is-
gitlab/](https://about.gitlab.com/what-is-gitlab/)

[2] - [https://about.gitlab.com/2015/07/07/how-we-use-gitlab-to-
bui...](https://about.gitlab.com/2015/07/07/how-we-use-gitlab-to-build-
gitlab/)

[3] -
[https://gitter.im/gitlabhq/community](https://gitter.im/gitlabhq/community).

~~~
dsumenkovic
Almost forgot to mention when you open the Contribute to GitLab link, under
the Development section number 3. you can find out how to choose an issue
that's most suitable to you.

