euroargodev / euroargodev/software_guidelines

The software has a unique persistent identifier (e.g. DOI, SWHID)

Open
#49 1 comment 0 reactions 0 assignees View on GitHub
guideline
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### Description

A unique persistent identifier (PID) ensures that your software can be unambiguously cited, referenced, and discovered over time, even if its location (e.g., repository URL) changes.
PIDs like DOIs (Digital Object Identifiers) or SWHIDs (Software Heritage Identifiers) provide a stable, long-term link to your software, enabling proper credit, reproducibility, and compliance with the "Findable" FAIR4RS principle.

**The unique persistent identifier for your software must be visible in the README and CITATION.cff files of your repository**. See guidelines #28 and #32.

### Examples of Persistent Identifiers for Software

#### **1. DOI (Digital Object Identifier)**

We recommend to use a DOI from a peer-reviewed article, typically from [JOSS, the Journal of Open Source Software](https://joss.theoj.org/) that is a developer friendly, open access journal for research software packages.
Article are just 2-to-3 pages long and relates uniquely to the description and rational of the software features.
The point is that to submit an article to JOSS, you will have to check a list of requirements that overlap significantly with the present guidelines. **Preparing a JOSS article is thus a nice and efficient method to adopt guidelines.**

Here are a few example of JOSS papers wrt Argo:
- Maze et al., (2020). argopy: A Python library for Argo ocean data analysis. Journal of Open Source Software, 5(53), 2425, https://doi.org/10.21105/joss.02425
- Dunnington et al., (2021). argodata: An R interface to oceanographic data from the International Argo Program. Journal of Open Source Software, 6(68), 3659, https://doi.org/10.21105/joss.03659

For _beginners_ or _intermediate_ users (wrt software development), you can also get a DOI from:
- **Zenodo**: Automatically assigns a DOI when you publish a software release (integrates with GitHub).
- **Figshare**: Supports DOIs for software deposits.
- **Crossref**: For formally published software papers.

#### **2. SWHID (Software Heritage Identifier)**
- **Where to get it**:
- **Software Heritage (SWH)**: Automatically archives Git repositories and assigns SWHIDs.
- Example SWHID: `swh:1:dir:3d568702945207a22ac35e038256e4be88d20f17`
- **Use case**:
- Ideal for tracking **specific versions** of code in Git repositories.
- Example link: [https://archive.softwareheritage.org/swh:1:dir:3d568702945207a22ac35e038256e4be88d20f17](https://archive.softwareheritage.org/swh:1:dir:3d568702945207a22ac35e038256e4be88d20f17)

#### **3. Other Identifiers**
- **Research Software Directory (RSD) ID**: For software registered in the [Research Software Directory](https://research-software.nl/). Note that Euro-Argo is listed as an organisation on RSD (see [here](https://research-software-directory.org/organisations/euro-argo-eric)). Examples of Argo software listed on RSD:
- https://research-software-directory.org/software/argopy
- **GitHub Release Tag**: While not a PID, tags (e.g., `v1.0.0`) can be combined with DOIs/SWHIDs for versioning.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.