GitHub Guide

At Raspberry Pi we use GitHub for a number of projects, from our software repositories like the Linux kernel and NOOBS to our documentation and educational resources.

We have two GitHub organisations: Raspberry Pi and Raspberry Pi Learning.

We write our materials in a simple text formatting syntax called markdown and manage changes and collaboration using GitHub.

See the full guide on creating resources and submitting material to us.

Contributing

If you have a modification to make in our documentation or educational resources, navigate to the page you wish to edit, then scroll to the bottom of the page to find the GitHub link. This will take you to the respective page on GitHub. First read the contributions policy (the CONTRIBUTING.md file in the root of the respective repository), then proceed by clicking the Edit button at the top of the file (this is available if you are signed in to GitHub). Once you’re finished editing, scroll to the bottom, enter a commit message explaining what your change will do. Hit the Propose file change button and GitHub will do the work for you: the repository will be forked in to your account (your version lives at github.com/username/repo) and a Pull Request will be created on Raspberry Pi’s repository. This will be reviewed by the team and we will be able to accept the request, deny it or comment on the request to communicate with you about the changes.

Please note:

  • Read the repository’s contributing policy before editing. This is found in the CONTRIBUTING.md file in the root of the repository.
  • Give your commit message in the form of an instruction like “Add note about camera module” or “Update NOOBS version number” rather than past-tense.
  • Open separate pull requests for unrelated sets of changes, i.e. don’t bundle typo fixes in the same pull request as code changes, instead file them separately.

Contributing to Documentation

We welcome editing and suitable additions to our documentation. However, it is not intended to be an open wiki; the documentation should remain minimal and maintainable. If you find a problem with the documentation, please open an issue. If you intend to fix the issue (having had the issue accepted as valid) you should fork the repository, make the suitable changes and create a pull request for your changes to be reviewed.

Please note:

  • Read the documentation’s contributing policy before editing.
  • The documentation only covers supported software, i.e. NOOBS and Raspbian. Alternative Operating Systems are mentioned but variations on help pages should only cover Raspbian.
  • Give your commit message in the form of an instruction like “Add note about camera module” or “Update NOOBS version number” rather than past-tense.
  • Your contributions are assumed to be licensed under the same licence as the source, i.e. CC BY-SA

Contributing to existing Educational Resources

Like the documentation, our educational resources are hosted on GitHub. Each resource has its own repository at github.com/raspberrypilearning. We welcome contributions to our materials, provided the educational value remains intact. If you find a problem with a resource, please open an issue by going to the appropriate repository’s issue page. If you intend to fix the issue (having had the issue accepted as valid) you should fork the repository, make the suitable changes and create a pull request for your changes to be reviewed.

Please note:

  • Read the resource’s contributing policy before editing (the CONTRIBUTING.md file at the root of the repository).
  • Sometimes things are done for pedagogical reasons so changes which make sense from a software engineering perspective (reducing duplication or making use of more advanced programming language features) may not be suitable to maintain the intended educational value.
  • Give your commit message in the form of an instruction like “Add note about camera module” or “Update NOOBS version number” rather than past-tense.
  • Your contributions are assumed to be licensed under the same licence as the source, usually CC BY-SA.

Submitting your resource to us

If you intend to write a Raspberry Pi learning resource to share with the community, we recommend you follow our guidelines and submit to us to review and potentially include on the website.

If you are starting from scratch, we recommend you write your resource in markdown and host it on GitHub – use the guides to help.

Please be aware of our contributions policy. Submissions are welcome provided they adopt a Creative Commons licence (i.e. CC BY-SA or CC BY-NC-SA). Also be aware that any pictures used in the materials must also be available under Creative Commons.

Once you have your resource ready to submit, email the URL of the GitHub repository to contributions@raspberrypi.org.

Alternatively, if you have resources prepared in another format we can use (Word document or text file – not PDF), you can send these to the same email address. Note such submissions will take longer to process.