Outreachy provides remote internship under Free and Open Source Software (FOSS) Communities to the under represented groups in technology. It runs twice an year, mid-year and end of year. I decided to participate in its summer run.

Why Outreachy?

Before I get into anything, as a rule of thumb, I ask myself why? Why is it that I wanted to participate in Outreachy?

It was in the month of September 2018 when I felt like now I can start giving back to the FOSS communities. I tried to explore a bunch of different organisations but it proved hard for me to find my footing in any of them. While exploring I came to know about Outreachy and thought this might be my gateway into FOSS communities.

Apart from the above, I knew that participating in Outreachy would require me to learn and render results not only in the areas I was working on but also the ones that would be new to me. The challenge to go through a steep learning curve was one I was looking forward to!

When in the month of February, Outreachy announced their summer run, I was a happy lass! I ardently filled up my initial application and waited to hear back to find out if I was eligible to participate. Little did I know, next morning would be the beginning to a new journey!

Confirmation email: Initial Application Approved!

Note: Outreachy has strict restrictions when it comes to eligibility criteria and anyone looking to participate should take the Initial Application very seriously.

Choosing the project: Fedora Happiness Packets

As I was browsing the list of projects, I was hoping to find a project with which I could have a two way relationship. Not only did I want to bring value to the project but I also wanted to work in a project that could bring value to my journey as a developer.

Keeping the above in mind, I came across Fedora’s Happiness Packets. The project required an understanding for Django and UI/UX. Since both of them were the areas I had in my mind that I wanted to improve upon, I decided to look further into it.

Fedora Happiness Packets aims to promote recognition of the good work developers dish out by providing a means to send Happiness Packets i.e emails full of appreciation, anonymously or not. The project’s purpose resonated on a high note with me. Appreciation is sparse to content creators world wide and if I can contribute in any small way to bridge that gap, count me in!

Contributing: A roller coaster ride 

After joining the IRC and saying hi, I went on a hunt to find my first issue. Looking at the list of issues, my heart dropped when I realised all the good-first-issues were taken up. After a moment of panic, I found an open issue and started my journey with Fedora with my first comment ever!

Beginning of a new journey with Fedora. Yay!

After having that issue assigned to me, contributing to the project has been a roller coaster ride. Since it wasn’t a beginner issue it was taking me longer than everyone else to solve it. While others were moving onto their third or fourth issue, I was still struggling with my first one, Integrating Fedora Messaging in Fedora Happiness Packets (blog coming soon!).

From there I have come as far as getting four major feature addition PRs merged and several other improvements till the time of writing this. It has been an extremely enriching experience and the one where I got to learn so much! Can’t wait to keep this ball rolling as I continue to contribute to this project.

Takeaways

As these 6 weeks for the Application period are coming to an end, here is a list of things this golden period has taught me.

Passion: Required in abundance 

I’m not going to glorify this period as something that has gone by in a breeze. I have spent many sleepless nights, just trying to figure out why a particular piece of code won’t work. I have struggled to strike a balance between my university schedule, exams and health whilst consistently contributing. But despite all this, it is my passion that has been my fuel throughout this period. Doing what you love really makes the process easy. Don’t let money be the purpose but rather see it as an added benefit!

Keep going on. No matter what!

“If you can’t fly then run, if you can’t run then walk, if you can’t walk then crawl, but whatever you do you have to keep moving forward.”

― Martin Luther King Jr.

During those moments of extreme Nay! when my code just didn’t seem to work, this is what I kept reminding myself. 

Collaboration, not a competition: The ultimate mantra

During the entire duration of the application period I made it my personal goal to help out other applicants as much as possible. Obviously I’m not naive enough to not realise that we are all in this for the same position. But don’t let that hold you back from helping others out in their tasks if you can. After all, isn’t that what FOSS is all about?

Communication is key

It’s daunting to communicate on a public platform. When I sent out my first question in the IRC, I was a bundle of nerves till I got a response. The key to effective communication in a FOSS community is to do research before coming up with a question, practice being utmost patient and follow the basic etiquette of communicating in a FOSS community. It doesn’t hurt to keep in mind that the person on the other side helping us out are volunteering as mentors. They are taking time out of their busy schedules to help us out and are not compelled to do so. The least we can do is make the questions worth their while. Make Googling and Stack OverFlow your new bffs, if they aren’t already.

Step out of your comfort zone: Learn shiny new things!

Contributing to Fedora Happiness Packets required me to explore past my comfort zones. I worked with technologies I hadn’t even heard of before, Docker, Celery, RabbitMQ and Fedora Messaging to name a few. Had I restricted myself to tasks that only fell under my umbrella of knowledge, I would have missed out big time! Yes obviously, it won’t be easy, but the end result would be so worth it. Don’t shy away from getting your hands dirty!

Documentation: Address the elephant in the room

When going through the documentation while implementing a new feature, if I found any part of it wasn’t explanatory enough and needed more clarification, I made sure to add to it. This saves time for anyone else who refers to it again and makes the on boarding experience better. Contribute to documentation, don’t be lazy about it!

No battle is fought alone

Needless to say, I couldn’t have powered through these six weeks without any help. I was introduced to the beauty of FOSS communities in this time. People are so unbelievably helpful and kind, its astonishing!

Fedora’s community is the most helpful one I’ve come across. Shout out to Justin for taking out time from his schedule to help me out with my never ending series of doubts! Thank you so much Justin for being so patient with me. I’m extremely grateful to Jona, Alberto, Jeremy, Aurélien and Angelo for supporting me, giving me valuable advice and extremely helpful pointers throughout the application period. 

Apart from the awesome Fedora community, I’d also like to mention this extremely helpful blog post, What not to do in Outreachy/GSoC by Shivani Bharadwaj, that helped me prepare for the application period. I highly recommend all the aspirants to give this a read!

I find myself immensely lucky to have chosen Fedora as the project I chose to contribute to. The experience has been one that really made me learn so much about my own self and grow as a developer. I can’t wait to keep contributing to Fedora as I wait for the results to come out!

Came for Outreachy, stayed for the community!

Hope you find something of value in this blog post and most importantly, the motivation to approach any summer of code with the best mindset to reap its full benefits!