Chronicles of My Open Source Journey; A beginner's guide to getting started

Chronicles of My Open Source Journey; A beginner's guide to getting started

Open source software is software with source code that anyone can inspect, modify, and enhance. Open source technology and open source thinking both benefit programmers and non-programmers. Because early inventors built much of the Internet itself on open source technologies—like the Linux operating system and the Apache Web server application—anyone using the Internet today benefits from open-source software. — opensource.com/resources/what-open-source

Getting Started

I started contributing to open source in October 2019 when I heard about Outreachy from Edidiong Asikpo. Outreachy is an internship program that helps women and people who are under-represented get more involved with open source through remote internships.

I have always had an interest in contributing to open-source but never got around to submitting any pull request, because I wasn't so sure as to how to get started. On hearing about Outreachy, and realising this initiative was focused on underrepresented people in tech (as an African lady in tech I believe I fall within this category) which also paid a $5,500 stipend. Getting this stipend was a step closer into helping me solve my accommodation issues and register for some paid courses I wouldn't ordinarily afford, upon considering all of these, I made up my mind to apply regardless of my inexperience.

Here’s how my open-source journey formally kicked off:

Scouting for Open Source Projects to Contribute

After submitting my Outreachy initial applications, I registered for hacktoberfest and began scouting for open-source projects to contribute to. I stumbled across a repository for Learning-Object-Oriented-Python on Github and went through the contribution guidelines after which I submitted my first pull request🥳.

This was a huge deal for me and made me more excited plus motivated to contribute more. Following my first pull request while trying to understand better, gain more open-source contribution experience and also meet up with the 4 pull request requirements for hacktoberfest, I contributed to first-contributions and rebus repositories on Github.

At a point, I got stuck and thought to myself, what next?, which project do I contribute to next?, how do I find projects that match my interests and skill set to contribute to? and then I got an idea💡. Why not contribute to open source projects I was already using, that way I wouldn't spend so much time trying to understand the project and its usage from scratch.

At that period, I was opportuned to be working on improvements to Interswitch Engineering’s technical documentation platform using an open-source tool called Slate. I decided to take a look at slate's repository to see if there were any issues I could work on and submitted a pull request to resolving an issue with the language tab.

Even though this pull request was closed eventually, my contribution to slate was much appreciated.

Outreachy Internship with Wikimedia

The Outreachy initial applications result was finally released and I was so ecstatic that I had scaled through to the contribution phase. I went through the list of available projects and when I came across Mediawiki’s project Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki, I knew this was it.

I selected this project because I was currently working on improving Interswitch's documentation which had me using similar tools needed for Mediawiki's project, and I believed I had the experience and necessary skills needed to contribute to this project despite just getting started with open-source.

Besides, I knew that contributing to an organization like Wikimedia would increase my experience and give me the opportunity to improve the experience of thousands of developers using Mediawiki's action APIs. I set out to contribute to this project. I went through all the available resources and submitted my contributions and final application to Outreachy.

Truth be told, I felt intimidated at some point when I read other applicants proposals. Some of them had even applied to Wikimedia in past Outreachy rounds, but I decided not to let that distract me and put in my best which later paid off because I got selected as one of the Interns for Wikimedia 🎉.

My internship lasted for three months. In the span of three months, I helped improve 32 MediaWiki action API pages by restructuring each page following this template designed by the Mediawiki developer advocacy group, updating and improving the content of the page and finally writing sample codes in Python, Javascript, PHP and Mediawiki JS. And I was paid for doing something that brought me so much joy.

You can find a list of all the pages I worked on during the Outreachy internship on my Mediawiki user page. If you’re interested in contributing to Mediawiki, feel free to go through the contributing guidelines here in the Github repository. You can read more about my outreachy internship journey on my blog.

Starting an Open Source Mentorship Group

After completing my outreachy internship, I was reached out to by a couple of ladies who also had experience with open source contribution ; Edidiong Asikpo & Glory Agatevure to help kick start an open-source mentorship group where we would use our experience in the field in mentoring people into getting accepted to open-source programs like Outreachy, GSOD, GSOC and co. With our efforts, we are able to guide a good number of people into getting accepted and most importantly get more people to contribute to open source.

Becoming Open Source Programs Coordinator for She Code Africa

She Code Africa (SCA) is a non-profit organization focused on celebrating and empowering young Girls and Women in Technology across Africa.

After experiencing first hand, some of the benefits of taking up a role in the tech industry and contributing to open-source which include:

  • Getting a well-paying job
  • Getting paid to contribute to open source
  • Opportunity to collaborate with great minds around the world without much limitations due to remote work, and much more.

Coupled with the fact that I grew up in a community where women were not expected to have career paths and were subject to the decisions of their fathers and husbands, I made up my mind on not only wanting excel in tech but I also wanted to sensitize other women about tech.

With this goal in mind, I applied for the Programs and Partnerships Lead role for SCA despite the fact I knew I had little experience to take up this role. One thing I was certain of, was that I was ready to learn on the job and put in all my efforts if given the opportunity.

After applying, I sent a message to Ada Oyom, the founder of She Code Africa to inform her of my application for the role and my reasons for applying. She asked a lot of questions about my experience and why I wanted to take up the role and from my answers, she was able to deduce my keen interest in open source and the little achievements I had in open source within a short while.

She told me about her plans to kick off a new initiative called Women of Open Source Community Africa (WOSCA) in partnership with Open Source Community Africa, to create more gender diversity in the open source community.

Advocating for more women in open-source collaboration? There was no way I was letting this opportunity pass me by. I accepted to take on this initiative and that was how I became the Open Source Programs Coordinator(OSPC) for She Code Africa.

What Next?

Becoming the OSPC for She Code Africa hasn't stopped me from contributing. While carrying out my roles, I’ve still been making active contributions to Jenkins. My contributions to Jenkins involves improving and migrating Jenkins documentation from wiki.jenkins.io to the jenkins.io static site hosted on Github. I recently applied for the Google Season of Docs program with Jenkins, I hope I get accepted.

Conclusion

Contributing to open source has helped me in more ways than I can count. Some of the benefits I’ve enjoyed include:

  1. Acquiring different skills like technical writing, working remotely, communication etc.
  2. Increase in my technical experience.
  3. Help in improving my developer brand and portfolio.
  4. Increase in self-confidence
  5. Getting paid with swags and stipends for contributing

I intend to keep contributing to open source and motivating more people particularly African women to contribute as well.

Thanks for reading about my open source journey. I hope this article inspires you to kick start your journey if you haven't and if you have, keep contributing.

If you enjoyed reading, please like this article and follow me on Twitter.

Cheers 🙌

Did you find this article valuable?

Support Zainab Daodu by becoming a sponsor. Any amount is appreciated!