A Guide to Your First Open-Source Contribution

Our contributor Gathin shares his story of his first open-source contribution!

Gathin
TalentLayer
Published in
5 min readOct 3, 2023

--

Hey there! 👋

I’m a blockchain developer with 2 years of development experience. During my pre-final year in computer science, I made my first significant open-source contribution. In this article, I’ll share insights to help you start your open-source journey, even if you’ve mainly worked on closed-source projects until now.

This is the contribution I made to TalentLayer Starter-kit:

Why I failed to contribute before…

Contributing to open source has always been a goal, but I faced hurdles like:

  1. Lack of Time
  2. Complex Code
  3. Fear of Rejection
  4. Daunting Codebases
  5. Uncertainty on How to Contribute
  6. Difficulty Finding Beginner-Friendly Projects
  7. Feeling Intimidated by Experienced Contributors

Steps I took to start contributing…

These are the things I tried for a week:

  • I started to browse the projects in this list of top blockchain projects to contribute.
  • Identified some good-first-issue to contribute from this site.
  • Used GitHub search with the query:is:open type:issue label:good-first-issue
  • Recognised the challenge of choosing the right task and decided to explore an alternative approach.

What worked for me is this approach:

  1. Visited gitcoin.io, a platform for granting open-source projects.
  2. Explored a grant, then filtered the top 20 projects applying for it.
  3. Joined around 17 Discord channels, shared my tech skills and social handles, and inquired about available tasks.
  4. Received responses from 3 to 4 channels, although some had no active tasks to delegate.

Something good happened…

I got a meeting scheduled with the founder of one of the projects called TalentLayer and had a great introduction call later. Then there was an available task of migrating their codebase from ethers.js to wagmi viem. I was familiar with ethers.js but wagmi viem was completely new to me. But I just said yes with literally very little confidence that I could do it. This was exactly what I asked the co-founder that day.

This was exactly what I asked the co-founder that day.

Steps I took to make my first contribution:

  1. Understood the Project: The first and most crucial step was gaining a comprehensive understanding of the project by running it locally on my system and observing how it worked.
  2. Clarification from Project Maintainer: I sought clarification on my tasks directly from the project maintainer, who happened to be the co-founder of TalentLayer. This ensured that I knew exactly what was expected.
  3. Started Work on a Branch: I created a dedicated branch and began working on the project. Whenever I encountered challenges, I shared them on Discord for assistance. In the meantime, I moved on to other tasks. Once I received responses, I returned to address the issues.
  4. Completion and Testing: After about 20 days of dedicated effort, I completed the migration and proceeded to test.

Things you could do on your initial contributions:

  1. Ask for Help: Don’t hesitate to reach out to project maintainers, whether through direct messages or GitHub discussions, to clarify doubts or seek guidance.
  2. Community Matters: Opt for projects with strong community support, as it can be a valuable resource for assistance and collaboration.
  3. Understanding Is Key: Begin by gaining a deep understanding of the project, either by running it locally or exploring projects you’re already familiar with.
  4. Seek Guidance: It’s okay not to comprehend the entire codebase. Ask for help and guidance when determining where to make your contributions.
  5. Contribution Guidelines: Always review and adhere to the project’s contribution guidelines and coding standards to ensure your contributions align with the project’s goals.
  6. Incremental Contributions: Start with smaller, manageable tasks before taking on larger ones. Gradually build your skills and familiarity with the project.
  7. Documentation is Key: Pay attention to documentation, both in code comments and project documentation. Improving documentation can be a significant contribution.
  8. Collaborate Actively: Engage with the project’s community by participating in discussions, helping others, and offering feedback on issues and pull requests. Active collaboration can strengthen your presence in the community and lead to more opportunities.

Still feel stuck while contributing!

ALL YOU SHOULD DO IS ASK FOR HELP….

Remember, the key to successful open-source engagement extends beyond just coding or project support. It hinges on your ability to effectively utilize soft skills for seeking assistance and soliciting valuable suggestions in a collaborative environment.

Let’s Connect 👋

If you have any questions, seek further guidance, or simply want to connect, I’m just a message away.

Final thoughts

I hope this article has been helpful to you. Please feel free to reach out if you have any questions. Your thoughts, suggestions, and corrections are more than welcome.

Get involved in TalentLayer

TalentLayer is a thriving community of open-source developers building towards a shared goal — a better way of working! Learn more about TalentLayer here.

Want to work with us? Reach out here.

Originally published at https://gathin.hashnode.dev.

--

--

Gathin
TalentLayer

⚒️Opensource Blockchain Developer 🏆5x Hackathon winner 🗽Founding member/Developer (Web3 Startup) 💣Failed 2 micro saas startups