/git-fair-clinic

Upstream repository for CSDMS 2021 Annual Meeting Git practices for FAIR research software

git-fair-clinic

This is the upstream practice repository for the CSDMS 2021 Annual Meeting's Git practices for FAIR research software clinic.

FAIR principles for research software: high level goals

Reference material:

As someone who wants to use your research software to reproduce results, test alternate hypotheses, build on your existing hard work, etc., we would appreciate it immensely if we can:

  1. Find your code: descriptive metadata exposed in interoperable format(s) by the digital repository and indexed by scholarly indices / search engines
  2. Cite your code: permanent identifiers resolve to the specific version(s) of software used in the resulting publication
  3. Understand how to use your code: (this one will be long!) read clear and cogent narrative documentation with details on how to build and execute your research software. Also, please describe acceptable inputs, expected outputs, any software and data dependencies (versioned with permanent identifiers if possible), what assumptions if any exist
  4. Make contributions to your code: (stretch goal?) add new features, fix bugs, refactor and reduce technical debt, improve documentation, etc.
  5. Any others we've missed? Please let us know with a pull request or issue.

FAIR practices for research software

  1. License your code
  2. Document your code with narrative documentation and descriptive metadata that meet community / domain specific standards
  3. Archive your code in a TRUSTed digital repository that exposes your descriptive metadata in accessible and interoperable ways (e.g., Zenodo for your GitHub repositories: https://guides.github.com/activities/citable-code/)
  4. Use disciplined version control with descriptive commit messages and clear provenance (goals: small focused commits, clean history, linkages between commits, issues, and pull requests, continuous integration)
  5. Any others we've missed? Please let us know with a pull request or issue.