Your first pull request starts here

No experience needed. No complicated setup. In about ten minutes you can have your name on a real open source project — and understand exactly what you just did.

What actually happens when you contribute

Open source sounds intimidating until you have done it once. It is really just five steps, and every project on GitHub works the same way.

  1. Fork

    You make your own copy of someone else's project. You cannot break anything — the original is untouched.

  2. Branch

    Inside your copy you create a branch: a separate line of work, so your change is kept apart from everything else.

  3. Change

    You edit a file. It can be one line. The size of the change is not what makes it a contribution.

  4. Push

    You send your branch back up to GitHub.

  5. Pull request

    You ask the maintainers to pull your change into the original project. They read it, maybe suggest something, and merge it.

That is genuinely all of it

Everything else — CI, code review, merge conflicts — is detail layered on top of those five steps. Learn these and you can contribute to almost any project on GitHub.

Pick a starting point

Add yourself to the wall

The gentlest possible first PR. Create one small file with your name in it. About ten minutes.

How to add yourself →

Fix a bug in a game

Terminal Arcade is a Python project full of small games — and some real bugs waiting to be fixed.

Browse its issues →

Improve this site

This page is plain HTML and CSS. No build step, no framework. Open the file, change it, see it.

Browse our issues →

Our October events

Every repository here is beginner-friendly on purpose. The issues name the exact file to open, what "done" looks like, and how to check your work — so you can start without asking anyone a question first.

What you get out of it is a public, permanent, merged contribution with your name on it. That is something you can point an interviewer at.

Our October event schedule
DateEventWho it is for
Mon, Oct 5Open Source Kickoff & Live PR LabComplete beginners
Wed, Oct 7Agentic AI & MCP Build SprintPython, some experience
Mon, Oct 12PR Debug Clinic #1Anyone who is stuck
Wed, Oct 14Fullstack Web & API SprintWeb developers
Fri, Oct 17Community Hack DayEveryone, in pairs
Wed, Oct 21PR Debug Clinic #2Anyone who is stuck
Thu, Oct 22Secure Code & Threat Modeling LabSecurity-curious
Fri, Oct 23Demo Day & Contributor AwardsEveryone

The Debug Clinics are not a backup plan

They exist because getting stuck is the normal experience of learning Git, not a sign you are doing it wrong. Bring the branch that is broken.