Forschungssoftware veröffentlichen

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.



Forschungssoftware verfügbar machen

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

ExecShare: Der WebService ExecShare ermöglicht es, in R, MATLAB©, C++, Fortran oder Rats geschriebenen Code ausführbar zur Verfügung zu stellen. Nutzer des Services können den Code dann mit eigenen Daten ausführen.

Weitere Möglichkeiten, Code und Software ausführbar zur Verfügung zu stellen bieten jupyter-Notebooks oder Docker-Container.

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



Forschungssoftware beschreiben und identifizieren

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.



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).