How to do Open Source Contribution

A complete beginner-friendly guide for contributing to open-source projects — code or non-code, made with ❤️ using Tailwind CSS.

Overview

This guide walks you through the real process of contributing to open-source — from reaching out to maintainers to making Pull Requests, handling reviews, and collaborating respectfully.

Quick Checklist

  1. Contact project members (Twitter / Discord / Email) — ask if you can contribute.
  2. Open an issue describing what you plan to work on.
  3. Get the issue assigned to you with a clear deadline.
  4. Work and add value — code or non-code contributions are both valid.
  5. Make a Pull Request (PR) and be open to feedback.
  6. Have patience — follow up politely after 2 weeks if needed.

Contributor Workflow (Step-by-Step)

  1. Talk to the People: Send a short, polite message on Discord/Twitter or via email introducing yourself.
  2. Open an Issue: Explain the bug or feature idea clearly. Include screenshots if relevant.
  3. Get Assigned: Ask the maintainer to assign it and agree on a rough timeline.
  4. Do the Work: Implement, document, and test your changes. Keep commits clean.
  5. Make a Pull Request: Describe what you did, why, and how to test. Add screenshots if needed.
  6. Iterate & Respond: Be polite in discussions and update your PR based on feedback.
  7. Patience: Wait for a response — maintainers are often volunteers.

Add Yourself to the Contributors List

Once you’ve created your folder and README, follow these commands to add your name to the main README.md contributors table.




    git clone https://github.com/codeforindia-foundation/open-source-contribution.git
    cd open-source-contribution
    cd contributers
    
    # Open the main README file
    nano README.md
    
    # Scroll to the "🧑‍💻 Contributors" section
    
    # Add your entry in the same format below 👇
    
    | [Your Name](https://github.com/YOUR-USERNAME) | ✨ |
    
    # Example:
    | [Suhail Roushan](https://github.com/suhailroushan) | 👋 |
    
    # Save & exit
    # (In nano: press Ctrl + O, Enter, then Ctrl + X)
    
    # Stage, commit, and push your update
    git add README.md
    git commit -m "chore: add YOUR-NAME to contributors list"
    git push origin feature-name
      

Tip: Use a fun emoji that represents your personality — like 🚀, 💡, 🎯, or 👋

Writing a Good Pull Request

After Your Pull Request

Mindset & Etiquette

Non-Code Contributions

Design, documentation, translations, and testing are equally valuable. Open an issue, get it assigned, and follow the same contribution flow.

Message Template (for Maintainers)


Hi @maintainer-name,

I'd like to contribute a fix for <issue-link>.
I can handle unit tests and documentation updates.
Could you please assign this to me?

Thanks,  
Your Name (GitHub: @your-username)