My open-source experience via SCA Contributhon
Tags: opensource
Published: 2021-04-28 16:42:01

This month has been exciting for me, I got into open-source via the [contributhon by She Code Africa](https://layer5.io/programs/sca-contributhon) program, which made it less difficult for me to understand what needs to be done. I will be sharing a summary of my experience and currently merged PRs in this post.

# My Experience

When I got a mail from SCA (She Code Africa) that I was part of the selected participant for the program, I felt so excited and scared at the same time because I used to think open-source was for some special set of people😅

I had the opportunity to contribute to [Layer5](https://layer5.io/) as a frontend developer. Because it was a program from SCA we were assigned to mentors and a person of contact.

The mentors assigned to my team were [Jash Patel](https://layer5.io/community/members/jash-patel) and [Chinmay Mehta](https://layer5.io/community/members/chinmay-mehta) and [Ruth Ikegah](https://layer5.io/community/members/ruth-ikegah) was our person of contact for the program.

The Layer5 team has several repositories and all I just had to do is find an issue I am interested in working on and then asking for it to be assigned to me.

## Making contributions
Once I found an issue I could work on (it is usually recommended to select a beginner's friendly issue), I comment on the issue asking for it to be assigned to me to work, once it has been assigned and worked on, we were required to "sign off" our commits. That was the first time I was hearing about signing off a commit and I decided to read up on what it means.
In summary - The purpose of "--sign-off" is to track who made a particular change or added a feature.

Here's an example of signing off a commit

```
git commit --sign-off -m "fixed a footer glitch"
```
here's how it'll look like in a PR

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lrkxgd9qfkvwttxxjyfo.png)
 
After pushing the commit and creating a pull request, two of the site maintainers will need to approve the work before it's been pushed.

## Attending community meetings
Every week we attended community meetings to discuss new issues or features, welcome and onboard newcomers, and discuss recent changes. Personally, I pick issues during these meetings.

## The community
The slack channel is where every other thing happens. This is actually the first time I will be among a very diverse team.

_This is one of the many things I will come to like about open source_

Personally, I felt welcomed in the community, I can freely ask any question when I got stuck or even share something new.

# Project Report Details

### Summary of work done
I currently have two pull requests merged in the layer5 meshery.io repository. 

Here's a link to a document that [summarizes the work done](https://docs.google.com/document/d/1l3IFXp80jHzOh1VgrIiJuyZV4HPHHrvupqySmD5RjZA/edit?usp=sharing)

I currently have some pull requests waiting for approval and I'll be updating them as soon as they're merged.

### Challenges faced
My major challenge was when I always forget to sign off my commit. 😅

![Typical gif](https://media.giphy.com/media/U5U2vQtGn2C5qdBAHK/giphy.gif)

I also had issues jumping into the codebase to make changes, because I had no form of experience with Jekyll. However, the community was helpful with that. I asked questions and got valid and detailed answers. I also wasn't very familiar with gatsby but a stack overflow was really helpful.

### Lessons learnt

One of my favorite lessons was realizing how easy anything can be if I put my mind to it. I used to think open-source was for professionals with over 10 years of experience in tech. It sounds so absurd thinking of it now😂

I also understand why it is important to write clean code because if Layer5's codebase was complicated it would have been very difficult for me to jump into the codebase and start editing.

Jekyll and Gatsby are now familiar to me.

# Next Steps

The last few weeks in April have been amazing for me or The past month has been amazing for me and I really look forward to making more contributions to layer5 and other open-source communities later on. Open source is amazing and what's even cooler is that great feeling you get when the maintainers approve your pull requests.