Reporting a problem in an Open Source project is as important as contributing code
Newsletter about software engineering, team management, team building, books and lots of notes I take after reading/studying (mine or yours)… :D
I constantly hear people saying that to contribute to an Open Source project you need to be able to program very well, have a lot of knowledge, be able to handle code criticism, etc.
I see the above statements as excuses and focus in the wrong place.
In the last few months, I haven't had as much time to contribute to open source projects as I like (writing code), but that didn't stop me from contributing. Actually, the lack of priority (not lack of time) has made me contribute by reporting problems that I run into in the projects/software I use in my day-to-day life and this has been more work than writing code with a defined specification (issue that someone invested time detailing).
Generally, reporting a problem is not just opening an issue exposing the back trace, we need to understand what generated the problem, so the person who helps to maintain the project can reproduce it "locally" (in the development environment) to think of the best solution without breaking other existing features in the software.
How do I write a very detailed issue?
Whenever I am communicating with someone, I assume that everything that is obvious to me is not so obvious to the person and I put as much context as possible in the conversation, helping the person to make the best decision.
When I am opening an issue it is no different, I will describe the problem to the person who will read (solve) it, not to me, i.e. everything that is obvious to me is probably not obvious to other people.
Code is important, but not only code
Open Source projects exist to solve problems and are made by people for people, investing time in opening a detailed issue demonstrates that you care about the project and empathize with the people who are helping to maintain the project.
Avoid leaving to report the issue later, you will probably forget important details.
this blogpost came up after I reported an issue in a project and the first comment was from a person saying he had run into the same problem "yesterday". what came to my mind was: why didn't the person report this issue yesterday?
Query that I am constantly following on GitHub to keep track of the issues I opened, looking today there are 1.1k issues in public repositories.