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
- Contact project members (Twitter / Discord / Email) — ask if you can contribute.
- Open an issue describing what you plan to work on.
- Get the issue assigned to you with a clear deadline.
- Work and add value — code or non-code contributions are both valid.
- Make a Pull Request (PR) and be open to feedback.
- Have patience — follow up politely after 2 weeks if needed.
Contributor Workflow (Step-by-Step)
- Talk to the People: Send a short, polite message on Discord/Twitter or via email introducing yourself.
- Open an Issue: Explain the bug or feature idea clearly. Include screenshots if relevant.
- Get Assigned: Ask the maintainer to assign it and agree on a rough timeline.
- Do the Work: Implement, document, and test your changes. Keep commits clean.
- Make a Pull Request: Describe what you did, why, and how to test. Add screenshots if needed.
- Iterate & Respond: Be polite in discussions and update your PR based on feedback.
- 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
- Title: short, clear, and action-based (
fix(ui): align login button). - Description: explain what you changed, why, and how to test it.
- Checklist: include what you tested or verified before submitting.
- Commits: keep them focused and meaningful — avoid “fix typo” spam commits.
After Your Pull Request
- Maintainer: reviews the PR, checks CI/tests, requests changes if needed, then merges.
- Contributor: waits patiently, updates when requested, and celebrates once merged!
- After merge — delete your local branch and stay connected for more contributions.
Mindset & Etiquette
- Contributions are collaborations, not competitions.
- Always be respectful and patient with maintainers.
- Even if your PR isn’t merged, you’ve learned — that’s success too.
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)