Appendix E — Contributing to GitHub repositories

The NHS-R Community welcomes contributions in the form of bug fixes and improvements through issues and code contributions.

E.1 Contributing workflow

If you’re new to Github Github’s own contributor’s guide provides a good overview of these topics.

Start with:

  • Review the issue list (both open and closed) and raise an issue if this hasn’t been raised before or contribute to an existing conversation via the issue.

If you want to continue and make changes to the code then:

  • Fork the repository

This can be via the GitHub website or {usethis} package

This can be via the GitHub website or use the {usethis} package

  • Wait for pull request to be reviewed and merged
  • Celebrate your first step into the open source world and contribute more!

E.2 Contributing any datasets

Particularly for packages like {NHSRdatasets}:

  • Add your dataset in the data folder, in .rda format.
    The best way to do this is with the {usethis} package with “gzip” compression: usethis::use_data(data, compress ="gzip")

E.3 Contributing guidelines and etiquette

  • Previewing any code written locally can help test everything works
  • Follow the code of conduct in the repository at all times
  • For style guides for text and code refer to the NHS-R Way Style Guides
Sensitive data (warning)

Never commit or submit anything that is confidential, private or disclose any personal or sensitive data in text or code.

See the chapter technical guidance - git on how to avoid and remove sensitive data and history when using git.

For information on how NHS-R Community will respond to any submissions with this data can be found in the NHS-R Way

When contributing you, as the contributor, certify that you are the original author or have cited the original author(s), are authorised to resuse/reference the material and, if necessary, notified the author(s). Any content that is found to not be submitted by a rights holder will be dealt with according to the NHS-R Community Notice and Takedown Policy.

E.4 Code of Conduct

When contributing to the NHS-R Community GitHub’s the Code of Conduct should be followed and can be found in the repository as CODE_OF_CONDUCT.md. This document can be generated, if missing or it is a new repository by using the {usethis} package and the following code:

usethis::use_code_of_conduct(contact = "nhs.rcommunity@nhs.net")

E.5 Acknowledgements

This contributing guide is adapted from NHS Digital’s Contributor’s Guide.