Codecademy Logo

Contributing to an Open Source Project

Print Cheatsheet

GitHub Issues

A great way to track tasks that need to be worked on in a GitHub repository is to use GitHub Issues. GitHub Issues are built into GitHub and list the title, description, and assignee for an Issue. Other features are included as well, such as designating milestones and creating labels to keep everything in a repository organized.

The image shows a board of about 10-15 tasks that each have a title, a user associated, and multiple labels that indicate language or type of issue.

What to Contribute

You can contribute to an open source project by:

  • Writing code
  • Contributing documentation
  • Submitting issues or bugs
  • And more!

Creating a Good Issue

A GitHub issue should include:

  • Version numbers of any relevant software
  • Explanation of expectations versus the real behavior
  • Steps to reproduce the code behavior.

It should NOT include:

  • Screenshots of code, since copying and pasting is not possible from the screenshot.

Included is an example of the expected and actual behaviors, as well as a version number.

Expected Behavior:
I expected clicking the “User Profile” link in the dropdown menu to bring me to my profile page.
Actual Behavior:
Clicking the “User Profile” link did nothing.
Browser:
Safari 15.5

README.md

A README is the standard documentation file for open source projects. It should, at the very least, include the name of the repository and a description.

In a GitHub repository, this is typically where a visitor to the project should go first.

CONTRIBUTING.md

In an open source project, the CONTRIBUTING file is a guideline for how contributors to the project should participate.

This might include the exact steps to create an issue or submit code.

Good First Issue

Usually, in an open source project hosted on GitHub, you can label issues with the “good first issue” label to indicate it is an easy project for a beginner to take on.