Guide
Open source basics for first-time contributors
A plain-language introduction to open source for complete beginners: repositories, issues, pull requests, maintainers, and why code review exists.
Open source means the code of a project is public. Anyone can read it, and anyone can suggest changes. The people who look after a project decide which changes to accept. If you have never contributed before, this guide explains the words you will see and how the pieces fit together.
The words you will see
- Repository (repo): the folder that holds a project's code and its history. On GitHub, each project lives in a repository.
- Issue: a public note that describes a bug, an idea, or a task. Issues are where work is discussed before anyone writes code.
- Pull request (PR): a proposed change. You make the change in your own copy and ask the project to pull it in.
- Maintainer: a person who looks after the project. Maintainers review pull requests and decide what is merged.
- Review: a maintainer reads your pull request and comments on it. They might approve it, ask questions, or request changes.
- Merge: when a pull request is accepted, its changes become part of the project.
Why does review exist?
A project has to keep working for everyone who depends on it. Review is how a maintainer checks that a change is correct, fits the project's style, and will not break something else. It is also where most of the learning happens: a good review explains why, not only what.
Being asked to change your pull request is normal. Experienced developers get change requests all the time. Read each comment, ask if something is unclear, update your work, and reply when you have.
What a first contribution looks like
- Pick a small, clearly described issue.
- Read the project's README and contribution guide.
- Set the project up on your computer and run its tests.
- Make a focused change on a new branch and open a pull request.
- Respond to review until the change is accepted.
In a Devprentice program, the maintainer has already chosen the work, written down what done looks like, and named who will review it, so you are never guessing alone. Next: set up GitHub and Git.