Quick Answer

Start with a project you already use and look for issues tagged "good first issue". Fork the repo, create a branch, make one small focused change, and test it. Then push your branch and open a clear pull request that links the issue. Fixing typos or improving documentation is a perfectly valid first contribution.

Why Your First Open Source Contribution Matters

Open source software is code that anyone can read, use, and improve. The tools you already rely on, like VS Code, Linux, React, and countless Python libraries, are maintained in public repositories where volunteers and companies fix bugs together. Making your first open source contribution means your name and your code become part of that public record.

For a student or fresher in India, this is one of the few ways to show real, verifiable work before you have a job. A course certificate says you studied something. A merged pull request says you shipped a change into software that strangers use. Recruiters and senior engineers can click on it and see exactly what you did.

Here is the honest part: your first contribution will probably be small, maybe a fixed typo or a clearer sentence in the docs. That is completely normal and still counts. Every maintainer of every big project started with a tiny first commit.

Find a Beginner-Friendly Issue

The best way to start is with a project you genuinely use or understand. You will care more, and you will already know how it is supposed to behave. Then look for issues that maintainers have marked as beginner-friendly.

Common labels to search for:

  • good first issue or good-first-issue
  • help wanted
  • up-for-grabs
  • beginner or easy

A few places that collect these for you:

  • GitHub search: add label:"good first issue" to the issues search bar of any repo, or search across GitHub.
  • goodfirstissue.dev and up-for-grabs.net list friendly issues by project.
  • The firstcontributions/first-contributions repo on GitHub is a sandbox built specifically to practice the whole flow.

Read the full issue before you start. Check that nobody has already opened a pull request for it, and that it is not blocked or under discussion.

Fork the Repo and Set It Up Locally

You cannot push directly to someone else's project, so you make your own copy first. This is called forking. Click the Fork button on the repository page and GitHub creates a copy under your account.

Then clone your fork to your computer and connect it back to the original project (the upstream) so you can stay up to date:

git clone https://github.com/your-username/project.git
cd project
git remote add upstream https://github.com/original-owner/project.git

Now follow the project's README to install dependencies and run it locally, so you can confirm your change actually works before you send it. If the fork-branch-pull-request cycle feels new, walk through it slowly in our free Git course first, then come back. Getting comfortable with Git is the single most useful skill for contributing.

Make Your Change on a Branch

Never work directly on the main branch. Create a new branch with a short, descriptive name so your change stays isolated and easy to review:

git checkout -b fix-typo-in-readme

Make your edit, then test it. If the project has tests, run them. If you changed the UI or docs, look at the result yourself. Keep the change focused: fix the one thing the issue asks for and nothing else. A pull request that also reformats fifty unrelated files is much harder to merge.

When it works, commit with a clear message and push the branch to your fork:

git add .
git commit -m "Fix typo in README installation steps"
git push origin fix-typo-in-readme

Write commit messages in plain, present-tense English that says what the change does. "Fix broken link in contributing guide" tells a reviewer everything they need; "update" or "final fix v2" tells them nothing.

Open a Clean Pull Request

A pull request (PR) asks the maintainers to pull your change into their project. After you push, GitHub usually shows a Compare & pull request button. Click it and write the PR carefully, because this is what a busy maintainer sees first.

A clean pull request has:

  • A clear title that describes the change, not "my first PR".
  • A short description of what you changed and why.
  • A line linking the issue, like Fixes #123, which auto-closes the issue when merged.
  • A screenshot or before/after if the change is visual.

Then check the boxes in the project's PR template if there is one, and submit. Read the CONTRIBUTING.md file beforehand; many projects have specific rules about formatting, commit style, or signing commits, and following them shows you did your homework.

Open Source Etiquette That Gets You Merged

Open source runs on the goodwill of volunteers, so how you communicate matters as much as your code. A few simple habits will make maintainers happy to work with you:

  • Ask before claiming a big issue. Comment "I would like to work on this, is it still open?" and wait for a nod on anything non-trivial.
  • One PR, one thing. Small, single-purpose changes get reviewed and merged far faster.
  • Be patient. Maintainers are often unpaid and busy. A polite reminder after a week or two is fine; nagging daily is not.
  • Respond to review feedback calmly. Requests for changes are normal, not an insult. Make the edits, push again, and reply.
  • Say thanks. A short thank-you when your work is merged goes a long way.
If a maintainer closes your PR or asks you to change direction, do not take it personally. It is about the code and the project's priorities, not about you.

Why It Strengthens Your Resume

For freshers, the hardest part of job hunting is proving you can do real work. Open source gives you exactly that proof. A merged pull request is public, permanent, and specific in a way that a project you built alone is not, because it shows you can work inside someone else's codebase and standards.

Concrete ways it helps:

  • Your GitHub profile shows genuine collaboration, code review, and Git workflow, which are the everyday skills of a working developer.
  • You get real talking points for interviews: "I fixed this bug in this library, here is how I traced it."
  • You practise reading large, unfamiliar codebases, which is most of what a junior developer's job actually is.

The job market generally values demonstrated, verifiable skill over claims, and contributions are one of the clearest signals you can send. Quality matters more than quantity here: one thoughtful, well-explained contribution says more than fifty throwaway typo fixes.

Events: Hacktoberfest, GSoC, and More

Some programs are built to pull beginners into open source, and they are a great excuse to start with support and deadlines around you.

ProgramWhenStipendGood for beginners
HacktoberfestEvery OctoberNoYes
Google Summer of Code (GSoC)Applications early each yearYesPartial
GirlScript Summer of CodeYearly (India-focused)NoYes

Hacktoberfest, run by DigitalOcean each October, rewards a handful of quality pull requests and is the friendliest on-ramp. GSoC is a longer, mentored program where you work on one project over several weeks and receive a stipend; it is more competitive and expects some existing familiarity, so treat casual contributions now as preparation for applying later. India-focused programs like GirlScript Summer of Code are also excellent starting points with active communities.

You do not need to wait for an event, though. The best time to open your first pull request is a normal Tuesday, on a project you already like.

Frequently Asked Questions

Do I need to be an expert programmer to contribute?

No. Many valuable contributions are not code at all, such as fixing typos, improving unclear documentation, adding examples, or reporting reproducible bugs. Start small, learn the workflow, and take on bigger code changes as your confidence grows.

What is the difference between forking and cloning?

Forking makes a copy of the repository under your own GitHub account so you have somewhere to push your changes. Cloning downloads a copy to your computer so you can edit it locally. You usually fork first, then clone your fork.

How long does it take for a pull request to get merged?

It varies a lot. Active projects may review within a few days, while smaller or volunteer-run ones can take weeks. Be patient, respond promptly to any review feedback, and send a polite follow-up if you have heard nothing after a week or two.

What if a maintainer rejects my pull request?

It happens to everyone and is not a reflection of your ability. The change may not fit the project's goals, or someone else may have solved it first. Read their reasoning, thank them, and apply what you learned to your next contribution.

Where can I find good first issues as an Indian student?

Use GitHub's issue search with the label "good first issue", browse sites like goodfirstissue.dev and up-for-grabs.net, and join India-focused programs like GirlScript Summer of Code and Hacktoberfest. Picking tools you already use makes the whole process easier.