Forschungssoftware veröffentlichen

Software beschreiben, identifizieren, lizenzieren und verfügbar machen

Forschung beruht zunehmend auf Software, nicht nur bei der Analyse von Daten, sondern auch bei deren Produktion. Forschungsergebnisse können ohne die zugrundeliegende Software nur schwer nachvollzogen oder repliziert werden. Nicht zuletzt stellt eigen entwickelte Forschungssoftware oder -Code selbst ein Forschungsergebnis dar, das von anderen nachgenutzt werden kann.

Eigen entwickelte Forschungs-Codes sind allerdings selten perfekt. Der Veröffentlichung entgegen steht daher der Aufwand der Aufbereitung und Dokumentation, technische und rechtliche Hindernisse und die Befürchtung, Nachteile im wissenschaftlichen Wettbewerb zu erleiden (Stodden, 2010).

Barnes (2010) fordert dennoch auf, auch nicht-perfekten Code zu veröffentlichen. Technische Plattformen helfen bei der Veröffentlichung. Metadatenstandards wie CodeMeta beschreiben wissenschaftliche Software mensch- und maschinenlesbar und verschiedene Quellen helfen bei der Auswahl einer passenden Lizenz.

Ein erster und wichtiger Schritt ist die Veröffentlichung des Quellcodes auf einer öffentlich erreichbaren Versionierungsplattform wie GitHub oder GitLab. Um eine bestimmte Version einer Software aber zitierbar, langfristig erreichbar und mit einem Identifier versehen zu veröffentlichen, helfen Services wir SoftwareHeritage oder Datenrepositorien wie DaRUS.

Forschungssoftware beschreiben und identifizieren

Citation File Format: Eine Datei im Citation File Format beinhaltet alle Informationen zum korrekten Zitieren einer Software in einem strukturierten und dennoch einfachen Format. 

CodeMeta: Das Projekt CodeMeta hat ein minimales Metadatenschema zur Beschreibung von wissenschaftlicher Software und Code entwickelt. Es basiert auf schema.org und ist in XML und JSON-LD verfügbar. 

Gent et. al (2015) geben eine Richtlinie zum Identifizieren von Software mit DataCite.

Forschungssoftware lizenzieren

Die richtige Lizenz für die eigene Software zu finden, ist keine leichte Aufgabe. Verwendet man selber OpenSource-Bibliotheken, muss die zugrundeliegende Lizenz aller verwendeten Komponenten mit beachtet werden. Morin (2012) gibt eine Anleitung und Übersicht über die Möglichkeiten. Der Blog-Beitrag von Jake VanderPlas informiert über das Warum und Wie von Lizenzen für wissenschaftliche Software. Eine Auflistung vorhandener (OpenSource-)Lizenzen findet man auch bei Gnu.Org.

Die Plattform ChooseALicence gibt Hilfestellung bei der Auswahl einer passenden Lizenz.

Forschungssoftware verfügbar machen

Software Heritage: Das Software Archiv von Software Heritage sammelt und bewahrt öffentlich verfügbare Software in Form von Source Code und ermöglicht das Zitieren auf verschiedenen Ebenen von Software über Version, Datei bis hin auf Code-Zeilen-Ebene. 

run my code: Auf RunMyCode.org können Daten und Code, die einer Publikation zu Grunde liegen, nachvollziehbar veröffentlicht werden.

Weitere Möglichkeiten, Code und Software ausführbar zur Verfügung zu stellen bieten jupyter-Notebooks oder Docker-Container. Das WholeTale-Projekt verbindet beide Technologien und erstellt eine Plattform für nachvollziehbare Forschung.

Auch in Zeitschriften kann Software publiziert werden. Dieser Blogbeitrag gibt einen Überblick über diese Zeitschriften auch in Hinblick auf verschiedene Fachbereiche.

Literatur und weiterführende Informationen

Barnes, N. (2010). Publish your computer code: it is good enough. Nature, 467, 753.

Gent, I., Jones, C. & Matthews, B. (2015). Guidelines for persistently identifying software using DataCite

Morin, A., Urban, J. & Sliz, P. (2012). A quick guide to software licensing for the scientist-programmer. PLoS Comput Biol, 8. doi: 10.1371/journal.pcbi.1002598

Stodden, V. (2010). The Scientific Method in Practice: Reproducibility in the Computational Sciences (MIT Sloan Research Paper No. 4773-10).

Kontakt

 

FoKUS-Team

Zum Seitenanfang