diff --git a/Writing/documentation.bib b/Writing/documentation.bib index dbca74e..64ec29b 100644 --- a/Writing/documentation.bib +++ b/Writing/documentation.bib @@ -76,7 +76,7 @@ % == BibLateX quality report for CremerEtAl2024Projektmanagement: % Missing required field 'author' -@article{DiehlEtAl2025JournalOpenSource, +@article{Diehl2025JournalOpenSource, title = {The {{Journal}} of {{Open Source Software}} ({{JOSS}}): {{Bringing Open-Source Software Practices}} to the {{Scholarly Publishing Community}} for {{Authors}}, {{Reviewers}}, {{Editors}}, and {{Publishers}}}, shorttitle = {The {{Journal}} of {{Open Source Software}} ({{JOSS}})}, author = {Diehl, Patrick and Soneson, Charlotte and Kurchin, Rachel C. and Mounce, Ross and Katz, Daniel S.}, @@ -96,7 +96,7 @@ keywords = {project: documentation,Project: Methods Lab 🥼}, file = {/home/drezil/Zotero/storage/G4T6JNUU/Diehl et al. - 2025 - The Journal of Open Source Software (JOSS) Bringing Open-Source Software Practices to the Scholarly.pdf} } -% == BibLateX quality report for DiehlEtAl2025JournalOpenSource: +% == BibLateX quality report for Diehl2025JournalOpenSource: % Unexpected field 'publisher' % ? Title looks like it was stored in title-case in Zotero % ? unused Library catalog ("www.iastatedigitalpress.com") @@ -160,28 +160,26 @@ % ? Title looks like it was stored in title-case in Zotero % ? unused Library catalog ("DOI.org (Crossref)") -@book{Kemman2021Trading, - title = {Trading {{Zones}} of {{Digital History}}}, - author = {Kemman, Max}, - date = {2021}, - series = {Studies in {{Digital History}} and {{Hermeneutics}}}, - number = {1}, - publisher = {De Gruyter Oldenbourg}, - location = {Berlin, Boston}, - doi = {10.1515/9783110682106}, - url = {https://www.degruyter.com/document/doi/10.1515/9783110682106/html}, - urldate = {2021-09-23}, - abstract = {Digital history is commonly argued to be positioned between the traditionally historical and the computational or digital. By studying digital history collaborations and the establishment of the Luxembourg Centre for Contemporary and Digital History, Kemman examines how digital history will impact historical scholarship. His analysis shows that digital history does not occupy a singular position between the digital and the historical. Instead, historians continuously move across this dimension, choosing or finding themselves in different positions as they construct different trading zones through cross-disciplinary engagement, negotiation of research goals and individual interests.}, - isbn = {978-3-11-068210-6}, +@article{JimenezEtAl2017FourSimpleRecommendations, + title = {Four Simple Recommendations to Encourage Best Practices in Research Software}, + author = {Jiménez, Rafael C. and Kuzak, Mateusz and Alhamdoosh, Monther and Barker, Michelle and Batut, Bérénice and Borg, Mikael and Capella-Gutierrez, Salvador and Chue Hong, Neil and Cook, Martin and Corpas, Manuel and Flannery, Madison and Garcia, Leyla and Gelpí, Josep Ll. and Gladman, Simon and Goble, Carole and González Ferreiro, Montserrat and Gonzalez-Beltran, Alejandra and Griffin, Philippa C. and Grüning, Björn and Hagberg, Jonas and Holub, Petr and Hooft, Rob and Ison, Jon and Katz, Daniel S. and Leskošek, Brane and López Gómez, Federico and Oliveira, Luis J. and Mellor, David and Mosbergen, Rowland and Mulder, Nicola and Perez-Riverol, Yasset and Pergl, Robert and Pichler, Horst and Pope, Bernard and Sanz, Ferran and Schneider, Maria V. and Stodden, Victoria and Suchecki, Radosław and Svobodová Vařeková, Radka and Talvik, Harry-Anton and Todorov, Ilian and Treloar, Andrew and Tyagi, Sonika and Van Gompel, Maarten and Vaughan, Daniel and Via, Allegra and Wang, Xiaochuan and Watson-Haigh, Nathan S. and Crouch, Steve}, + date = {2017-06-13}, + journaltitle = {F1000Research}, + shortjournal = {F1000Res}, + volume = {6}, + pages = {876}, + issn = {2046-1402}, + doi = {10.12688/f1000research.11407.1}, + url = {https://f1000research.com/articles/6-876/v1}, + urldate = {2025-06-05}, + abstract = {Scientific research relies on computer software, yet software is not always developed following practices that ensure its quality and sustainability. This manuscript does not aim to propose new software development best practices, but rather to provide simple recommendations that encourage the adoption of existing best practices. Software development best practices promote better quality software, and better quality software improves the reproducibility and reusability of research. These recommendations are designed around Open Source values, and provide practical suggestions that contribute to making research software and its source code more discoverable, reusable and transparent. This manuscript is aimed at developers, but also at organisations, projects, journals and funders that can increase the quality and sustainability of research software by encouraging the adoption of these recommendations.}, langid = {english}, language = {en}, - pagetotal = {182}, - keywords = {Digital History,Eintrag bereinigt,PDF (Dropbox),project: documentation,TH-MA-Bloomsbury}, - file = {/home/drezil/Zotero/storage/ZS2QA2H6/Kemman - 2021 - Trading Zones of Digital History.pdf} + keywords = {Praxisregeln,project: documentation,Project: Methods Lab 🥼,Research Software Engineering}, + file = {/home/drezil/Zotero/storage/86E3F4DV/Jiménez et al. - 2017 - Four simple recommendations to encourage best practices in research software.pdf} } -% == BibLateX quality report for Kemman2021Trading: -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("www.degruyter.com") +% == BibLateX quality report for JimenezEtAl2017FourSimpleRecommendations: +% ? unused Library catalog ("DOI.org (Crossref)") @inproceedings{KluyverEtAl2016JupyterNotebookspublishing, title = {Jupyter {{Notebooks}} – a Publishing Format for Reproducible Computational Workflows}, @@ -206,7 +204,7 @@ % Missing required field 'booktitle' % ? unused Library catalog ("eprints.soton.ac.uk") -@article{lamprecht2020towards, +@article{Lamprecht2020TowardsFAIRPrinciples, title = {Towards {{FAIR}} Principles for~Research~Software}, author = {Lamprecht, Anna-Lena and Garcia, Leyla and Kuzak, Mateusz and Martinez, Carlos and Arcila, Ricardo and Martin Del Pico, Eva and Dominguez Del Angel, Victoria and family=Sandt, given=Stephanie, prefix=van de, useprefix=true and Ison, Jon and Martinez, Paula Andrea and McQuilton, Peter and Valencia, Alfonso and Harrow, Jennifer and Psomopoulos, Fotis and Gelpi, Josep Ll. and Chue Hong, Neil and Goble, Carole and Capella-Gutierrez, Salvador}, date = {2020-06-12}, @@ -225,7 +223,7 @@ keywords = {project: documentation,Project: Methods Lab 🥼}, file = {/home/drezil/Zotero/storage/CCXUNESS/Lamprecht et al. - 2020 - Towards FAIR principles for research software.pdf} } -% == BibLateX quality report for lamprecht2020towards: +% == BibLateX quality report for Lamprecht2020TowardsFAIRPrinciples: % Unexpected field 'publisher' % ? unused Library catalog ("SAGE Journals") @@ -252,29 +250,6 @@ % Unexpected field 'publisher' % ? unused Library catalog ("PLoS Journals") -@article{NoyEtAl2019IndustryscaleKnowledge, - title = {Software Citation Principles}, - author = {Smith, Arfon M. and Katz, Daniel S. and Niemeyer, Kyle E.}, - date = {2016}, - journaltitle = {PeerJ Computer Science}, - shortjournal = {PeerJ Comput. Sci.}, - volume = {2}, - publisher = {PeerJ Inc.}, - issn = {2376-5992}, - doi = {10.7717/peerj-cs.86}, - url = {https://peerj.com/articles/cs-86}, - urldate = {2020-09-11}, - abstract = {Software is a critical part of modern research and yet there is little support across the scholarly ecosystem for its acknowledgement and citation. Inspired by the activities of the FORCE11 working group focused on data citation, this document summarizes the recommendations of the FORCE11 Software Citation Working Group and its activities between June 2015 and April 2016. Based on a review of existing community practices, the goal of the working group was to produce a consolidated set of citation principles that may encourage broad adoption of a consistent policy for software citation across disciplines and venues. Our work is presented here as a set of software citation principles, a discussion of the motivations for developing the principles, reviews of existing community practice, and a discussion of the requirements these principles would place upon different stakeholders. Working examples and possible technical solutions for how these principles can be implemented will be discussed in a separate paper.}, - langid = {english}, - language = {en}, - keywords = {Eintrag bereinigt,PDF (Dropbox),project: documentation,Project: Methods Lab 🥼,Research Software Engineering}, - annotation = {Keine weiteren Informationen gefunden}, - file = {/home/drezil/Zotero/storage/XVF927LY/Smith et al. - 2016 - Software citation principles.pdf} -} -% == BibLateX quality report for NoyEtAl2019IndustryscaleKnowledge: -% Unexpected field 'publisher' -% ? unused Library catalog ("peerj.com") - @article{PrlicProcter2012TenSimpleRules, title = {Ten {{Simple Rules}} for the {{Open Development}} of {{Scientific Software}}}, author = {Prlić, Andreas and Procter, James B.}, @@ -299,263 +274,7 @@ % ? Title looks like it was stored in title-case in Zotero % ? unused Library catalog ("PLoS Journals") -@article{WilsonEtAl2017Goodenoughpractices, - title = {Good Enough Practices in Scientific Computing}, - author = {Wilson, Greg and Bryan, Jennifer and Cranston, Karen and Kitzes, Justin and Nederbragt, Lex and Teal, Tracy K.}, - date = {2017-06-22}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {13}, - number = {6}, - pages = {e1005510}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1005510}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510}, - urldate = {2025-05-15}, - abstract = {Author summary Computers are now essential in all branches of science, but most researchers are never taught the equivalent of basic lab skills for research computing. As a result, data can get lost, analyses can take much longer than necessary, and researchers are limited in how effectively they can work with software and data. Computing workflows need to follow the same practices as lab projects and notebooks, with organized data, documented steps, and the project structured for reproducibility, but researchers new to computing often don't know where to start. This paper presents a set of good computing practices that every researcher can adopt, regardless of their current level of computational skill. These practices, which encompass data management, programming, collaborating with colleagues, organizing projects, tracking work, and writing manuscripts, are drawn from a wide variety of published sources from our daily lives and from our work with volunteer organizations that have delivered workshops to over 11,000 people since 2010.}, - langid = {english}, - language = {en}, - keywords = {Computer software,Control systems,Data management,Metadata,Programming languages,project: documentation,Project: Methods Lab 🥼,Reproducibility,Software tools,Source code}, - file = {/home/drezil/Zotero/storage/KWWLZBNY/Wilson et al. - 2017 - Good enough practices in scientific computing.pdf} -} -% == BibLateX quality report for WilsonEtAl2017Goodenoughpractices: -% Unexpected field 'publisher' -% ? unused Library catalog ("PLoS Journals") -@book{AhnertEtAl2023CollaborativeHistoricalResearch, - title = {Collaborative {{Historical Research}} in the {{Age}} of {{Big Data}}: {{Lessons}} from an {{Interdisciplinary Project}}}, - shorttitle = {Collaborative {{Historical Research}} in the {{Age}} of {{Big Data}}}, - author = {Ahnert, Ruth and Griffin, Emma and Ridge, Mia and Tolfo, Giorgia}, - date = {2023}, - series = {Cambridge {{Elements}}: {{Historical Theory}} and {{Practice}}}, - publisher = {Cambridge University Press}, - location = {Cambridge}, - doi = {10.1017/9781009175548}, - url = {https://www.cambridge.org/core/elements/collaborative-historical-research-in-the-age-of-big-data/839C422CCAA6C1699DE8D353B3A1960D}, - urldate = {2023-01-26}, - abstract = {This book is output of the Living with Machines project}, - langid = {english}, - language = {en}, - keywords = {field: History,project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/ET5S8DMH/Ahnert et al. - 2023 - Collaborative Historical Research in the Age of Big Data Lessons from an Interdisciplinary Project.pdf} -} -% == BibLateX quality report for AhnertEtAl2023CollaborativeHistoricalResearch: -% ? Title looks like it was stored in title-case in Zotero - -@report{AltenhonerEtAl2023DFGPraxisregeln, - title = {DFG-Praxisregeln "Digitalisierung". Aktualisierte Fassung 2022.}, - author = {Altenhöner, Reinhard and Berger, Andreas and Bracht, Christian and Klimpel, Paul and Meyer, Sebastian and Neuburger, Andreas and Stäcker, Thomas and Stein, Regine}, - date = {2023-02-16}, - url = {https://zenodo.org/record/7435724}, - urldate = {2023-03-07}, - abstract = {Die DFG-Praxisregeln „Digitalisierung“ stellen eine zentrale Grundlage für DFG-geförderte Projekte im Programm „Digitalisierung und Erschließung“ dar: Sie formulieren Standards und enthalten Informationen zu organisatorischen, methodischen und technischen Fragen im Kontext der Digitalisierung und Erschließung forschungsrelevanter Objekte. Sie leisten damit einen wichtigen Beitrag zur Nachhaltigkeit, Zugänglichkeit und Anschlussfähigkeit geförderter Projekte und der in diesem Zusammenhang entstehenden Infrastruktur. Das vorliegende Dokument stellt eine aktualisierte Fassung der zuletzt 2016 durch die DFG publizierten Praxisregeln dar. Es wurde in Absprache mit der DFG-Geschäftsstelle durch eine vom NFDI-Konsortium NFDI4Culture initiierte Autor*innengruppe erarbeitet, deren Mitglieder mehrheitlich seit langem an der Ausgestaltung der Praxisregeln beteiligt waren sowie aktiv in die NFDI-Konsortien NFDI4Culture, NFDI4Memory, NFDI4Objects und Text+ eingebunden sind. Die jetzt überarbeitet vorliegenden Praxisregeln „Digitalisierung“ dienen als Ausgangspunkt für eine material- und communitybezogene Ausdifferenzierung der Praxisregeln durch die Communitys. Alle mit der Digitalisierung forschungsrelevanter Objekte befassten Communitys und Einrichtungen sind dazu aufgerufen, mit ihrer Expertise am weiteren Prozess mitzuwirken.}, - langid = {deu}, - language = {deu}, - keywords = {Digital Scholarly Editions,Digitalisierung,Erschließung,Informationsinfrastrukturen,NFDI,Praxisregeln,project: documentation,Project: Methods Lab 🥼,Standardbildung,TEI: Text Encoding Initiative}, - file = {/home/drezil/Zotero/storage/46FYRPPH/Altenhöner et al. - 2023 - DFG-Praxisregeln Digitalisierung. Aktualisierte Fassung 2022..pdf} -} -% == BibLateX quality report for AltenhonerEtAl2023DFGPraxisregeln: -% Missing required field 'type' -% Missing required field 'institution' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("Zenodo") - -@article{BarkerEtAl2022IntroducingFAIR, - title = {Introducing the {{FAIR Principles}} for Research Software}, - author = {Barker, Michelle and Chue Hong, Neil P. and Katz, Daniel S. and Lamprecht, Anna-Lena and Martinez-Ortiz, Carlos and Psomopoulos, Fotis and Harrow, Jennifer and Castro, Leyla Jael and Gruenpeter, Morane and Martinez, Paula Andrea and Honeyman, Tom}, - date = {2022-10-14}, - journaltitle = {Scientific Data}, - shortjournal = {Sci Data}, - volume = {9}, - number = {1}, - pages = {622}, - publisher = {Nature Publishing Group}, - issn = {2052-4463}, - doi = {10.1038/s41597-022-01710-x}, - url = {https://www.nature.com/articles/s41597-022-01710-x}, - urldate = {2024-09-10}, - abstract = {Research software is a fundamental and vital part of research, yet significant challenges to discoverability, productivity, quality, reproducibility, and sustainability exist. Improving the practice of scholarship is a common goal of the open science, open source, and FAIR (Findable, Accessible, Interoperable and Reusable) communities and research software is now being understood as a type of digital object to which FAIR should be applied. This emergence reflects a maturation of the research community to better understand the crucial role of FAIR research software in maximising research value. The FAIR for Research Software (FAIR4RS) Working Group has adapted the FAIR Guiding Principles to create the FAIR Principles for Research Software (FAIR4RS Principles). The contents and context of the FAIR4RS Principles are summarised here to provide the basis for discussion of their adoption. Examples of implementation by organisations are provided to share information on how to maximise the value of research outputs, and to encourage others to amplify the importance and impact of this work.}, - langid = {english}, - language = {en}, - keywords = {Policy,project: documentation,Project: Methods Lab 🥼,Research management,RSE: Research Software Engineering}, - file = {/home/drezil/Zotero/storage/VRFPNWKW/VRFPNWKW_Barker et al. - 2022 - Introducing the FAIR Principles for research software.pdf} -} -% == BibLateX quality report for BarkerEtAl2022IntroducingFAIR: -% Unexpected field 'publisher' -% ? unused Library catalog ("www.nature.com") - -@book{CremerEtAl2024Projektmanagement, - title = {Projektmanagement und Digital Humanities: Zur klugen Gestaltung der Zusammenarbeit}, - editor = {Cremer, Fabian and Dogunke, Swantje and Neubert, Anna Maria and Wübbena, Thorsten}, - date = {2024-04}, - publisher = {Bielefeld University Press}, - location = {Bielefeld}, - doi = {10.14361/9783839469675}, - abstract = {Die Professionalisierung des Projektmanagements in den Digital Humanities: Theorie und Praxis zum Weiterdenken.}, - langid = {ngerman}, - language = {de}, - keywords = {field: Digital Humanities (DH),Project management,project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/GYJK3NUY/Cremer et al. - 2024 - Projektmanagement und Digital Humanities Zur klugen Gestaltung der Zusammenarbeit.pdf;/home/drezil/Zotero/storage/XQ6AI49P/Cremer et al. - 2024 - Projektmanagement und Digital Humanities Zur klugen Gestaltung der Zusammenarbeit.pdf} -} -% == BibLateX quality report for CremerEtAl2024Projektmanagement: -% Missing required field 'author' - -@article{DiehlEtAl2025JournalOpenSource, - title = {The {{Journal}} of {{Open Source Software}} ({{JOSS}}): {{Bringing Open-Source Software Practices}} to the {{Scholarly Publishing Community}} for {{Authors}}, {{Reviewers}}, {{Editors}}, and {{Publishers}}}, - shorttitle = {The {{Journal}} of {{Open Source Software}} ({{JOSS}})}, - author = {Diehl, Patrick and Soneson, Charlotte and Kurchin, Rachel C. and Mounce, Ross and Katz, Daniel S.}, - date = {2025-02-04}, - journaltitle = {Journal of Librarianship and Scholarly Communication}, - volume = {12}, - number = {2}, - publisher = {Iowa State University Digital Press}, - issn = {2162-3309}, - doi = {10.31274/jlsc.18285}, - url = {https://www.iastatedigitalpress.com/jlsc/article/id/18285/}, - urldate = {2025-05-15}, - abstract = {Introduction: Open-source software (OSS) is a critical component of open science, but contributions to the OSS ecosystem are systematically undervalued in the current academic system. The Journal of Open Source Software (JOSS) contributes to addressing this by providing a venue (that is itself free, diamond open access, and all open-source, built in a layered structure using widely available elements/services of the scholarly publishing ecosystem) for publishing OSS, run in the style of OSS itself. A particularly distinctive element of JOSS is that it uses open peer review in a collaborative, iterative format, unlike most publishers. Additionally, all the components of the process—from the reviews to the papers to the software that is the subject of the papers to the software that the journal runs—are open. Background: We describe JOSS’s history and its peer review process using an editorial bot, and we present statistics gathered from JOSS’s public review history on GitHub showing an increasing number of peer reviewed papers each year. We discuss the new JOSSCast and use it as a data source to understand reasons why interviewed authors decided to publish in JOSS. Discussion and Outlook: JOSS’s process differs significantly from traditional journals, which has impeded JOSS’s inclusion in indexing services such as Web of Science. In turn, this discourages researchers within certain academic systems, such as Italy’s, which emphasize the importance of Web of Science and/or Scopus indexing for grant applications and promotions. JOSS is a fully diamond open-access journal with a cost of around US\$5 per paper for the 401 papers published in 2023. The scalability of running JOSS with volunteers and financing JOSS with grants and donations is discussed.}, - issue = {2}, - langid = {english}, - language = {eng}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/G4T6JNUU/Diehl et al. - 2025 - The Journal of Open Source Software (JOSS) Bringing Open-Source Software Practices to the Scholarly.pdf} -} -% == BibLateX quality report for DiehlEtAl2025JournalOpenSource: -% Unexpected field 'publisher' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("www.iastatedigitalpress.com") - -@misc{EndingsPrinciples221, - title = {Endings {{Principles}} for {{Digital Longevity}}}, - shorttitle = {Endings {{Principles}}}, - author = {{Endings Project Team}}, - date = {2023-03-03}, - url = {https://endings.uvic.ca/principles.html}, - urldate = {2024-05-14}, - abstract = {Enabling Sustainable Digital Humanities Projects}, - langid = {english}, - language = {en}, - version = {2.2.1}, - keywords = {project: documentation,Project: Methods Lab 🥼,Project: Tool Registry 🧰,talk: 2024 Bochum,writing: 2024 Tool Registry} -} -% == BibLateX quality report for EndingsPrinciples221: -% ? Title looks like it was stored in title-case in Zotero - -@standard{Forschungsgemeinschaft2025LeitlinienzurSicherung, - title = {Leitlinien zur Sicherung guter wissenschaftlicher Praxis}, - date = {2024-09}, - publisher = {Deutsche Forschungsgemeinschaft}, - doi = {10.5281/zenodo.14281892}, - url = {https://zenodo.org/records/14281892}, - urldate = {2025-05-15}, - abstract = {The DFG´s Code of Conduct “Safeguarding Good Research Practice” represents the consensus among the member organisations of the DFG on the fundamental principles and standards of good practice and are upheld by these organisations. These guidelines underline the importance of integrity in the everyday practice of research and provide researchers with a reliable reference with which to embed good research practice as an established and binding aspect of their work.}, - langid = {ngerman}, - language = {de}, - version = {1.2}, - keywords = {code of conduct,Deutsche Forschungsgemeinschaft,DFG,German research foundation,good scientific practice,gute wissenschaftliche Praxis,Kodex,Leitlinien zur Sicherung guter wissenschaftlicher Praxis,project: documentation,Project: Methods Lab 🥼,research integrity,scientific misconduct,Wissenschaftliche Integrität,wissenschaftliches Fehlverhalten}, - file = {/home/drezil/Zotero/storage/DMF478TJ/2024 - Leitlinien zur Sicherung guter wissenschaftlicher Praxis.pdf} -} -% == BibLateX quality report for Forschungsgemeinschaft2025LeitlinienzurSicherung: -% Unexpected field 'title' -% Unexpected field 'publisher' -% Unexpected field 'language' -% Unexpected field 'version' -% ? unused Committee ("Team „Wissenschaftliche Integrität“") -% ? unused Library catalog ("Zenodo") - -@book{Kemman2021Trading, - title = {Trading {{Zones}} of {{Digital History}}}, - author = {Kemman, Max}, - date = {2021}, - series = {Studies in {{Digital History}} and {{Hermeneutics}}}, - number = {1}, - publisher = {De Gruyter Oldenbourg}, - location = {Berlin, Boston}, - doi = {10.1515/9783110682106}, - url = {https://www.degruyter.com/document/doi/10.1515/9783110682106/html}, - urldate = {2021-09-23}, - abstract = {Digital history is commonly argued to be positioned between the traditionally historical and the computational or digital. By studying digital history collaborations and the establishment of the Luxembourg Centre for Contemporary and Digital History, Kemman examines how digital history will impact historical scholarship. His analysis shows that digital history does not occupy a singular position between the digital and the historical. Instead, historians continuously move across this dimension, choosing or finding themselves in different positions as they construct different trading zones through cross-disciplinary engagement, negotiation of research goals and individual interests.}, - isbn = {978-3-11-068210-6}, - langid = {english}, - language = {en}, - pagetotal = {182}, - keywords = {Digital History,Eintrag bereinigt,PDF (Dropbox),project: documentation,TH-MA-Bloomsbury}, - file = {/home/drezil/Zotero/storage/ZS2QA2H6/Kemman - 2021 - Trading Zones of Digital History.pdf} -} -% == BibLateX quality report for Kemman2021Trading: -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("www.degruyter.com") - -@inproceedings{KluyverEtAl2016JupyterNotebookspublishing, - title = {Jupyter {{Notebooks}} – a Publishing Format for Reproducible Computational Workflows}, - author = {Kluyver, Thomas and Ragan-Kelley, Benjamin and Pérez, Fernando and Granger, Brian and Bussonnier, Matthias and Frederic, Jonathan and Kelley, Kyle and Hamrick, Jessica and Grout, Jason and Corlay, Sylvain and Ivanov, Paul and Avila, Damián and Abdalla, Safia and Willing, Carol and Jupyter development team}, - editor = {Loizides, Fernando and Scmidt, Birgit}, - namea = {Kluyver, Thomas and Ragan-Kelley, Benjamin and Pérez, Fernando and Granger, Brian and Bussonnier, Matthias and Frederic, Jonathan and Kelley, Kyle and Hamrick, Jessica and Grout, Jason and Corlay, Sylvain and Ivanov, Paul and Avila, Damián and Abdalla, Safia and Willing, Carol and Jupyter development team and Loizides, Fernando and Scmidt, Birgit}, - nameatype = {collaborator}, - date = {2016}, - pages = {87--90}, - publisher = {IOS Press}, - doi = {10.3233/978-1-61499-649-1-87}, - url = {https://eprints.soton.ac.uk/403913/}, - urldate = {2025-05-15}, - abstract = {It is increasingly necessary for researchers in all fields to write computer code, and in order to reproduce research results, it is important that this code is published. We present Jupyter notebooks, a document format for publishing code, results and explanations in a form that is both readable and executable. We discuss various tools and use cases for notebook documents.}, - eventtitle = {20th {{International Conference}} on {{Electronic Publishing}} (01/01/16)}, - langid = {english}, - language = {en}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/QB33NJLA/Kluyver et al. - 2016 - Jupyter Notebooks – a publishing format for reproducible computational workflows.pdf} -} -% == BibLateX quality report for KluyverEtAl2016JupyterNotebookspublishing: -% Missing required field 'booktitle' -% ? unused Library catalog ("eprints.soton.ac.uk") - -@article{lamprecht2020towards, - title = {Towards {{FAIR}} Principles for~Research~Software}, - author = {Lamprecht, Anna-Lena and Garcia, Leyla and Kuzak, Mateusz and Martinez, Carlos and Arcila, Ricardo and Martin Del Pico, Eva and Dominguez Del Angel, Victoria and family=Sandt, given=Stephanie, prefix=van de, useprefix=true and Ison, Jon and Martinez, Paula Andrea and McQuilton, Peter and Valencia, Alfonso and Harrow, Jennifer and Psomopoulos, Fotis and Gelpi, Josep Ll. and Chue Hong, Neil and Goble, Carole and Capella-Gutierrez, Salvador}, - date = {2020-06-12}, - journaltitle = {Data Science}, - volume = {3}, - number = {1}, - pages = {37--59}, - publisher = {SAGE Publications}, - issn = {2451-8484}, - doi = {10.3233/DS-190026}, - url = {https://doi.org/10.3233/DS-190026}, - urldate = {2025-05-15}, - abstract = {The FAIR Guiding Principles, published in 2016, aim to improve the findability, accessibility, interoperability and reusability of digital research objects for both humans and machines. Until now the FAIR principles have been mostly applied to research data. The ideas behind these principles are, however, also directly relevant to research software. Hence there is a distinct need to explore how the FAIR principles can be applied to software. In this work, we aim to summarize the current status of the debate around FAIR and software, as basis for the development of community-agreed principles for FAIR research software in the future. We discuss what makes software different from data with regard to the application of the FAIR principles, and which desired characteristics of research software go beyond FAIR. Then we present an analysis of where the existing principles can directly be applied to software, where they need to be adapted or reinterpreted, and where the definition of additional principles is required. Here interoperability has proven to be the most challenging principle, calling for particular attention in future discussions. Finally, we outline next steps on the way towards definite FAIR principles for research software.}, - langid = {english}, - language = {EN}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/CCXUNESS/Lamprecht et al. - 2020 - Towards FAIR principles for research software.pdf} -} -% == BibLateX quality report for lamprecht2020towards: -% Unexpected field 'publisher' -% ? unused Library catalog ("SAGE Journals") - -@article{Lee2018Tensimplerules, - title = {Ten Simple Rules for Documenting Scientific Software}, - author = {Lee, Benjamin D.}, - date = {2018-12-20}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {14}, - number = {12}, - pages = {e1006561}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1006561}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006561}, - urldate = {2025-05-15}, - langid = {english}, - language = {en}, - keywords = {Citation analysis,Computer software,Genome analysis,Genomics,Open source software,project: documentation,Project: Methods Lab 🥼,Software development,Software tools,Source code}, - file = {/home/drezil/Zotero/storage/Y72BUDFA/Lee - 2018 - Ten simple rules for documenting scientific software.pdf} -} -% == BibLateX quality report for Lee2018Tensimplerules: -% Unexpected field 'publisher' -% ? unused Library catalog ("PLoS Journals") - -@article{NoyEtAl2019IndustryscaleKnowledge, +@article{Smith2016SoftwareCitationPrinciples, title = {Software Citation Principles}, author = {Smith, Arfon M. and Katz, Daniel S. and Niemeyer, Kyle E.}, date = {2016}, @@ -574,35 +293,11 @@ annotation = {Keine weiteren Informationen gefunden}, file = {/home/drezil/Zotero/storage/XVF927LY/Smith et al. - 2016 - Software citation principles.pdf} } -% == BibLateX quality report for NoyEtAl2019IndustryscaleKnowledge: +% == BibLateX quality report for Smith2016SoftwareCitationPrinciples: % Unexpected field 'publisher' % ? unused Library catalog ("peerj.com") -@article{PrlicProcter2012TenSimpleRules, - title = {Ten {{Simple Rules}} for the {{Open Development}} of {{Scientific Software}}}, - author = {Prlić, Andreas and Procter, James B.}, - date = {2012-12-06}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {8}, - number = {12}, - pages = {e1002802}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1002802}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002802}, - urldate = {2025-05-15}, - langid = {english}, - language = {en}, - keywords = {Computer software,Eyes,Open source software,project: documentation,Project: Methods Lab 🥼,Research funding,Scientists,Software tools,Source code,Sustainability science}, - file = {/home/drezil/Zotero/storage/STZFWU4P/Prlić and Procter - 2012 - Ten Simple Rules for the Open Development of Scientific Software.pdf} -} -% == BibLateX quality report for PrlicProcter2012TenSimpleRules: -% Unexpected field 'publisher' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("PLoS Journals") - -@article{WilsonEtAl2017Goodenoughpractices, +@article{Wilson2017GoodEnoughPractices, title = {Good Enough Practices in Scientific Computing}, author = {Wilson, Greg and Bryan, Jennifer and Cranston, Karen and Kitzes, Justin and Nederbragt, Lex and Teal, Tracy K.}, date = {2017-06-22}, @@ -622,310 +317,6 @@ keywords = {Computer software,Control systems,Data management,Metadata,Programming languages,project: documentation,Project: Methods Lab 🥼,Reproducibility,Software tools,Source code}, file = {/home/drezil/Zotero/storage/KWWLZBNY/Wilson et al. - 2017 - Good enough practices in scientific computing.pdf} } -% == BibLateX quality report for WilsonEtAl2017Goodenoughpractices: +% == BibLateX quality report for Wilson2017GoodEnoughPractices: % Unexpected field 'publisher' % ? unused Library catalog ("PLoS Journals") -@book{AhnertEtAl2023CollaborativeHistoricalResearch, - title = {Collaborative {{Historical Research}} in the {{Age}} of {{Big Data}}: {{Lessons}} from an {{Interdisciplinary Project}}}, - shorttitle = {Collaborative {{Historical Research}} in the {{Age}} of {{Big Data}}}, - author = {Ahnert, Ruth and Griffin, Emma and Ridge, Mia and Tolfo, Giorgia}, - date = {2023}, - series = {Cambridge {{Elements}}: {{Historical Theory}} and {{Practice}}}, - publisher = {Cambridge University Press}, - location = {Cambridge}, - doi = {10.1017/9781009175548}, - url = {https://www.cambridge.org/core/elements/collaborative-historical-research-in-the-age-of-big-data/839C422CCAA6C1699DE8D353B3A1960D}, - urldate = {2023-01-26}, - abstract = {This book is output of the Living with Machines project}, - langid = {english}, - language = {en}, - keywords = {field: History,project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/ET5S8DMH/Ahnert et al. - 2023 - Collaborative Historical Research in the Age of Big Data Lessons from an Interdisciplinary Project.pdf} -} -% == BibLateX quality report for AhnertEtAl2023CollaborativeHistoricalResearch: -% ? Title looks like it was stored in title-case in Zotero - -@report{AltenhonerEtAl2023DFGPraxisregeln, - title = {DFG-Praxisregeln "Digitalisierung". Aktualisierte Fassung 2022.}, - author = {Altenhöner, Reinhard and Berger, Andreas and Bracht, Christian and Klimpel, Paul and Meyer, Sebastian and Neuburger, Andreas and Stäcker, Thomas and Stein, Regine}, - date = {2023-02-16}, - url = {https://zenodo.org/record/7435724}, - urldate = {2023-03-07}, - abstract = {Die DFG-Praxisregeln „Digitalisierung“ stellen eine zentrale Grundlage für DFG-geförderte Projekte im Programm „Digitalisierung und Erschließung“ dar: Sie formulieren Standards und enthalten Informationen zu organisatorischen, methodischen und technischen Fragen im Kontext der Digitalisierung und Erschließung forschungsrelevanter Objekte. Sie leisten damit einen wichtigen Beitrag zur Nachhaltigkeit, Zugänglichkeit und Anschlussfähigkeit geförderter Projekte und der in diesem Zusammenhang entstehenden Infrastruktur. Das vorliegende Dokument stellt eine aktualisierte Fassung der zuletzt 2016 durch die DFG publizierten Praxisregeln dar. Es wurde in Absprache mit der DFG-Geschäftsstelle durch eine vom NFDI-Konsortium NFDI4Culture initiierte Autor*innengruppe erarbeitet, deren Mitglieder mehrheitlich seit langem an der Ausgestaltung der Praxisregeln beteiligt waren sowie aktiv in die NFDI-Konsortien NFDI4Culture, NFDI4Memory, NFDI4Objects und Text+ eingebunden sind. Die jetzt überarbeitet vorliegenden Praxisregeln „Digitalisierung“ dienen als Ausgangspunkt für eine material- und communitybezogene Ausdifferenzierung der Praxisregeln durch die Communitys. Alle mit der Digitalisierung forschungsrelevanter Objekte befassten Communitys und Einrichtungen sind dazu aufgerufen, mit ihrer Expertise am weiteren Prozess mitzuwirken.}, - langid = {deu}, - language = {deu}, - keywords = {Digital Scholarly Editions,Digitalisierung,Erschließung,Informationsinfrastrukturen,NFDI,Praxisregeln,project: documentation,Project: Methods Lab 🥼,Standardbildung,TEI: Text Encoding Initiative}, - file = {/home/drezil/Zotero/storage/46FYRPPH/Altenhöner et al. - 2023 - DFG-Praxisregeln Digitalisierung. Aktualisierte Fassung 2022..pdf} -} -% == BibLateX quality report for AltenhonerEtAl2023DFGPraxisregeln: -% Missing required field 'type' -% Missing required field 'institution' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("Zenodo") - -@article{BarkerEtAl2022IntroducingFAIR, - title = {Introducing the {{FAIR Principles}} for Research Software}, - author = {Barker, Michelle and Chue Hong, Neil P. and Katz, Daniel S. and Lamprecht, Anna-Lena and Martinez-Ortiz, Carlos and Psomopoulos, Fotis and Harrow, Jennifer and Castro, Leyla Jael and Gruenpeter, Morane and Martinez, Paula Andrea and Honeyman, Tom}, - date = {2022-10-14}, - journaltitle = {Scientific Data}, - shortjournal = {Sci Data}, - volume = {9}, - number = {1}, - pages = {622}, - publisher = {Nature Publishing Group}, - issn = {2052-4463}, - doi = {10.1038/s41597-022-01710-x}, - url = {https://www.nature.com/articles/s41597-022-01710-x}, - urldate = {2024-09-10}, - abstract = {Research software is a fundamental and vital part of research, yet significant challenges to discoverability, productivity, quality, reproducibility, and sustainability exist. Improving the practice of scholarship is a common goal of the open science, open source, and FAIR (Findable, Accessible, Interoperable and Reusable) communities and research software is now being understood as a type of digital object to which FAIR should be applied. This emergence reflects a maturation of the research community to better understand the crucial role of FAIR research software in maximising research value. The FAIR for Research Software (FAIR4RS) Working Group has adapted the FAIR Guiding Principles to create the FAIR Principles for Research Software (FAIR4RS Principles). The contents and context of the FAIR4RS Principles are summarised here to provide the basis for discussion of their adoption. Examples of implementation by organisations are provided to share information on how to maximise the value of research outputs, and to encourage others to amplify the importance and impact of this work.}, - langid = {english}, - language = {en}, - keywords = {Policy,project: documentation,Project: Methods Lab 🥼,Research management,RSE: Research Software Engineering}, - file = {/home/drezil/Zotero/storage/VRFPNWKW/VRFPNWKW_Barker et al. - 2022 - Introducing the FAIR Principles for research software.pdf} -} -% == BibLateX quality report for BarkerEtAl2022IntroducingFAIR: -% Unexpected field 'publisher' -% ? unused Library catalog ("www.nature.com") - -@book{CremerEtAl2024Projektmanagement, - title = {Projektmanagement und Digital Humanities: Zur klugen Gestaltung der Zusammenarbeit}, - editor = {Cremer, Fabian and Dogunke, Swantje and Neubert, Anna Maria and Wübbena, Thorsten}, - date = {2024-04}, - publisher = {Bielefeld University Press}, - location = {Bielefeld}, - doi = {10.14361/9783839469675}, - abstract = {Die Professionalisierung des Projektmanagements in den Digital Humanities: Theorie und Praxis zum Weiterdenken.}, - langid = {ngerman}, - language = {de}, - keywords = {field: Digital Humanities (DH),Project management,project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/GYJK3NUY/Cremer et al. - 2024 - Projektmanagement und Digital Humanities Zur klugen Gestaltung der Zusammenarbeit.pdf;/home/drezil/Zotero/storage/XQ6AI49P/Cremer et al. - 2024 - Projektmanagement und Digital Humanities Zur klugen Gestaltung der Zusammenarbeit.pdf} -} -% == BibLateX quality report for CremerEtAl2024Projektmanagement: -% Missing required field 'author' - -@article{DiehlEtAl2025JournalOpenSource, - title = {The {{Journal}} of {{Open Source Software}} ({{JOSS}}): {{Bringing Open-Source Software Practices}} to the {{Scholarly Publishing Community}} for {{Authors}}, {{Reviewers}}, {{Editors}}, and {{Publishers}}}, - shorttitle = {The {{Journal}} of {{Open Source Software}} ({{JOSS}})}, - author = {Diehl, Patrick and Soneson, Charlotte and Kurchin, Rachel C. and Mounce, Ross and Katz, Daniel S.}, - date = {2025-02-04}, - journaltitle = {Journal of Librarianship and Scholarly Communication}, - volume = {12}, - number = {2}, - publisher = {Iowa State University Digital Press}, - issn = {2162-3309}, - doi = {10.31274/jlsc.18285}, - url = {https://www.iastatedigitalpress.com/jlsc/article/id/18285/}, - urldate = {2025-05-15}, - abstract = {Introduction: Open-source software (OSS) is a critical component of open science, but contributions to the OSS ecosystem are systematically undervalued in the current academic system. The Journal of Open Source Software (JOSS) contributes to addressing this by providing a venue (that is itself free, diamond open access, and all open-source, built in a layered structure using widely available elements/services of the scholarly publishing ecosystem) for publishing OSS, run in the style of OSS itself. A particularly distinctive element of JOSS is that it uses open peer review in a collaborative, iterative format, unlike most publishers. Additionally, all the components of the process—from the reviews to the papers to the software that is the subject of the papers to the software that the journal runs—are open. Background: We describe JOSS’s history and its peer review process using an editorial bot, and we present statistics gathered from JOSS’s public review history on GitHub showing an increasing number of peer reviewed papers each year. We discuss the new JOSSCast and use it as a data source to understand reasons why interviewed authors decided to publish in JOSS. Discussion and Outlook: JOSS’s process differs significantly from traditional journals, which has impeded JOSS’s inclusion in indexing services such as Web of Science. In turn, this discourages researchers within certain academic systems, such as Italy’s, which emphasize the importance of Web of Science and/or Scopus indexing for grant applications and promotions. JOSS is a fully diamond open-access journal with a cost of around US\$5 per paper for the 401 papers published in 2023. The scalability of running JOSS with volunteers and financing JOSS with grants and donations is discussed.}, - issue = {2}, - langid = {english}, - language = {eng}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/G4T6JNUU/Diehl et al. - 2025 - The Journal of Open Source Software (JOSS) Bringing Open-Source Software Practices to the Scholarly.pdf} -} -% == BibLateX quality report for DiehlEtAl2025JournalOpenSource: -% Unexpected field 'publisher' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("www.iastatedigitalpress.com") - -@misc{EndingsPrinciples221, - title = {Endings {{Principles}} for {{Digital Longevity}}}, - shorttitle = {Endings {{Principles}}}, - author = {{Endings Project Team}}, - date = {2023-03-03}, - url = {https://endings.uvic.ca/principles.html}, - urldate = {2024-05-14}, - abstract = {Enabling Sustainable Digital Humanities Projects}, - langid = {english}, - language = {en}, - version = {2.2.1}, - keywords = {project: documentation,Project: Methods Lab 🥼,Project: Tool Registry 🧰,talk: 2024 Bochum,writing: 2024 Tool Registry} -} -% == BibLateX quality report for EndingsPrinciples221: -% ? Title looks like it was stored in title-case in Zotero - -@standard{Forschungsgemeinschaft2025LeitlinienzurSicherung, - title = {Leitlinien zur Sicherung guter wissenschaftlicher Praxis}, - date = {2024-09}, - publisher = {Deutsche Forschungsgemeinschaft}, - doi = {10.5281/zenodo.14281892}, - url = {https://zenodo.org/records/14281892}, - urldate = {2025-05-15}, - abstract = {The DFG´s Code of Conduct “Safeguarding Good Research Practice” represents the consensus among the member organisations of the DFG on the fundamental principles and standards of good practice and are upheld by these organisations. These guidelines underline the importance of integrity in the everyday practice of research and provide researchers with a reliable reference with which to embed good research practice as an established and binding aspect of their work.}, - langid = {ngerman}, - language = {de}, - version = {1.2}, - keywords = {code of conduct,Deutsche Forschungsgemeinschaft,DFG,German research foundation,good scientific practice,gute wissenschaftliche Praxis,Kodex,Leitlinien zur Sicherung guter wissenschaftlicher Praxis,project: documentation,Project: Methods Lab 🥼,research integrity,scientific misconduct,Wissenschaftliche Integrität,wissenschaftliches Fehlverhalten}, - file = {/home/drezil/Zotero/storage/DMF478TJ/2024 - Leitlinien zur Sicherung guter wissenschaftlicher Praxis.pdf} -} -% == BibLateX quality report for Forschungsgemeinschaft2025LeitlinienzurSicherung: -% Unexpected field 'title' -% Unexpected field 'publisher' -% Unexpected field 'language' -% Unexpected field 'version' -% ? unused Committee ("Team „Wissenschaftliche Integrität“") -% ? unused Library catalog ("Zenodo") - -@book{Kemman2021Trading, - title = {Trading {{Zones}} of {{Digital History}}}, - author = {Kemman, Max}, - date = {2021}, - series = {Studies in {{Digital History}} and {{Hermeneutics}}}, - number = {1}, - publisher = {De Gruyter Oldenbourg}, - location = {Berlin, Boston}, - doi = {10.1515/9783110682106}, - url = {https://www.degruyter.com/document/doi/10.1515/9783110682106/html}, - urldate = {2021-09-23}, - abstract = {Digital history is commonly argued to be positioned between the traditionally historical and the computational or digital. By studying digital history collaborations and the establishment of the Luxembourg Centre for Contemporary and Digital History, Kemman examines how digital history will impact historical scholarship. His analysis shows that digital history does not occupy a singular position between the digital and the historical. Instead, historians continuously move across this dimension, choosing or finding themselves in different positions as they construct different trading zones through cross-disciplinary engagement, negotiation of research goals and individual interests.}, - isbn = {978-3-11-068210-6}, - langid = {english}, - language = {en}, - pagetotal = {182}, - keywords = {Digital History,Eintrag bereinigt,PDF (Dropbox),project: documentation,TH-MA-Bloomsbury}, - file = {/home/drezil/Zotero/storage/ZS2QA2H6/Kemman - 2021 - Trading Zones of Digital History.pdf} -} -% == BibLateX quality report for Kemman2021Trading: -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("www.degruyter.com") - -@inproceedings{KluyverEtAl2016JupyterNotebookspublishing, - title = {Jupyter {{Notebooks}} – a Publishing Format for Reproducible Computational Workflows}, - author = {Kluyver, Thomas and Ragan-Kelley, Benjamin and Pérez, Fernando and Granger, Brian and Bussonnier, Matthias and Frederic, Jonathan and Kelley, Kyle and Hamrick, Jessica and Grout, Jason and Corlay, Sylvain and Ivanov, Paul and Avila, Damián and Abdalla, Safia and Willing, Carol and Jupyter development team}, - editor = {Loizides, Fernando and Scmidt, Birgit}, - namea = {Kluyver, Thomas and Ragan-Kelley, Benjamin and Pérez, Fernando and Granger, Brian and Bussonnier, Matthias and Frederic, Jonathan and Kelley, Kyle and Hamrick, Jessica and Grout, Jason and Corlay, Sylvain and Ivanov, Paul and Avila, Damián and Abdalla, Safia and Willing, Carol and Jupyter development team and Loizides, Fernando and Scmidt, Birgit}, - nameatype = {collaborator}, - date = {2016}, - pages = {87--90}, - publisher = {IOS Press}, - doi = {10.3233/978-1-61499-649-1-87}, - url = {https://eprints.soton.ac.uk/403913/}, - urldate = {2025-05-15}, - abstract = {It is increasingly necessary for researchers in all fields to write computer code, and in order to reproduce research results, it is important that this code is published. We present Jupyter notebooks, a document format for publishing code, results and explanations in a form that is both readable and executable. We discuss various tools and use cases for notebook documents.}, - eventtitle = {20th {{International Conference}} on {{Electronic Publishing}} (01/01/16)}, - langid = {english}, - language = {en}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/QB33NJLA/Kluyver et al. - 2016 - Jupyter Notebooks – a publishing format for reproducible computational workflows.pdf} -} -% == BibLateX quality report for KluyverEtAl2016JupyterNotebookspublishing: -% Missing required field 'booktitle' -% ? unused Library catalog ("eprints.soton.ac.uk") - -@article{lamprecht2020towards, - title = {Towards {{FAIR}} Principles for~Research~Software}, - author = {Lamprecht, Anna-Lena and Garcia, Leyla and Kuzak, Mateusz and Martinez, Carlos and Arcila, Ricardo and Martin Del Pico, Eva and Dominguez Del Angel, Victoria and family=Sandt, given=Stephanie, prefix=van de, useprefix=true and Ison, Jon and Martinez, Paula Andrea and McQuilton, Peter and Valencia, Alfonso and Harrow, Jennifer and Psomopoulos, Fotis and Gelpi, Josep Ll. and Chue Hong, Neil and Goble, Carole and Capella-Gutierrez, Salvador}, - date = {2020-06-12}, - journaltitle = {Data Science}, - volume = {3}, - number = {1}, - pages = {37--59}, - publisher = {SAGE Publications}, - issn = {2451-8484}, - doi = {10.3233/DS-190026}, - url = {https://doi.org/10.3233/DS-190026}, - urldate = {2025-05-15}, - abstract = {The FAIR Guiding Principles, published in 2016, aim to improve the findability, accessibility, interoperability and reusability of digital research objects for both humans and machines. Until now the FAIR principles have been mostly applied to research data. The ideas behind these principles are, however, also directly relevant to research software. Hence there is a distinct need to explore how the FAIR principles can be applied to software. In this work, we aim to summarize the current status of the debate around FAIR and software, as basis for the development of community-agreed principles for FAIR research software in the future. We discuss what makes software different from data with regard to the application of the FAIR principles, and which desired characteristics of research software go beyond FAIR. Then we present an analysis of where the existing principles can directly be applied to software, where they need to be adapted or reinterpreted, and where the definition of additional principles is required. Here interoperability has proven to be the most challenging principle, calling for particular attention in future discussions. Finally, we outline next steps on the way towards definite FAIR principles for research software.}, - langid = {english}, - language = {EN}, - keywords = {project: documentation,Project: Methods Lab 🥼}, - file = {/home/drezil/Zotero/storage/CCXUNESS/Lamprecht et al. - 2020 - Towards FAIR principles for research software.pdf} -} -% == BibLateX quality report for lamprecht2020towards: -% Unexpected field 'publisher' -% ? unused Library catalog ("SAGE Journals") - -@article{Lee2018Tensimplerules, - title = {Ten Simple Rules for Documenting Scientific Software}, - author = {Lee, Benjamin D.}, - date = {2018-12-20}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {14}, - number = {12}, - pages = {e1006561}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1006561}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006561}, - urldate = {2025-05-15}, - langid = {english}, - language = {en}, - keywords = {Citation analysis,Computer software,Genome analysis,Genomics,Open source software,project: documentation,Project: Methods Lab 🥼,Software development,Software tools,Source code}, - file = {/home/drezil/Zotero/storage/Y72BUDFA/Lee - 2018 - Ten simple rules for documenting scientific software.pdf} -} -% == BibLateX quality report for Lee2018Tensimplerules: -% Unexpected field 'publisher' -% ? unused Library catalog ("PLoS Journals") - -@article{NoyEtAl2019IndustryscaleKnowledge, - title = {Software Citation Principles}, - author = {Smith, Arfon M. and Katz, Daniel S. and Niemeyer, Kyle E.}, - date = {2016}, - journaltitle = {PeerJ Computer Science}, - shortjournal = {PeerJ Comput. Sci.}, - volume = {2}, - publisher = {PeerJ Inc.}, - issn = {2376-5992}, - doi = {10.7717/peerj-cs.86}, - url = {https://peerj.com/articles/cs-86}, - urldate = {2020-09-11}, - abstract = {Software is a critical part of modern research and yet there is little support across the scholarly ecosystem for its acknowledgement and citation. Inspired by the activities of the FORCE11 working group focused on data citation, this document summarizes the recommendations of the FORCE11 Software Citation Working Group and its activities between June 2015 and April 2016. Based on a review of existing community practices, the goal of the working group was to produce a consolidated set of citation principles that may encourage broad adoption of a consistent policy for software citation across disciplines and venues. Our work is presented here as a set of software citation principles, a discussion of the motivations for developing the principles, reviews of existing community practice, and a discussion of the requirements these principles would place upon different stakeholders. Working examples and possible technical solutions for how these principles can be implemented will be discussed in a separate paper.}, - langid = {english}, - language = {en}, - keywords = {Eintrag bereinigt,PDF (Dropbox),project: documentation,Project: Methods Lab 🥼,Research Software Engineering}, - annotation = {Keine weiteren Informationen gefunden}, - file = {/home/drezil/Zotero/storage/XVF927LY/Smith et al. - 2016 - Software citation principles.pdf} -} -% == BibLateX quality report for NoyEtAl2019IndustryscaleKnowledge: -% Unexpected field 'publisher' -% ? unused Library catalog ("peerj.com") - -@article{PrlicProcter2012TenSimpleRules, - title = {Ten {{Simple Rules}} for the {{Open Development}} of {{Scientific Software}}}, - author = {Prlić, Andreas and Procter, James B.}, - date = {2012-12-06}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {8}, - number = {12}, - pages = {e1002802}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1002802}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002802}, - urldate = {2025-05-15}, - langid = {english}, - language = {en}, - keywords = {Computer software,Eyes,Open source software,project: documentation,Project: Methods Lab 🥼,Research funding,Scientists,Software tools,Source code,Sustainability science}, - file = {/home/drezil/Zotero/storage/STZFWU4P/Prlić and Procter - 2012 - Ten Simple Rules for the Open Development of Scientific Software.pdf} -} -% == BibLateX quality report for PrlicProcter2012TenSimpleRules: -% Unexpected field 'publisher' -% ? Title looks like it was stored in title-case in Zotero -% ? unused Library catalog ("PLoS Journals") - -@article{WilsonEtAl2017Goodenoughpractices, - title = {Good Enough Practices in Scientific Computing}, - author = {Wilson, Greg and Bryan, Jennifer and Cranston, Karen and Kitzes, Justin and Nederbragt, Lex and Teal, Tracy K.}, - date = {2017-06-22}, - journaltitle = {PLOS Computational Biology}, - shortjournal = {PLOS Computational Biology}, - volume = {13}, - number = {6}, - pages = {e1005510}, - publisher = {Public Library of Science}, - issn = {1553-7358}, - doi = {10.1371/journal.pcbi.1005510}, - url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510}, - urldate = {2025-05-15}, - abstract = {Author summary Computers are now essential in all branches of science, but most researchers are never taught the equivalent of basic lab skills for research computing. As a result, data can get lost, analyses can take much longer than necessary, and researchers are limited in how effectively they can work with software and data. Computing workflows need to follow the same practices as lab projects and notebooks, with organized data, documented steps, and the project structured for reproducibility, but researchers new to computing often don't know where to start. This paper presents a set of good computing practices that every researcher can adopt, regardless of their current level of computational skill. These practices, which encompass data management, programming, collaborating with colleagues, organizing projects, tracking work, and writing manuscripts, are drawn from a wide variety of published sources from our daily lives and from our work with volunteer organizations that have delivered workshops to over 11,000 people since 2010.}, - langid = {english}, - language = {en}, - keywords = {Computer software,Control systems,Data management,Metadata,Programming languages,project: documentation,Project: Methods Lab 🥼,Reproducibility,Software tools,Source code}, - file = {/home/drezil/Zotero/storage/KWWLZBNY/Wilson et al. - 2017 - Good enough practices in scientific computing.pdf} -} -% == BibLateX quality report for WilsonEtAl2017Goodenoughpractices: -% Unexpected field 'publisher' -% ? unused Library catalog ("PLoS Journals") - diff --git a/Writing/documentation.md b/Writing/documentation.md index be74e6d..9e60e14 100644 --- a/Writing/documentation.md +++ b/Writing/documentation.md @@ -76,15 +76,16 @@ gute Dokumentation als zentrale Voraussetzung, um Forschungssoftware Dieser Anforderungskatalog richtet sich an Forschende, die keine Vollzeit-Programmierer sind, und soll **wissenschaftlich fundierte Richtlinien** für die Dokumentation von Forschungssoftware liefern. Die Empfehlungen -berücksichtigen Best Practices des Research Software Engineering (RSE) und damit +berücksichtigen Best Practices des Research Software Engineering +[RSE](@Hasselbring2020OpenSourceResearch; @Lee2018Tensimplerules) und damit einhergehender Prinzipien wie die des _Endings-Projekts_ für digitale -Langlebigkeit [@EndingsPrinciples221] und _FAIR-Prinzipien_ für -Software[@BarkerEtAl2022IntroducingFAIR]. +Langlebigkeit [@EndingsPrinciples221] und +_FAIR4RS-Prinzipien_[@BarkerEtAl2022IntroducingFAIR]. Ziel ist es, ein praxistaugliches Gerüst bereitzustellen, das – trotz Zeitknappheit – die wesentlichen Dokumentationsaspekte abdeckt, um sowohl die **Nachvollziehbarkeit** der Ergebnisse als auch eine **Weiterverwendung** der -Software zu ermöglichen[@WilsonEtAl2017Goodenoughpractices]. +Software zu ermöglichen[@Wilson2017GoodEnoughPractices]. Im Folgenden werden die Anforderungen an Inhalt, Format und Umfang der Dokumentation definiert, geeignete (teil-)automatisierte Dokumentationswerkzeuge @@ -95,8 +96,9 @@ diskutiert und Best Practices in Form von Vorlagen und Checklisten vorgestellt. Ein zentrales Problem in der Dokumentation wissenschaftlicher Software ist oft das fehlende _Big Picture_, also eine klare Darstellung des _Was_ und _Warum_. Die Dokumentation sollte daher alle **Informationen abdecken, die zum Verstehen, -Nutzen und Weiterentwickeln der Software nötig sind**. Insbesondere sind -folgende Inhalte essenziell: +Nutzen und Weiterentwickeln der Software nötig sind**[@EndingsPrinciples221; +@Lamprecht2020TowardsFAIRPrinciples, R1]. Insbesondere sind folgende Inhalte +essenziell: ### Ziel und Zweck der Software (Statement of Need) @@ -151,27 +153,6 @@ _“Benötigt Python 3.9 und die Bibliotheken Pandas und NetworkX. Installation: bestehen – etwa Zugriff auf bestimmte Hardware, ein Hochleistungsrechner oder große Speicherkapazitäten – sind diese zu nennen.]{.aside} -::: {.callout-tip title="Prinzip" .column-margin} - -Zeigen statt nur beschreiben – konkrete Anwendungsfälle in der Doku verankern. - -::: - -- **Typische Nutzungsszenarien und Workflows:** Zeigen Sie anhand von - _Beispielen_, wie die Software benutzt wird. Ein **Quickstart-Beispiel** senkt - die Einstiegshürde enorm. Dies kann z. B. eine Anleitung sein, wie man mit - wenigen Schritten von einer Eingabedatei zum gewünschten Ergebnis kommt - (_“Getting Started”_-Abschnitt). Beschreiben Sie typische Workflows in - nachvollziehbaren Schritten: Eingabe vorbereiten, Software-Befehl/GUI-Aktion - ausführen, Ausgabe interpretieren. Ggf. können mehrere Anwendungsfälle - skizziert werden (z. B. _“Analyse eines einzelnen Briefes”_ vs. - _“Batch-Verarbeitung eines gesamten Korpus”_). Diese Beispiele sollten - realistisch und möglichst _repräsentativ für wissenschaftliche Anwendungen_ - sein. Nutzen Sie gerne kleine Datensamples oder Defaults, damit Nutzer die - Beispielschritte direkt ausprobieren können. Idealerweise werden - Code-Beispiele mit ausgegebenen Resultaten gezeigt (z. B. in Form von - Ausschnitten oder, bei Kommandozeilentools, via `--help` dokumentiert). - ### Wissenschaftlicher Hintergrund und theoretischer Kontext Da es sich um Forschungssoftware handelt, sollten Sie den _wissenschaftlichen @@ -180,11 +161,14 @@ von rein kommerzieller Dokumentation: Es geht nicht nur um _wie_ man das Tool benutzt, sondern auch _warum_ es so funktioniert (Stichwort Nachvollziehbarkeit).] offenlegen. Das heißt, erklären Sie die grundlegenden Methoden, Algorithmen oder Modelle, die in der Software umgesetzt sind, -zumindest in Überblicksform. Verweisen Sie auf _relevante Publikationen_ oder -Theorien, damit andere die wissenschaftliche Grundlage nachvollziehen können. -Beispielsweise: _“Die Implementierung folgt dem Algorithmus von Müller et al. -(2019) zur Netzwerkanalyse historischer Korrespondenz.”_ Halten Sie diesen -Abschnitt aber prägnant – Details gehören in die Forschungsarbeit selbst. +zumindest in Überblicksform. + +Verweisen Sie auf _relevante Publikationen_ oder Theorien, damit andere die +wissenschaftliche Grundlage nachvollziehen können. Beispielsweise: _“Die +Implementierung folgt dem Algorithmus von Müller et al. (2019) zur +Netzwerkanalyse historischer Korrespondenz.”_ Halten Sie diesen Abschnitt aber +prägnant – Details gehören in die Forschungsarbeit selbst. + Wichtig ist, dass die Dokumentation den **Brückenschlag zwischen Code und Forschung** herstellt. Da viele Wissenschaftler\*innen zentrale Aspekte lieber in ihren Artikeln dokumentieren, sollte in der Software-Dokumentation zumindest @@ -221,7 +205,7 @@ Support erhalten_ können. Ein kurzer Hinweis auf den Issue-Tracker (z. B. _“Fehler bitte über GitHub-Issues melden”_) oder auf die Kontaktmöglichkeit zum\*zur Autor\*in (E-Mail) gehört dazu. -Ebenso können **Community Guidelines** skizziert werden: etwa Codierstandards +Ebenso können **Community Guidelines** skizziert werden: etwa Code-Standards oder ein Verhaltenskodex, falls Beiträge erwartet werden. Für kleinere Projekte reicht oft ein Satz wie _“Beiträge durch Pull Requests sind willkommen; bei Fragen wenden Sie sich an…”_. ^[Dieser Aspekt muss nicht umfangreich sein, zeigt @@ -231,19 +215,19 @@ Kontaktaufnahme niedrig ist.] ### Projekt-Metadaten (Lizenz, Zitation, Version) Teil der Dokumentation sind auch formale Informationen, die im Repository leicht -zugänglich sein sollten. **Lizenzinformationen** klären die rechtlichen -Bedingungen der Nutzung und Weiterverbreitung. Es ist Best Practice, eine -**LICENSE-Datei** beizulegen, aber auch in der README kurz zu erwähnen, unter -welcher Lizenz die Software steht. Für Forschungssoftware empfiehlt sich eine -offene Lizenz (z. B. MIT, BSD oder Apache 2.0 für Code, CC-BY für Daten), um -Nachnutzung nicht zu behindern. +zugänglich sein sollten[@Lamprecht2020TowardsFAIRPrinciples]. +**Lizenzinformationen** klären die rechtlichen Bedingungen der Nutzung und +Weiterverbreitung. Es ist Best Practice, eine **LICENSE-Datei** beizulegen, aber +auch in der README kurz zu erwähnen, unter welcher Lizenz die Software steht. +Für Forschungssoftware empfiehlt sich eine offene Lizenz (z. B. MIT, BSD oder +Apache 2.0 für Code, CC-BY für Daten), um Nachnutzung nicht zu behindern. Zudem sollte angegeben werden, wie die Software **zitiert** werden kann (z. B. DOI, Paper-Referenz). Ein eigener Abschnitt _“Zitation”_ oder eine **CITATION-Datei** beschreibt, welche Publikation oder welcher DOI bei Verwendung der Software in wissenschaftlichen Arbeiten anzugeben ist. Dies erhöht die akademische Sichtbarkeit und stellt sicher, dass Autor\*innen Credits -für ihre Software bekommen [@NoyEtAl2019IndustryscaleKnowledge]. +für ihre Software bekommen [@Smith2016SoftwareCitationPrinciples]. Schließlich ist es sinnvoll, eine **Versionsnummer** der Software zu nennen (idealerweise in README und im Tool selbst), damit Nutzer wissen, auf welche @@ -294,7 +278,7 @@ Daten/Code abgelegt werden[@EndingsPrinciples221]. ### Keine proprietären Formate oder Abhängigkeit von Werkzeugen -::: {.callout-tip title="Prinzip" .column-margin} +::: {.callout-tip .column-margin title="Prinzip"} Dokumentation gehört zum Code und muss auch ohne Programm lesbar sein. @@ -360,11 +344,11 @@ Repository (z. B. eine `INSTALL.md` für ausführliche Installationshinweise, - `CITATION.cff` oder `CITATION.md` – wie zu zitieren. Diese Dateien sollten konsistent formatiert und wie oben benannt sein, damit sie -leicht auffindbar sind. +leicht auffindbar und ggf. direkt durch Tools verarbeitbar sind. ### Übersichtlichkeit und Navigierbarkeit -::: {.callout-tip title="Prinzip" .column-margin} +::: {.callout-tip .column-margin title="Prinzip"} _"Don’t Repeat Yourself"_: Alle Informationen zu einem Thema (Installation/Nutzung/...) an derselben Stelle sammeln und keinesfalls mehrfach @@ -385,6 +369,12 @@ Mantra _"Don’t Repeat Yourself"_ gilt auch für Dokumentation. ### Beispiele, Codeblöcke und ggf. Abbildungen einbinden +::: {.callout-tip .column-margin title="Prinzip"} + +Zeigen statt nur beschreiben – konkrete Anwendungsfälle in der Doku verankern. + +::: + Nutzen Sie die Möglichkeiten von [Markdown][], um die Dokumentation lebendig zu gestalten. Zeigen Sie Code-Beispiele als formatierte Codeblöcke, fügen Sie Links zu weiterführenden Ressourcen ein, oder binden Sie bei Bedarf Abbildungen ein @@ -402,40 +392,41 @@ Mehrwert bieten und ohne komplexe Build-Prozesse eingebunden werden können. Im Zweifel hat textuelle Beschreibung Vorrang, um nicht vom **Prinzip “keep it simple”** abzuweichen. -### Fazit Format und Struktur +::: {.callout-note title="Typische Nutzungsszenarien und Workflows" +collapse="true"} -Insgesamt gilt: Die Dokumentation sollte +Zeigen Sie anhand von _konkreten Beispielen_, wie die Software benutzt wird. Ein +**Quickstart-Beispiel** senkt die Einstiegshürde enorm. Dies kann z. B. eine +Anleitung sein, wie man mit wenigen Schritten von einer Eingabedatei zum +gewünschten Ergebnis kommt. -- im gleichen Repository leben wie der Code -- klar strukturiert und in einem einfach handhabbaren Format vorliegen -- ohne spezielle Umgebung lesbar sein +Beschreiben Sie typische Workflows in nachvollziehbaren Schritten: Eingabe +vorbereiten, Software-Befehl/GUI-Aktion ausführen, Ausgabe interpretieren. Ggf. +können mehrere Anwendungsfälle skizziert werden (z. B. _“Analyse eines einzelnen +Briefes”_ vs. _“Batch-Verarbeitung eines gesamten Korpus”_). -Dieses Prinzip entspricht auch den FAIR- und RSE-Richtlinien, die fordern, -Software (und deren Doku) _auffindbar_ und _zugänglich_ zu machen, ohne Hürden. -Eine **gut gepflegte** README in [Markdown][] erfüllt diese Anforderungen in den -meisten Fällen optimal. +Diese Beispiele sollten realistisch und möglichst _repräsentativ für +wissenschaftliche Anwendungen_ sein. Nutzen Sie gerne kleine, mitgelieferte +Datensamples oder Defaults, damit Nutzer die Beispielschritte direkt +ausprobieren können. Idealerweise werden Code-Beispiele mit ausgegebenen +Resultaten gezeigt (z. B. in Form von Ausschnitten oder, bei +Kommandozeilentools, via `--help` dokumentiert). -## Die Dokumentation selbst +::: -::: {.callout-tip title="Prinzip" .column-margin} +### Umfang und Fokus der Dokumentation + +::: {.callout-tip .column-margin title="Prinzip"} Kann eine neue Person in < 1 Stunde mit Hilfe der Doku das Tool zum Laufen bringen und ein einfaches Beispiel ausführen? +- Wenn ja, ist der Detailgrad angemessen +- Wenn die Person hingegen nach 10 Seiten oder mehr als 1 Stunde immer noch + nicht weiß, wie sie loslegen soll, muss die Doku fokussierter werden. + ::: -Gerade weil Forschende wenig Zeit haben, muss die Dokumentation **effizient** -gestaltet sein – sie soll alle wichtigen Informationen enthalten, aber auch -nicht unnötig ausschweifen. Für typische Forschungssoftware-Projekte in den -Geisteswissenschaften wird ein Umfang von _maximal ca. 10 Seiten_ (bei Bedarf -verteilt auf mehrere Dateien) als ausreichend erachtet. Dieser Richtwert -verhindert, dass die Doku zu einer unüberschaubaren Abhandlung wird, und zwingt -zur Fokussierung auf das Wesentliche. Wichtig ist der **Inhalt, nicht die -Länge**: eine kürzere, aber inhaltsreiche Dokumentation ist besser als eine -lange, die nichts aussagt. - -### Umfang und Fokus der Dokumentation - Ein effizienter Umfang lässt sich erreichen, indem sie **alles, was für Nachvollziehbarkeit und Wiederverwendung nötig ist dokumentieren, und alles andere skippen**. @@ -461,39 +452,45 @@ Halten Sie auch die Sprache prägnant: erhöhen die Lesbarkeit. -Fachtermini aus dem jeweiligen wissenschaftlichen Bereich dürfen verwendet +**Fachtermini** aus dem jeweiligen wissenschaftlichen Bereich dürfen verwendet werden, aber erklären/verlinken Sie sie, falls die Zielnutzer sie evtl. nicht kennen. -Die Obergrenze von \~10 Seiten ist ein Richtwert. Umfangreiche Projekte könnten -etwas mehr benötigen, sehr kleine Tools kommen mit einer Seite aus. Das Ziel -ist, dass ein interessierter Nutzer die Dokumentation in überschaubarer Zeit -durchsehen kann. +#### Fokus auf Nutzer\*innen - nicht Entwickler\*innen -Ein guter Test ist: **Kann eine neue Person in < 1 Stunde mit Hilfe der Doku das -Tool zum Laufen bringen und ein einfaches Beispiel ausführen?** +Stellen Sie sich beim Schreiben der Doku die verschiedenen _Nutzerrollen_ vor: +**“Zukünftiges Ich”**, **Kolleg\*innen**, **Fachforscher\*innen anderer +Disziplin** und ggf. **Software-Entwickler\*innen, die den Code erweitern**. +Jede dieser Gruppen möchte bestimmte Dinge wissen. -- Wenn ja, ist der Detailgrad angemessen -- Wenn die Person hingegen nach 10 Seiten oder mehr als 1 Stunde immer noch - nicht weiß, wie sie loslegen soll, muss die Doku fokussierter werden. +_Forschende_ fragen: -Fügen Sie zur Not eine kurze _Übersicht/Zusammenfassung_ am Anfang ein, die das -Wichtigste in Kürze nennt – viele Leser entscheiden in wenigen Minuten, ob sie -eine Software weiter betrachten oder nicht, und hier zählt der erste Eindruck. +- Was kann das Tool? +- Wie benutze ich es? +- In welchem Kontext steht es? + +_Entwicklende Personen_ fragen: + +- Wie kann ich beitragen? +- Wie funktioniert es unter der Haube? + +Priorisieren Sie zunächst die erstgenannten (Anwender) – deshalb Fokus auf +Zweck, Nutzung und Ergebnisse. Konzentrieren Sie die Hauptdokumentation darauf, +**das Nutzen und Verstehen der Software von außen** zu ermöglichen. ### Priorisierung bei Zeitmangel Dieser Katalog adressiert primär die Nutzerdokumentation (für Endnutzer und für die Autoren selbst, wenn sie das Tool später wieder anfassen). Entwickler\*innendokumentation (z. B. detaillierte API-Dokumente, -Code-Kommentare, technische Architektur) kann separat gehalten werden, sofern -nötig, um den Hauptnutzerfluss nicht zu überfrachten. +Code-Kommentare, technische Architektur) kann separat gehalten werden, oder +sogar automatisch erzeugt werden. #### Minimaldokumentation: kurze Kommentare Beginnen Sie mit einer Minimaldokumentation, die alle Schlüsselaspekte abdeckt (_“keine Dokumentation”_ ist keine Option). _Good Enough -Practices_[@WilsonEtAl2017Goodenoughpractices] empfehlen, als ersten Schritt +Practices_[@Wilson2017GoodEnoughPractices] empfehlen, als ersten Schritt zumindest einen **kurzen erklärenden Kommentar am Anfang jedes Scripts** oder eine README mit ein paar Sätzen zu erstellen. Diese Hürde ist niedrig und bringt bereits Nutzen – selbst wenn (noch) keine ausführliche Handbuch-Doku existiert. @@ -516,33 +513,6 @@ Setup-Elementes für alles weitere. Ebenso können Tutorials oder Papers, die schon existieren, als weiterführende Links angegeben werden, anstatt Inhalte redundant zu erklären. Das entlastet Ihre Dokumentation und hält sie schlank. -#### Fokus auf Nutzer\*innen - nicht Entwickler\*innen - -Stellen Sie sich beim Schreiben der Doku die verschiedenen _Nutzerrollen_ vor: -**“Zukünftiges Ich”**, **Kolleg\*innen**, **Fachforscher\*innen anderer -Disziplin** und ggf. **Software-Entwickler\*innen, die den Code erweitern**. -Jede dieser Gruppen möchte bestimmte Dinge wissen. - -_Forschende_ fragen: - -- Was kann das Tool? -- Wie benutze ich es? -- In welchem Kontext steht es? - -_Entwicklende Personen_ fragen: - -- Wie kann ich beitragen? -- Wie funktioniert es unter der Haube? - -Priorisieren Sie zunächst die erstgenannten (Anwender) – deshalb Fokus auf -Zweck, Nutzung und Ergebnisse in der Hauptdoku. Detailinfos für -Entwickler\*innen (z. B. Code-Struktur, To-do-Liste) können separat oder später -ergänzt werden. Für viele kleine Forschungssoftware-Projekte sind ausführliche -Entwickler\*innendokumentationen ohnehin nicht nötig – hier reicht es, den Code -gut zu kommentieren und eventuell eine grobe Architekturübersicht -bereitzustellen. Konzentrieren Sie die Hauptdokumentation darauf, **das Nutzen -und Verstehen der Software von außen** zu ermöglichen. - #### Und anschließend? Wenn der Zeitmangel vorüber ist^[als ob DAS je der Fall wäre -.-], sollte man @@ -550,6 +520,40 @@ nach und nach das folgende Kapitel umsetzen. ## Was macht eine gute Dokumentation aus +### Formelle Prinzipien: Open-Source-Research, FAIR4RS und ENDINGS + +Beachten Sie, dass dieser Anforderungskatalog in Einklang mit den Prinzipien des +**Research Software Engineering**[@Hasselbring2020OpenSourceResearch] und den +**FAIR4RS-[@BarkerEtAl2022IntroducingFAIR]** bzw. +**ENDINGS-Prinzipien**[@EndingsPrinciples221] steht. + +::: {.callout-note .column-margin title="FAIR4RS-Prinzipien für Software"} + +Die FAIR4RS-Prinzipien sind eine Anpassung der Ursprünglich nur für Daten +gedachten FAIR-Prinzipien. Der Fokus liegt hier nicht auf Software selbst, +sondern auf eine Nutzung von Software die ein Äquivalent zur Nutzung von +FAIR-Daten darstellt. + +::: + +::: {.callout-note .column-margin title="ENDINGS-Prinzipien"} + +Die ENDINGS-Prinzipien für digitale Projekte betonen insbesondere die Bedeutung +von Dokumentation für Datenstrukturen, offenen Lizenzen, statischen Outputs und +Zitierbarkeit. + +::: + +Gute Dokumentation bedeutet daher u.a. die Verdeutlichung und Sicherstellung von + +- Reproduzierbarkeit (Installation, Daten, Beispiele), +- Offenheit (Lizenz, offene Formate) und +- Nachhaltigkeit (Versionierung, Langlebigkeit der Doku). + +Indem Sie also diesem Anforderungskatalog folgen, berücksichtigen Sie +automatisch wichtige anerkannte Prinzipien für gute wissenschaftliche +Softwarepraxis. + ### Nutzungshilfen außerhalb der Dokumentation Falls Ihre Software ein **Command-Line Interface (CLI)** hat, stellen Sie @@ -565,36 +569,10 @@ zumindest ein kleiner _Help_-Abschnitt im Handbuch vorhanden sein. Diese eingebetteten Hilfen ersetzen keine ausführliche Dokumentation, aber sie senken die Schwelle für alltägliche Fragen. -### Prinzipien: FAIR und ENDINGS - -Beachten Sie, dass dieser Anforderungskatalog in Einklang mit den Prinzipien des -**Research Software Engineering**[@Hasselbring2020OpenSourceResearch] und den -**ENDINGS-Prinzipien**[@EndingsPrinciples221] steht. - -::: {.callout-note title="ENDINGS-Prinzipien" .column-margin} - -Die ENDINGS-Prinzipien für digitale Projekte betonen insbesondere die Bedeutung -von Dokumentation für Datenstrukturen, offenen Lizenzen, statischen Outputs und -Zitierbarkeit. Unsere Empfehlungen, etwa ein statisches Markdown-README -beizulegen, die Datenmodell-Doku nicht auszulagern oder Zitationsangaben zu -machen, setzen genau diese Vorgaben um. - -::: - -Gute Dokumentation bedeutet daher u.a. die Verdeutlichung und Sicherstellung von - -- Reproduzierbarkeit (Installation, Daten, Beispiele), -- Offenheit (Lizenz, offene Formate) und -- Nachhaltigkeit (Versionierung, Langlebigkeit der Doku). - -Indem Sie also diesem Anforderungskatalog folgen, berücksichtigen Sie -automatisch wichtige anerkannte Prinzipien für gute wissenschaftliche -Softwarepraxis. - ### Kontinuierliche Verbesserung und Feedback Dokumentation ist kein einmaliges Ereignis, sondern ein fortlaufender Prozess. -Best Practice sind daher insbesondere:[@citation-needed] +Best Practice sind daher insbesondere: - früh Feedback von Testnutzer\*innen oder Kolleg\*innen einzuholen: Lassen Sie jemanden die Anleitung befolgen und hören Sie auf Stolpersteine. Oft zeigen @@ -612,19 +590,11 @@ Best Practice sind daher insbesondere:[@citation-needed] ### Positiv- und Negativbeispiele studieren Schlussendlich ist ein guter Weg, die eigene Dokumentation zu verbessern, ist -ein Blick auf Projekte mit exzellenter Doku. In der _[Journal of Open Source -Software (JOSS)][JOSS]_ oder [_Journal of Open Research Software (JORS)_][JORS] -werden oft Softwareartikel veröffentlicht, bei denen die zugehörigen -Repositorien vorbildliche READMEs und Wikis haben. Diese können als Vorlage -dienen. - -Achten Sie darauf, wie diese Projekte ihre README strukturieren, welche -Abschnitte vorhanden sind und welche nicht. Viele erfolgreiche Projekte haben -z. B. eine ähnliche Reihenfolge: Introduction, Installation, Usage, -Contributing, License, Citation – ein Muster, das sich bewährt hat. - -Ebenso gibt es von Initiativen wie der Software Sustainability Institute -Blogposts mit Best Practices und sogar Vorlagen (Templates) für Dokumentation. +ein Blick auf Projekte mit exzellenter Doku. Im _[Journal of Open Source +Software (JOSS)][JOSS]_ werden z.B. Softwareartikel veröffentlicht, bei denen +die zugehörigen Repositorien aufgrund des +[Review-Prozesses](https://joss.readthedocs.io/en/latest/review_checklist.html) +vorbildliche READMEs und Wikis haben. Diese können als Vorlage dienen. Nutzen Sie solche Ressourcen; sie ersparen einem das Rad neu zu erfinden. Allerdings: Adaptieren Sie sie auf Ihre Bedürfnisse – nicht jede Vorlage passt @@ -689,7 +659,7 @@ kann. ### Sphinx/MkDocs/Doxygen (statische Dokumentationswebseiten) -::: {.callout-tip title="Prinzip" .column-margin} +::: {.callout-tip .column-margin title="Prinzip"} Ab einer Codebasis `> einige tausend Zeilen` oder `>5 nontriviale Module` sollte eine generierte Dokumentation bereitstehen. @@ -726,10 +696,11 @@ Sphinx/Doxygen-Doku für die API (s.u.) existiert. ### Docstrings und API-Dokumentationsgeneratoren -::: {.callout-tip title="Prinzip" .column-margin} +::: {.callout-tip .column-margin title="Prinzip"} Benutzt jemand die Software nur, braucht es keine API-Dokumentationen; wird die -Software aber woanders eingebunden, ist dieses notwendig. +Software aber woanders eingebunden, ist dieses notwendig. Generation dieser +Dokumentation ist daher der beste Weg. ::: @@ -747,9 +718,10 @@ enthält. Für kleine Scripte genügen ggf. Modul- oder Abschnittskommentare. Wichtig ist Konsistenz im Stil – halten Sie sich an Konventionen Ihres Ökosystems (z. B. [Google Style Guide](https://google.github.io/styleguide/) für -Python Docstrings oder entsprechende Formatvorgaben für andere Sprachen). -Verlinken sie diese Styleguides in der README. Sogenannte Linting-Tools, wie -etwa **[pylint][]**, können die Verwendung erzwingen. +Python Docstrings oder entsprechende Formatvorgaben für andere +Sprachen)[@JimenezEtAl2017FourSimpleRecommendations]. Verlinken sie diese +Styleguides in der README. Sogenannte Linting-Tools, wie etwa **[pylint][]**, +können die Verwendung erzwingen. Mit Tools, wie **[Sphinx][]**, **[Javadoc][]**, **[Doxygen][]**, **[MkDocs][]**,**[pdoc][]** und vielen weiteren, können aus Docstrings @@ -758,15 +730,9 @@ die Python-Docstrings und erzeuge daraus strukturiert eine Dokumentation; Häufi kann über Erweiterungen auch dritte Dokumentation direkt eingebunden und verlinkt werden. -Der Einsatz solcher Tools ist besonders dann sinnvoll, wenn Ihre -Forschungssoftware über eine _Programmierschnittstelle (API)_ verfügt, die von -anderen genutzt werden soll, oder wenn das Projekt größer wird und die interne -Struktur komplexer ist. In solchen Fällen kann eine _API-Referenz_ (automatisch -aus dem Code erzeugt) eine erhebliche Hilfe sein. - ### Versionskontrolle und kontinuierliche Dokumentationspflege -::: {.callout-tip title="Prinzip" .column-margin} +::: {.callout-tip .column-margin title="Prinzip"} Die beste Dokumentation ist die, die sich selbst aktualisiert. @@ -787,7 +753,7 @@ Codeversion immer eine aktuelle Doku hat_. Schlussendlich muss aber das Level an Automation für jedes Projekt individuell abgewogen werden. -## Best Practices, Vorlagen und Checklisten +## Checklisten und Vorlagen Um zu entscheiden, _was_ dokumentiert wird (und was _nicht_), helfen etablierte **Best Practices** sowie Vorlagen aus der Community. Im Folgenden sind einige @@ -846,6 +812,16 @@ dokumentiert werden muss und was eventuell weggelassen werden kann. **Alles, was für die obigen Punkte nicht relevant ist, kann man tendenziell aus der Hauptdokumentation herauslassen.** +### Implementierung aller Vorschläge als ready-to-use Repository + +::: {.callout-important title="TODO"} + +- [ ] Hier noch auf unsere Template-Repos verweisen. +- [ ] Template-Repos selbst ggf. automatisch auf Zenodo mit kleinem + Erklärungstext veröffentlichen? + +::: + ## Fazit Die hier präsentierten Anforderungen und Empfehlungen bieten einen **Leitfaden @@ -869,7 +845,7 @@ Softwareprojekte dokumentationstechnisch auf ein solides Fundament zu stellen trotz knapper Zeit und ohne Informatikabschluss. Denn am Ende gilt: **Gut dokumentierte Forschungscode ist nachhaltige Forschung**. -## Tabellarische Übersicht der Dokumentations-Bestandteile {.appendix} +## Tabellarische Übersicht der Dokumentations-Bestandteile {.appendix .column-page} ::: {.column-page-right} @@ -918,17 +894,27 @@ Community (kostenfrei; limitierte features) oder Enterprise-Linzenz" ## Referenz Software {.appendix} +- [argparse][]: Der Argument-Parser der Python-Standardbibliothek +- [Doxygen][]: Generator um aus C/C++ Docstrings eine Dokumentation zu + generieren - [git][]: Versionskontrollsystem - [graphviz][]: Textuelle darstellung von Graphen; Standard-Unix-Tool; Auf vielen Systemen verfügbar und rendert zu pdf/svg +- [Javadoc][]: Generator um aus Java Docstrings eine Dokumentation zu generieren - [Markdown][]: Mittlerweile DER Standard bei plaintext-Dokumenten - [mermaid.js][]: Sprache für Diagramme; kann automatisiert (z.b. durch pandoc, javascript im HTML, …) in Bilder gewandelt werden +- [MkDocs][]: Sehr einfacher und minimalistischer Generator für statische + Websites aus Markdown - [pandoc][]: DER Konverter für Dokumente. Kann sehr viel in Markdown wandeln und hieraus HTML/PDF u.ä. erstellen +- [pdoc][]: Generator um aus Python Docstrings eine Dokumentation zu generieren - [pylint][]: Linting-Tool für Python. Formatiert Code und weist auf Probleme (z.b. fehlende Dokumentation) hin. +- [Roxygen][]: Generator um aus R Docstrings eine Dokumentation zu generieren - [rst][]: Alternative zu Markdown. +- [Sphinx][]: Mächtiges Dokumentations-Generierungs-Werkzeug, welches hinter + readthedocs.com steht. [argparse]: https://docs.python.org/3/library/argparse.html @@ -953,9 +939,6 @@ Dokumentation zu generieren" [pdoc]: https://pdoc.dev/ "Generator um aus Python Docstrings eine Dokumentation zu generieren" - ---- - [git]: https://git-scm.com "Das de-facto Standard-Versionskontrollsystem" [graphviz]: https://graphviz.org/ diff --git a/dist/About/Experience.html b/dist/About/Experience.html index 235f734..5597486 100644 --- a/dist/About/Experience.html +++ b/dist/About/Experience.html @@ -2,7 +2,7 @@
- + @@ -36,14 +36,13 @@ ul.task-list li input[type="checkbox"] { - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + + - - - + + - - - + + +