First contributions to Open Source

Omar Morales
3 min readDec 13, 2020

--

This week has been interesting, because I have managed to make two contributions to Open Source and I am proud of that, but I still have a challenging time understanding and solving the issues of the projects. But every time I feel more comfortable because although it seems difficult (yes, it is), every day I feel more capable of taking an issue in a project and solving it.

Hurry up, take an issue!

It has been a challenge for me to choose an issue, because having too many I fall into the premise of “if I keep looking, I will find something better for me” and this is misleading and tiring because the more options we have we feel more trapped, because choosing one thing among 100 objects implies rejecting 99. Did I explain it well? Maybe if I only had a single issue to solve, I would start to investigate and solve it, but having too many it becomes difficult to choose one.

Communication makes a difference

When you decide to carry out an issue of an Open Source project, most of the time the information presented in the issue does not contribute as much or does not solve the doubts that are had.

The magic of knowing how to communicate. I am still learning about communication and how important it is in software development; I have especially come across an issue where there was something that I did not understand and investigating I could not reach the solution. I stopped fooling around and asked how I could replicate the error that was being presented to that person. They answered me in such a perfect way that it was enough to finish understanding the solution I was about to carry out.

Results

The satisfactory results have been that I feel more comfortable choosing and solving an issue from my primary stack (Java). I still have many things to improve but I have learned a lot about Open Source and how to understand the contributions that projects ask for.

The bad experiences that I have had in this phase are specifically two. The first is to find an issue on my secondary stack (JavaScript), I have struggled a lot and I have not found anything with which I feel capable of solving. The second was on an issue that I was working on, when I decided to do the pull request, I noticed that one of the people in charge of the project had made a pull request a minute before. I got a little angry because even though he was assigned to the issue, it was labeled as a good first issue and he was already one of those who contributed the most to the project. In the end I saw that the issue did not need a tremendous change and that surely it would not have worked me as a contribution.

Using org.awaitility (Today I Learned)

This java library is used for awaiting or delaying a thread but with a condition. For example, it is not “wait for 10 second” like a fixed time. Instead, you can code “wait for at most 30 seg but if the condition become true earlier, stop waiting”.

await().atMost(10, TimeUnit.SECONDS).until(myCondition::isTrue);

I’m learning about this library because in one of mi issues I need to use it and have never heard about Awaitility. But there are a lot of ways to handle a delay with this library.

--

--

No responses yet