Persistent identifiers(pid)

From OSGeo
Revision as of 08:55, 12 January 2022 by Gisix (talk | contribs) (added MapServer & more candidates)
Jump to navigation Jump to search

Persistent Identifiers (PID): Introduction and HowTo


This wiki page summarizes relevant facts and procedures regarding persistent identifers (PID) for the OSGeo communities.


Draft (2022-01-09)

What are PID and why do they matter to OSGeo

Terminology and Abbreviations

  • PID:
  • DOI:
  • ISSN:
  • ISBN:
  • Open Access:
  • FAIR:
  • Zenodo:
  • Landing page:
  • CFF:
  • GitHub:
  • Software Versioning:
  • Roles:
  • Video quotes:

PID for software

Digital Object Identifier (DOI)

Dealing with different roles within projects

PID for people

Open Researcher and Contributor ID (ORCID)

PID for documentation


PID for data

PID for video

[page on the TIB AV-Portal]

PID for physical objects



Software Repositories

  • GitHub
  • GitLab

Open Access Repositories


Description according to Wikipedia:

  • Zenodo is a general-purpose open-access repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit research papers, data sets, research software, reports, and any other research related digital artefacts. For each submission, a persistent digital object identifier (DOI) is minted, which makes the stored items easily citeable.
  • Zenodo was created in 2013 under the name OpenAire orphan records repository to let researchers in any subject area comply with any open science deposit requirement absent in an institutional repository. It was relaunched as Zenodo in 2015 to provide a place for researchers to deposit datasets; it allows the uploading of files up to 50 GB.
  • It provides a DOI to datasets and other submitted data that lacks one to make the work easier to cite and supports various data and license types. One supported source is GitHub repositories.
  • Zenodo is supported by CERN "as a marginal activity" and hosted on the high-performance computing infrastructure that is primarily operated for the needs of high-energy physics.
  • Zenodo is run with Invenio (a free software framework for large-scale digital repositories), wrapped by a small extra layer of code that is also called Zenodo.
  • In 2019, Zenodo announced a partnership with the fellow data repository Dryad to co-develop new solutions focused on supporting researcher and publisher workflows as well as best practices in software and data curation.
  • As of 2021, Zenodo's publicly available statistics for open items reported a total of over 45 million "unique views" and over 55 million "unique downloads". Also in 2021, Zenodo reported it had crossed 1 Petabyte in hosted data and 15 million yearly visits.

Howto: Registering a DOI for a OSGeo software Project


This should be done by a person who represents the software project (member of PSC or similar). This step requires login credentials for both the GitHub and the Zenodo account. A Zenodo account can be easily set up.


ORCIDs for authors, developers and other project staff can be embedded in the DOI metadata, allowing for proper citation.

Quick Approach: Upload a repository-snapshot to Zenodo

  • Pro: Takes less than 10 minutes to achieve
  • Pro: Can be extended and superseeded with better integration options. the DOI will stay always valid regardless and will point to the most up to date software version (and author credits)
  • Pro: No need to set webhooks in Zenodo or store description files in GitHub
  • Con: Metadata (author list) must be edited manually. (ORCID option ?)
  • Con: Every software release requires maintenance work by project staff, as an additional tarball must be uploaded and metadata must be updated.


*Howto video


Sustainable Approach: Create a live link between the GitHub Repo and Zenodo

  • Pro: Immediate automated updates of DOI payload and metadata for each software release on GitHub
  • Con: Takes a bit longer than option 1 (20 minutes ?)
  • Beware: If no .zenodo.json file is included, the author section of the DOI landing page will be reset to the username of the owner of the GitHub repo (as shown here ). This can be manually edited afterwards, but is awkward. Also, the citation style service in the lower right of the page will not work. It is set up to provide on the fly references according to many established citation styles (e.g. AIMS Geoscience, Springer, etc.).

Example of a .zenodo.json file

Please note that the structure of the file must match this example. Do not use tabs for formatting.


   "creators": [
           "name": "Firstauthor, Anna"
           "affiliation": "OSGeo",
           "orcid": "0000-0002-1041-4213"
           "name": "Doe, Jane"
           "affiliation": "Foo",
           "orcid": "0000-0002-1041-4211"
           "name": "Doe, John"
           "affiliation": "Baz",
           "orcid": "0000-0002-1041-4212"



  • How to make your code citable (Berkeley Library)
  • Tutorial video (YouTube)
  • Not covered in the video and the Berkeley guide: A file (hard-)named ".zenodo.json" may be added to the top-level of the GitHub repo for advanced author info handling (Example from MOSS project, see above for a code example).
  • Option: Preregister a DOI. This is useful if the DOI string is needed before the next software release comes around (which will trigger the actual minting of the DOI). According to "On the upload page under Basic Information and Digital Object Identifier click the Reserve DOI button. The text field above will display the DOI that your record will have once it is published. This will not register the DOI yet, nor will it publish your record (so you can still update the files). This DOI can be safely used in the record's own content as well as any other separate datasets or papers you might be planning to publish."