Contributing to Open Source - Final Week
January 17, 2022This post marks the end of the Contributing to Open-source phase of the Encora’s Apprentice Program. It was five weeks of hard work, learning how to communicate with people around the world, how to read and understand quickly other people’s big projects, and getting a feel of mostly how day-to-day work is when working as a Software Developer. I learned a lot, and most importantly I had fun doing it. I am certain that I will continue contributing to open-source projects in my spare time, because I believe in always sharing your knowledge, and these projects are used by many people so indirectly you are helping a lot!
This week I had the opportunity to work on another issue in the deltachat project. To give a little context, the deltachat desktop application provides an UI similar to an instant messaging application but behind-the-scenes it works using the email protocol. The issue is related to creating chat groups, where you could only add existing contacts to the group and not create one at the moment; to learn about other issues I worked on please refer to the previous post
It was a fun issue to work on, the add new contact logic was already implemented in another part of the application so I had to import it where we wanted it and adapt it to better suit the new context. I had a few problems because there was another function that did a similar job of finding contacts but it didn’t had the logic to add them, so I had to juggle between the two to make it work: if the function already in place didn’t find a contact with the given search query, then the new function was used to add the new contact. I also struggled with updating the list of contacts after a new one was added, so I had to learn how to trigger events manually in React (specifically, the onChange event in input elements).
Also, working on a previous issue I learned that Facebook blocks access to social plugins on external websites for certain regions (EU for example) unless you specifically request access via your account settings. It’s weird but considering the privacy issues that have arised in the past few years, because of social trackers, then it doesn’t seem so out of line. It can be awkward to implement it in an application where only certain kind of users will be able to see a feature (in this case, the like button), so I’m waiting for feedback on the maintainer to hear about another point of view.
In the end, it was an enriching experience and I would totally do it again if I had the chance (work all month on open-source projects), but as I mentioned before, realistically it’s something I aspire to do in my free time. Helping others is part of every profession, not just Computer Science, and I am happy to have an easy and fun way of doing it. You can also try it yourself, the Hacktober digital event is an excellent introduction! As its name implies, it happens every October, but even if it’s not live the website provide lots of useful resources to help getting started on open-source contributions.
I am excited to begin the next phase, but I will not talk about it until the next blog post.
Happy contributing!