Difference between revisions of "Persistent identifiers(pid)"

From OSGeo
Jump to navigation Jump to search
m (added sample json file and DOI reservation option)
Line 89: Line 89:
 
*Pro: Immediate automated updates of DOI payload and metadata for each software release on GitHub
 
*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 ?)
 
*Con: Takes a bit longer than option 1 (20 minutes ?)
*Beware: If no CFF or .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. This can be manually edited afterwards, but is awkward.
+
*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 [https://zenodo.org/record/4723586#.Yd7r0WjMJD8 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"
 +
        }
 +
    ]
 +
}
 +
 
 +
 
 
====Howto====
 
====Howto====
  
 
* [https://guides.lib.berkeley.edu/citeyourcode How to make your code citable (Berkeley Library)]
 
* [https://guides.lib.berkeley.edu/citeyourcode How to make your code citable (Berkeley Library)]
 
* [https://www.youtube.com/watch?v=A9FGAU9S9Ow Tutorial video (YouTube)]
 
* [https://www.youtube.com/watch?v=A9FGAU9S9Ow Tutorial video (YouTube)]
* Not covered in the video and the Berkeley guido: A file (hard-)named ".zenodo.json" may be added to the top-level of the GitHub repo for advanced author info handling ([https://github.com/OSGeo/MOSS/blob/main/.zenodo.json Example from MOSS project]).
+
* 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 ([https://github.com/OSGeo/MOSS/blob/main/.zenodo.json 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 https://help.zenodo.org: "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."
  
 
====Examples====
 
====Examples====

Revision as of 08:53, 12 January 2022

Persistent Identifiers (PID): Introduction and HowTo

Scope

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

Status

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

tbd

PID for data

PID for video

[page on the TIB AV-Portal]

PID for physical objects

tbd

Infrastructure

Software Repositories

  • GitHub
  • GitLab

Open Access Repositories

Zenodo

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

Requirements

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.

Options

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

*Howto video

Examples

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"
       }
   ]

}


Howto

  • 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 https://help.zenodo.org: "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."

Examples

FAQ