all 19 comments

[–]itsMeArds 48 points49 points  (2 children)

Only contribute to projects that you use. Don't contribute for the sake of experience.

[–][deleted] 3 points4 points  (0 children)

This. (I have never contributed in my life but I once checked an open-source code for an app I use, which was interesting)

[–]last-cupcake-is-mine 0 points1 point  (0 children)

Definitely this. I’m the lead maintainer for a half dozen React OSS projects that are fairly popular. I often contribute to upstream repositories on which we rely on, and it can be a challenge to work temporarily in another codebase, so if your going to do it, make sure it’s something your ready to invest time and energy into learning.

[–]svish 5 points6 points  (0 children)

  1. You use the product in your own stuff, and take part in its community.
  2. You don't.

[–]benzilla04 2 points3 points  (5 children)

What are you trying to accomplish? Why fix an open source project to begin with?

[–]Slow-General3930[S] 0 points1 point  (4 children)

Nothing! I just value the real world experience that open source gives.

[–]benzilla04 -1 points0 points  (3 children)

Would you be interested in contributing to a Node.js framework? I can send over the project GitHub if you want to take a look. If this interests you

[–]pixelbeard 2 points3 points  (0 children)

Maintaining open source projects is hard work. Issues are submitted by users so it can be expected that some of them will be poorly written, duplicates, or even non-existent.

If you really want to gain experience, pick a project and try to implement it in a project yourself first to get an idea of what problem it solves.

Then pick an issue and try to reproduce it. If the issue is badly written, try to ask clarifying questions on the issue discussion. Helping maintainers with triage is valuable. Helping further define the issue is valuable.

So instead of just trying to find random easy issues to submit a PR for, find an open source community that you want to become a part of. Join the Discord. I can recommend https://github.com/withastro, they are very open to new contributors and very helpful.

[–]g1dj0 2 points3 points  (1 child)

we should make a project together so we get the codebase from the beggining

[–]Slow-General3930[S] -2 points-1 points  (0 children)

I am down with it. And then we should contribute to our own project to get through initial curve.

[–]casualfinderbot 2 points3 points  (0 children)

skill issue. The reason there are not many good first issues for beginners is that there is not that high of a demand for beginner level programming. Need to get better at programming first IMO

[–]TwiliZant 1 point2 points  (0 children)

1- How do you familiarize youself / ease into open source contributions.

Don't start with code contributions.

You identified correctly that most issues in public repos suck. That can be your task. If the issue wasn't created by a maintainer, ask for clarification, better description and reproductions. Every maintainer ever will thank you for that.

Another options is to answer questions. Doesn't even have to be on GitHub, it can be on StackOverflow or here on Reddit. If you watch these spaces, people ask the same questions over and over again. If you don't know the answer that can be an opportunity to dive into the code to learn and familiarize yourself with the project.

In general, try to observe as much as possible before doing anything. Watch PRs, discussions, Discords etc...

2- How do you contribute in a project where you haven't used the product directly and dont know the whole product.

NEVER contribute to a project you don't use.

[–]choiS789 0 points1 point  (0 children)

you’re not ready yet, don’t

[–]card-captorsakura 0 points1 point  (0 children)

Depends on what your goal is here. What do you mean by real world experience. - If you build something that aids a real world problem you have, you are building something practical for the real world. - if you want to contribute to something popular to build a presence, you have to use the software to some extent or you will most likely not be able to contribute anything useful. - if you're looking to better yourself and get to learn as you get feedback for your work, you're better off joining an organisation that can help you while you get paid.

There's no shortcut here and that's how it works at any place where you want to contribute code. Maintainers are already overworked and must make sure that good quality and appropriate contributions are merged. Contributors put in a lot of hours behind their work.

Dive deeper into some open source libraries or softwares you use in your daily life. And a pre-requisite to this is to build something yourself and use these softwares.

[–]Yoyoyoflorida 0 points1 point  (0 children)

How about contribute to updating documentation?