Responsible Practices for Scientific Software

Responsible Practices for Scientific Software

A collection of responsible practices for developing and publishing FAIR+ computational models in efforts to be more transparent, interoperable, and reusable in our work.

Introduction

This tutorial introduces emerging practices and community standards for developing and publishing FAIR computational models. This will help your research be more transparent, interoperable, reusable, and increase its longevity and impact.

The FAIR Principles

The FAIR principles are a set of guidelines to make digital assets more Findable, Accessible, Interoperable and Reusable - in our case, the digital assets are computational models that examine social-ecological systems. The principles were initially published in 2016 and aimed generally at scientific data: CSVs, shapefiles, Excel sheets, relational databases, graph databases, etc. These FAIR data principles were later refined with additional guidance for Research Software by a Research Data Alliance working group and published as the FAIR for Research Software Principles in 2022.

Publications about the FAIR Principles

FAIR Guiding Principles for scientific data management and stewardship (2016)
Wilkinson, M. D., Dumontier, M., Aalbersberg, I. J., Appleton, G., Axton, M., Baak, A., … & Mons, B. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Scientific data, 3(1), 1-9. https://doi.org/10.1038/sdata.2016.18

FAIR Principles for Research Software (2022)
Chue Hong, Neil P., Katz, Daniel S., Barker, Michelle, Lamprecht, Anna-Lena, Martinez, Carlos, Psomopoulos, Fotis E., Harrow, Jen, Castro, Leyla Jael, Gruenpeter, Morane, Martinez, Paula Andrea, Honeyman, Tom, Struck, Alexander, Lee, Allen, Loewe, Axel, van Werkhoven, Ben, Jones, Catherine, Garijo, Daniel, Plomp, Esther, Genova, Francoise, … RDA FAIR4RS WG. (2022). FAIR Principles for Research Software (FAIR4RS Principles) (1.0). https://doi.org/10.15497/RDA00068

Metadata

Metadata is data about some other data. In this case, our other data is a computational model, and the metadata are the descriptive fields like the keywords, contributors, version numbers, narrative description and documentation, links and permanent identifiers to related resources and references, etc. It’s all the human and machine-readable things we use to annotate our computational models’ source code so that others can more easily find, evaluate, reuse, or extend our models.

GitHub now supports software citation via CITATION.cff files. CITATION.cff files are plain old YAML files that follow a schema which supports good software citation practices.

Code Management

Publishing Your Code

Documentation

More information on the ODD protocol

A standard protocol for describing individual-based and agent-based models
Grimm, V., Berger, U., Bastiansen, F., Eliassen, S., Ginot, V., Giske, J., Goss-Custard, J., Grand, T., Heinz, S., Huse, G., Huth, A., Jepsen, J. U., Jørgensen, C., Mooij, W. M., Müller, B., Pe’er, G., Piou, C., Railsback, S. F., Robbins, A. M., Robbins, M. M., Rossmanith, E., Rüger, N., Strand, E., Souissi, S., Stillman, R. A., Vabø, R., Visser, U., & DeAngelis, D. L. (2006). A standard protocol for describing individual-based and agent-based models. Ecological Modelling, 198, 115-126. https://doi.org/10.1016/j.ecolmodel.2006.04.023

The ODD Protocol for Describing Agent-Based and Other Simulation Models: A Second Update to Improve Clarity, Replication, and Structural Realism
Grimm, V., S.F. Railsback, C.E. Vincenot, U. Berger, C. Gallagher, D.L. DeAngelis, B. Edmonds, J. Ge, J. Giske, J. Groeneveld, A.S.A. Johnston, A. Milles, J. Nabe-Nielsen, J. Gareth Polhill, V. Radchuk, M.-S. Rohwäder, R.A. Stillman, J.C. Thiele, and D. Ayllón (2020) The ODD Protocol for Describing Agent-Based and Other Simulation Models: A Second Update to Improve Clarity, Replication, and Structural Realism, Journal of Artificial Societies and Social Simulation 23(2) 7, Doi: 10.18564/jasss.4259 Url: http://jasss.soc.surrey.ac.uk/23/2/7.html

Licenses

Our general recommendation is to use the MIT License for an easy to understand, permissive license that supports maximal reuse with a protective liability clause.

Please also note that the Creative Commons does NOT recommend using their licenses for software.

Additional guidance on choosing an open source license

Final Assessment

Once you have finished the above modules, please complete the following assessment. You will receive a certificate of completion after successfully passing the assessment.

Complete the final assessment

Feedback

Please use our education forums to ask questions or provide feedback on this course. Thanks!

This website uses cookies and Google Analytics to help us track user engagement and improve our site. If you'd like to know more information about what data we collect and why, please see our data privacy policy. If you continue to use this site, you consent to our use of cookies.
Accept