Add citation file and automatically create DOI with manual pipeline

Description

Many people use OTB, developers and also scientists. A good practice for user that cite OTB is to use the DOI (Digital Object Identifier).

We use a DOI today but it is unknown. We need to display it on website, cookbook and repository. As a DOI is created at each new release, a CI job can be created.

Another way to cite a software is to use the Citation File Format (CFF) which is a file at the root of the project containing information to cite the software in a human understandable way. It is also use by zenodo thus we could make two moves in one.

Information about DOI should be displayed as a badge like pipeline state in readme.

Definition of Ready

Generic:

  • Issue complexity evaluated
  • Priority of issue evaluated
  • If there is specific test data needed, it should be detailed and available
  • If there is a specific documentation/specification need, it should be available to the development team
  • Time during the sprint to realize this issue
  • Blocking elements resolved (check if non-applicable, detail otherwise the resolved elements)

Specific:

  • Credentials to use Zenodo available
  • In credential file, know who must be cited

Definition of Done

Generic:

  • No test regression on CI
  • Code reviewed by peers
  • Code cleaned, no "debug" traces or "TODO" comments kept.
  • New code documented

Specific:

  • A CI job that can be triggered manually or automatically at each release to create a new DOI for this specific release
  • Citation file at the root of the project
  • Zenodo badge displayed on the README, the Cookbook and the website
  • "How to cite OTB" on the cookbook and the ReadMe
Edited by Tristan Laurent