Ask HN: How to get started with open source contribution?

5 points by 8ytecoder 5 years ago

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'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's the typical timeline by which you feel like you are being productive?

gurpreet- 5 years ago

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 5 years ago

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/ 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/

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

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

  • dsumenkovic 5 years ago

    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.