Software zitieren#
James Howison und Julia Bullard führten in ihrem 2016 veröffentlichten Artikel Software in the scientific literature folgende Beispiele in absteigender Reputation auf:
zitieren von Veröffentlichungen, die die jeweilige Software beschreiben
zitieren von Bedienungsanleitungen
zitieren der Software-Projekt-Website
Link auf eine Software-Projekt-Website
erwähnen des Software-Namens
Die Situation bleibt für die Autor*innen von Software dennoch unbefriedigend, zumal wenn sie sich von den Autor*innen der Software-Beschreibung unterscheiden. Umgekehrt ist Forschungssoftware leider auch nicht immer gut geeignet um zitiert zu werden. So werden Kollegen eure Software kaum direkt zitieren können, wenn ihr ihnen die Software als Anhang von E-Mails schickt. Auch ein Download-Link ist hier noch nicht wirklich zielführend. Aber wie können Autor*innen ihre Software zitierfähig bereitstellen?
Digital object identifier (DOI) werden in der Wissenschaft häufig für zum Zitieren verwendet. Zenodo ermöglicht die Archivierung von Software und die Bereitstellung eines DOI für diese Software. Im Folgenden werde ich am Beispiel des Jupyter-Tutorials zeigen, welche Schritte hierzu erforderlich sind:
Wenn ihr noch keinen Account für Zenodo habt, erstellt einen, bevorzugt mit GitHub.
Nun wählt das Repository aus, das ihr archivieren wollt:
Überprüft, ob Zenodo einen Webhook in eurem Repository für das Releases-Event erstellt hat:
Erstellt ein neues Release:
Überprüft, ob der DOI korrekt erstellt wurde:
Schließlich könnt ihr den Badge in der README-Datei eurer Software einbinden:
- Markdown:
[](https://zenodo.org/badge/latestdoi/307380211)
- reStructedText:
.. image:: https://zenodo.org/badge/307380211.svg :target: https://zenodo.org/badge/latestdoi/307380211
Die FORCE11 -Arbeitsgruppe hat ein Paper veröffentlicht, in denen Prinzipien des wissenschaftlichen Software-zitierens dargelegt werden: Arfon Smith, Daniel Katz, Kyle Niemeyer: FORCE11 Software Citation Working Group, 2016. Dabei kristallisieren sich aktuell zwei Projekte für strukturierte Metadaten heraus:
- CodeMeta
Austauschschema für allgemeine Software-Metadaten und Referenzimplementierung für JSON for Linking Data (JSON-LD).
Dabei wird eine
codemeta.json
-Datei im Stammverzeichnis des Software-Repository erwartet. Die Datei kann z.B. so aussehen:{ "@context": "https://doi.org/10.5063/schema/codemeta-2.0", "@type": "SoftwareSourceCode", "author": [{ "@type": "Person", "givenName": "Stephan", "familyName": "Druskat", "@id": "http://orcid.org/0000-0003-4925-7248" }], "name": "My Research Tool", "softwareVersion": "2.0", "identifier": "https://doi.org/10.5281/zenodo.1234", "datePublished": "2017-12-18", "codeRepository": "https://github.com/research-software/my-research-tool" }
Siehe auch
- Citation File Format
Schema für Software-Citation-Metadaten in maschinenlesbarem YAML-Format
Dabei sollte eine Datei
CITATION.cff
im Stammverzeichnis des Software-Repository abgelegt werden.Der Inhalt der Datei kann z.B. so aussehen:
cff-version: "1.1.0" message: "If you use this tutorial, please cite it as below." authors: - family-names: Schiele given-names: Veit orcid: "https://orcid.org/https://orcid.org/0000-0002-2448-8958" identifiers: - type: doi value: "10.5281/zenodo.4147287" keywords: - "data-science" - jupyter - "jupyter-notebooks" - "jupyter-kernels" - ipython - pandas - spack - pipenv - ipywidgets - "ipython-widget" - dvc title: "Jupyter tutorial" version: "0.8.0" date-released: 2020-10-08 license: "BSD-3-Clause" repository-code: "https://github.com/veit/jupyter-tutorial"
Ihr könnt einfach das obige Beispiel anpassen um eure eigene
CITATION.cff
-Datei zu erzeugen oder die Website cffinit verwenden.Mit cff-validator steht euch eine GitHub-Action zur Verfügung, die
CITATION.cff
-Dateien mit dem R-PaketV8
überprüft.Es gibt auch einige Tools zum Workflow von
CITATION.cff
-Dateien:cff-converter-python konvertiert
CITATION.cff
-Dateien in BibTeX, RIS, CodeMeta- und andere Dateiformatedoi2cff erstellt eine
CITATION.cff
-Datei aus einem Zenodo DOI
Auch GitHub bietet einen Service um die Informationen aus der
CITATION.cff
-Datei eures GitHub-Repository im APA- und BibTex-Format zu kopieren.Siehe auch
Wenn ihr einen DOI mit Zenodo registriert, wird die
CITATION.cff
-Datei aus dem GitHub-Repository ebenfalls verwendet. Auch Zotero interpretiert die CFF-Datei in GitHub-Repositories; Zotero kann jedoch auch ohne CFF-Datei Metainformationen des Repository, wie Unternehmen, Programmiersprache etc., übernehmen.
Ihr solltet einen Persistent Identifier (PID) bereitstellen, um die langfristige Verfügbarkeit eurer Software sicherzustellen. Sowohl das Zenodo- als auch das figshare-Repository akzeptieren Quellcode einschließlich Binärdateien und stellen DOIs hierfür breit. Gleiches gilt für CiteAs, mit dem sich Zitierinformationen für Software abrufen lassen.
Siehe auch
Daniel S. Katz: Compact identifiers for software: The last missing link in user-oriented software citation?
Recognizing the value of software: a software citation guide
Stephan Druskat, Radovan Bast, Neil Chue Hong, Alexander Konovalov, Andrew Rowley, Raniere Silva: A standard format for CITATION files
Software Heritage: Save and reference research software
Extensions to schema.org to support structured, semantic, and executable documents