For my contribution, I decided to help the documentation on a project called Digital Bacon. I decided to do this becuase it was a good, small thing that I could help out with, without needing a ton of experience, nor needing to commit a lot of my time to it.

Introduction to the Community

Digital Bacon describes itself as a “Content Management System for 3D Websites.” I picked this project because it was something I had never heard of and it interested me. My experience looking through open source communities during the Comm Arch assignments helped me determine this project, although not the best, would most likely be a fine choice for this project. Althought there were not many contributors, they did not have many major red flags. They had their documents in order and had decent activity at the time I found it. They had a readme, a license, a code of conduct, a contributing doc, as well as docs for funding, security, and drafting issues and releases.

2 folders called ISSUE_TEMPLATE, and workflows, as well as the docs mentioned.

The Issue

I found this issue and project when I searched on Good First Issues, which was provided by Elizabeth Barron and her presentation to our class about CHAOSS. The issue I found was for adding documentation to the CONTRIBUTING.md doc. Specifically, the issue wanted there to be a message about how to use the lint command and the test command, so new users would know that they exist and to use them.

A GitHub issue posted by kalegd on December 12, 2023. It says "Hello new potential contributors (current contributors welcome as well), It would be great for npm run lint and npm test to be listed as commands people can run to verify a consistent coding style across the project and prevent regressions. I think the best place for this would be in the Next Steps section between the npm start details and npm run build details of CONTRIBUTING.md (see here)"

When I found this issue, I commented on it asking if I could contribute to this.

My comment saying "Hello! Can I contribute to this?"

The creator of the repo responded very quickly saying yes I could!

Their comment saying "Sure thing! I've gone ahead and assigned you to this issue @kaigidwani." Above the comment is a label that says lakegd assigned kaigidwani.

An issue (haha) I ran into was that once I had gotten the issue assigned to me, and put it in our class’s doc for who is doing what, I put this assignment on the backburner to focus on other assignments and projects that were due sooner. On the very day I set aside to work on this assignment and do the bugfix, the owner of the repo unassigned it from me due to inactivity, and advertised it as up for grabs to others (who did not jump on it).

A comment by kalegd saying "As it's been over a week without any updates, I'm going to remove @kaigidwani from the assignee. This issue is still up for grabs". A label saying kalegd unassigned kaigidwani. Another label saying kalegd mentioned this issue.

After seeing this, I sent a message apologizing and explaining, as well as sending my draft of what I was going to add. They accepted this and asked me to officialize it in a pull request!

My message saying "Hey! Really sorry about that! I got pretty swamped with work right after this and had to prioritize some other projects. If you'd still like my help I've got a draft here if you'd like to give it a look-over? I tried to replicate the style of the rest of the documentation, but let me know what you think and if there's anything I should change. To verify that you are using a consistent coding style with the rest of the project, run: npm run lint To run a test of the project to prevent regressions, run: npm test" THeir reply saying "No worries :), feel free to throw up a pull request with that change and I'll go ahead and merge it"

I really appreciate how flexible they were here. When I saw the notification that I had been removed, I was honestly very anxious I would have to find a new issue and start all over again. Their response was really relieving to see, and I really appreciate them letting me continue.

After this message, I created a new branch of the project to add my changes. After I added them, I then commited to my branch.

My commit with my lines of change.

After committing, I submitted my pull request and made sure to mention the issue, as requested for pull requests to do in the very doc I was editing haha.

My pull request.

To which the developer quickly responded, thanking me and asked if I would like to be added as a contributor! I responded sure, I’d appreciate that!

The comment from kalegd and my reply.

Conclusion

This was my first time contributing to any kind of open source project, ever. This was a cool experience and an opportunity I was honestly more scared of than I should have been. Seeing how easy it is to do contributions like this has definitley made me more open to doing them in the future.