Introduction

My journey into the world of open source began when I stumbled upon the FastAPI plugin called FastAPIUsers. I was looking for good authentication library for fastapi. What piqued my interest right away was the fact that the repository had a page displaying the profile pictures of all its contributors. I thought it would be cool to see my profile picture on the page, so I decided to contribute to the project. I went to the issues page and found a “good first issue” to tackle.

Lesson 1: Linting and Code Quality

My first open source contribution, while seemingly simple, exposed me to several valuable lessons. The issue I chose was tagged as a “good first issue.” It appeared to be straightforward: changing a type hint. However, this seemingly simple task quickly threw me into the world of linting, a territory I had never ventured into before. The GitHub auto lint checks failed on my initial pull request, leaving me baffled. Despite having several years of coding experience under my belt, this new encounter with linting packages was a humbling experience.

The project maintainer was incredibly patient and kind. They guided me through the process, suggesting that I run tools like isort to automatically fix the linting issues (They have a script prepared for this). This made me realize that I had a lot to learn about linting and code quality.

Lesson 2: Read the Contributors’ Guide

One of the early mistakes I made was not thoroughly reading the project’s contributors’ guide before diving in. I was eager to start contributing and immediately began hunting for issues to tackle. However, it became apparent that had I taken the time to read the guide, I could have saved myself some initial hiccups and better aligned my efforts with the project’s expectations.

Lesson 3: Be Respectful and Grateful

Open source contributors generously dedicate their time and expertise to help others. Throughout my journey, I learned the importance of being respectful and considerate when interacting with maintainers and fellow contributors. They willingly shared their knowledge, explained concepts, and assisted in troubleshooting. Always be appreciative of their efforts and willingness to help.

Lesson 4: Understanding and Modifying Code

Reading someone else’s code can be both intimidating and enlightening. My first open source contribution required me to delve into the existing codebase, understand its structure, and make modifications. This process taught me the significance of clear and well-documented code. It also improved my ability to navigate and work with code written by others, a valuable skill in the world of software development.

Reward: The Joy of Seeing Your Profile Pic on the Project Page

Finally, one of the most rewarding aspects of this contribution wsa the gratification that came from seeing your profile picture on the project’s GitHub page. Each time I use the FastAPIUsers library, I am reminded of my small but meaningful contribution to the community (I know it’s a bit narcissistic, but it’s a great feeling!)

Hopefully, this post will inspire you to take your first steps into the world of open source. Happy coding!

References