diff --git a/rdmorganiser/questions/smp.xml b/rdmorganiser/questions/smp.xml deleted file mode 100644 index 1df44382..00000000 --- a/rdmorganiser/questions/smp.xml +++ /dev/null @@ -1,2189 +0,0 @@ - - - - https://rdmorganiser.github.io/terms - smp - This software project management catalogue was developed by the Max Planck Digital Library in 2022. Thanks to all our team colleagues for their support. -This SMP template was inspired by some documentation, specially: -* https://www.software.ac.uk/resources/guides/software-management-plans -* https://opencarp.org/about/software-management-plan - 98 - Software Management Plan for Researchers - This catalogue is for the management of scientific software projects. It supports scientists in the development and project organisation of software developments through fifty questions in different topic blocks. This is version 3.0 of the catalogue. - Software-Management-Plan für Forschende - Dieser Katalog ist für das Management von wissenschaftlichen Software-Projekten. Er unterstützt Wissenschaftler_innen bei der Entwicklung und der Projektorganisation von Software-Entwicklungen durch fünfzig Fragen in unterschiedlichen Themenblöcken. Dies ist Version 3.0. - Plan de gestion des logiciels pour chercheurs - Ce catalogue est destiné à la gestion de projets de logiciels scientifiques. Il aide les scientifiques à développer et à organiser des projets de développement de logiciels grâce à cinquante questions réparties en différents blocs thématiques. Il s'agit de la version 3.0. - Piano di gestione del software per ricercatori - Questo catalogo è destinato alla gestione di progetti software scientifici. Supporta gli scienziati nello sviluppo e nell'organizzazione di progetti software con cinquanta domande in diversi blocchi tematici. Questa è la versione 3.0. - Plan de gestión del software para investigadores - Este catálogo está destinado a la gestión de proyectos de software científico. Apoya a los científicos en el desarrollo y la organización de proyectos de desarrollo de software con cincuenta preguntas en diferentes bloques temáticos. Se trata de la versión 3.0. - -
- https://rdmorganiser.github.io/terms - general - smp/general - - - 0 - General - Allgemein -
- - https://rdmorganiser.github.io/terms - topic - smp/general/topic - - -
- False - 0 - Topic - If you are looking for an introduction to the topic before completing a software management plan, then we recommend Martinez-Ortiz et al. (2022): Practical guide to Software Management Plans, v1.0, <a href="https://doi.org/10.5281/zenodo.7589725" target="_blank">https://doi.org/10.5281/zenodo.7589725</a>. - - - Thema - Falls Sie vor dem Ausfüllen eines Software-Management-Plans nach einer Einführung in das Thema suchen, dann empfehlen wir Martinez-Ortiz et al. (2022): Practical guide to Software Management Plans, v1.0, <a href="https://doi.org/10.5281/zenodo.7589725" target="_blank">https://doi.org/10.5281/zenodo.7589725</a>. - - - - - - https://rdmorganiser.github.io/terms - project-title - smp/general/topic/project-title - - - - False - 0 - The title of the software can, of course, still change or be specified in the course of a project. Nevertheless, it makes sense to give the project a specific name at the beginning in order to facilitate further (internal) communication about it. - What is the title of the software project? - - - Der Titel der Software kann sich im Laufe eines Projekts noch ändern oder spezifiziert werden. Es ist dennoch schon zu Beginn sinnvoll, dem Projekt eine konkrete Bezeichnung zu geben, um die weitere (interne) Kommunikation darüber zu erleichtern. - Wie lautet der Titel des Softwareprojekts? - - - text - text - - - - - - - - - https://rdmorganiser.github.io/terms - research-field - smp/general/topic/research-field - - - - True - 1 - The list of disciplines follows the <a href="http://www.dfg.de/en/dfg_profile/statutory_bodies/review_boards/subject_areas/index.jsp" target="_blank">subject classification of the DFG (German Research Foundation)</a>. - Which research field(s) does this software belong to? - - - Die Liste der Disziplinen entspricht der <a href="http://www.dfg.de/en/dfg_profile/statutory_bodies/review_boards/subject_areas/index.jsp" target="_blank">Fachsystematik der Deutschen Forschungsgemeinschaft (DFG)</a>. - Zu welchem(n) Forschungsbereich(en) gehört diese Software? - - - select - text - - - - - - - - - - - https://rdmorganiser.github.io/terms - application_class - smp/general/topic/application_class - The application classes are essentially based on the "DLR Software Engineering Guidelines" (https://zenodo.org/record/1344612), p. 7-8. Depending on the selection in this questions a selection of different questions is provided below. - - - False - 2 - The application classes are essentially based on the "DLR Software Engineering Guidelines" (<a href="https://doi.org/10.5281/zenodo.1344612" target=" _blank">https://doi.org/10.5281/zenodo.1344612</a>), p. 7-8. Depending on the selection in this questions a selection of different questions is provided below. -<details> -<summary>Click here for more information on the application classes for research software</summary> -<b>Application Class 0</b>: -<ul> -<li>Scripts to process data for a publication.</li> -<li>Simple administrative scripts to automate specific tasks.</li> -<li>Software that only demonstrates certain functions or is developed to test them.</li> -</ul> -<b>Application Class 1</b>: -<ul> -<li>Software that students develop during studies, bachelor or master theses.</li> -<li>Software resulting from dissertations in which the long-term development does not matter. </li> -<li>Software resulting from third-party projects with focus on demonstration and without planned long-term development.</li> -</ul> -<b>Application Class 2</b>: -<ul> -<li>Software resulting from dissertations in which maintainability and long-term usage matter.</li> -<li>Software from third-party projects in which maintenance and long-term usage matter beyond the project.</li> -<li>Large research frameworks which are developed by a majority of a department.</li> -</ul> -<b>Application Class 3</b>: -<ul> -<li>Mission critical software, for example, in context of aircraft, autonomous vehicles, health care, patients relation, or space missions.</li> -<li>Software for which the facility gives a warranty within or outside the own institution (e.g., via an external company).</li> -<li>Software that makes a significant contribution to third party funding and research results of the facility, and must therefore work reliably.</li> -</ul> -</details> - In which application class is the software categorised? - - - Die Anwendungsklassen orientieren sich im Wesentlichen an den "DLR Guidelines for Research Guidelines" (<a href="https://doi.org/10.5281/zenodo.1344612" target=" _blank">https://doi.org/10.5281/zenodo.1344612</a>), S. 7-8. Abhängig von der Auswahl in diesen Fragen wird unten eine Auswahl verschiedener Fragen bereitgestellt. -<Details> -<summary>Hier finden Sie weitere Informationen zu den Anwendungsklassen für Forschungssoftware</summary> -<b>Anwendungsklasse 0</b>: -<ul> -<li>Skripte zur Verarbeitung von Daten für eine Publikation.</li> -<li>Einfache administrative Skripte, um bestimmte Aufgaben zu automatisieren.</li> -<li>Software, die nur bestimmte Funktionen demonstriert oder entwickelt wird, um sie zu testen.</li> -</ul> -<b>Anwendungsklasse 1</b>: -<ul> -<li>Software, die Studierende im Rahmen von Studien-, Bachelor- oder Masterarbeiten entwickeln.</li> -<li>Software, die aus Diplomarbeiten resultiert, bei denen die langfristige Entwicklung keine Rolle spielt. </li> -<li>Software, die aus Drittmittelprojekten mit Schwerpunkt auf Demonstration und ohne geplante langfristige Entwicklung resultiert.</li> -</ul> -<b>Anwendungsklasse 2</b>: -<ul> -<li>Software, die aus Dissertationen resultiert, bei denen Wartbarkeit und langfristige Nutzung eine Rolle spielen.</li> -<li>Software aus Drittmittelprojekten, bei denen Wartung und langfristige Nutzung über das Projekt hinaus von Bedeutung sind.</li> -<li>Große Forschungsrahmenwerke, die mehrheitlich von einer Abteilung entwickelt werden.</li> -</ul> -<b>Anwendungsklasse 3</b>: -<ul> -<li>Missionskritische Software, z.B. im Zusammenhang mit Flugzeugen, autonomen Fahrzeugen, Gesundheitsfürsorge, Patientenbeziehungen oder Weltraummissionen.</li> -<li>Software, für die die Einrichtung innerhalb oder außerhalb der eigenen Institution (z.B. über ein externes Unternehmen) eine Garantie übernimmt.</li> -<li>Software, die einen wesentlichen Beitrag zu Drittmitteln und Forschungsergebnissen der Einrichtung leistet und daher zuverlässig arbeiten muss.</li> -</ul> -</details> - In welche Anwendungsklasse wird die Software einordnen? - - - radio - text - - - - - - - - - - - https://rdmorganiser.github.io/terms - intended-use - smp/general/topic/intended-use - - - - False - 3 - The intention for developing software in a scientific context can be manifold. The same applies to the specific application of the software and the contribution to scientific knowledge. Depending on the scientific community, these points can also differ significantly from each other. - -We offer here some recommended reading that may be helpful in answering the questions: - -* Anzt et al.(2021): deRSE Position Paper: "An environment for sustainable research software in Germany and beyond: Current state, open challenges, and call for action", <a href="https://doi.org/10.12688/f1000research.23224.2" target="_blank">https://doi.org/10.12688/f1000research.23224.2</a>. -* Gardner et al. (2022): Sustained software development, not number of citations or journal choice, is indicative of accurate bioinformatic software, In: Genome Biology 23, 56, <a href="https://doi.org/10.1186/s13059-022-02625-x" target="_blank">https://doi.org/10.1186/s13059-022-02625-x</a>. -* Katerbow, & Feulner (2018): Recommendations on the development, use and provision of Research Software, <a href="https://doi.org/10.5281/zenodo.1172988" target="_blank">https://doi.org/10.5281/zenodo.1172988</a>. -* Lee, et al. (2021): Barely sufficient practices in scientific computing, In: Patterns, 2(2), 100206, <a href="https://doi.org/10.1016/j.patter.2021.100206" target="_blank">https://doi.org/10.1016/j.patter.2021.100206</a>. -* Wuttke et al. (2022): Guidelines for collaborative development of sustainable data treatment software, In: Journal of Neutron Research, vol. 24, no. 1, pp. 33-72, <a href="https://doi.org/10.3233/JNR-220002" target="_blank">https://doi.org/10.3233/JNR-220002</a>. -* Wilson et al. (2017): Good enough practices in scientific computing, In: PLOS Computational Biology, 13(6), e1005510, <a href="https://doi.org/10.1371/journal.pcbi.1005510" target="_blank">https://doi.org/10.1371/journal.pcbi.1005510</a>. - -By their very nature, these references are not exhaustive. If you need particular assistance in answering them, it is best to talk to your local colleagues from IT, the Scientific Computing Unit, and so on. They will probably be able to help you. - What is the intended use of the software? How will your software contribute to research? - - - Die Intention für die Entwicklung von Software im wissenschaftlichen Kontext kann vielfältig sein. Gleiches gilt für die konkrete Anwendung der Software und dem Beitrag zum wissenschaftlichen Erkenntnisgewinn. Je nach Fachkultur können sich diese Punkte auch deutlich voneinander unterscheiden. - -Zur Orientierung und als Unterstützung bieten wir hier einige Literaturempfehlungen, die bei der Beantwortung der Fragen hilfreich seinen können: - -* Anzt et al.(2021): deRSE Position Paper: "An environment for sustainable research software in Germany and beyond: Current state, open challenges, and call for action", <a href="https://doi.org/10.12688/f1000research.23224.2" target="_blank">https://doi.org/10.12688/f1000research.23224.2</a>. -* Gardner et al. (2022): Sustained software development, not number of citations or journal choice, is indicative of accurate bioinformatic software, In: Genome Biology 23, 56, <a href="https://doi.org/10.1186/s13059-022-02625-x" target="_blank">https://doi.org/10.1186/s13059-022-02625-x</a>. -* Katerbow, & Feulner (2018): Recommendations on the development, use and provision of Research Software, <a href="https://doi.org/10.5281/zenodo.1172988" target="_blank">https://doi.org/10.5281/zenodo.1172988</a>. -* Lee, et al. (2021): Barely sufficient practices in scientific computing, In: Patterns, 2(2), 100206, <a href="https://doi.org/10.1016/j.patter.2021.100206" target="_blank">https://doi.org/10.1016/j.patter.2021.100206</a>. -* Wuttke et al. (2022): Guidelines for collaborative development of sustainable data treatment software, In: Journal of Neutron Research, vol. 24, no. 1, pp. 33-72, <a href="https://doi.org/10.3233/JNR-220002" target="_blank">https://doi.org/10.3233/JNR-220002</a>. -* Wilson et al. (2017): Good enough practices in scientific computing, In: PLOS Computational Biology, 13(6), e1005510, <a href="https://doi.org/10.1371/journal.pcbi.1005510" target="_blank">https://doi.org/10.1371/journal.pcbi.1005510</a>. - -Es liegt in der Natur der Sache, dass diese Literaturhinweise nicht vollumfänglich sind. Wenn Sie bei der Beantwortung konkrete Unterstützung benötigen, dann sprechen Sie am besten mit Ihren lokalen Kolleg_innen von der IT, der Scientific Computing Unit usw. Diese können Ihnen weiterhelfen. - Was ist der beabsichtigte Verwendungszweck der Software? Wie wird Ihre Software zur Forschung beitragen? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - buy-or-make - smp/general/topic/buy-or-make - - - - False - 4 - Please consider whether it would be more effective to purchase existing software or to adapt an existing open source instead of developing software yourself. - -The following (selected) platforms can help: -<ul> -<li>bio.tools (<a href="https://bio.tools" target="_blank" >https://bio.tools</a>)</li> -<li>pypi (<a href="https://pypi.org/" target="_blank" >https://pypi.org/</a>)</li> -<li>Research Software Directory (<a href="https://research-software-directory.org/" target="_blank" >https://research-software-directory.org/</a>)</li> -<li>...</li> -</ul> - What function does the new software have that previous software does not cover? What related software exists and why is it not suitable? - - - Bitte überlegen Sie, ob es nicht zielführender ist eine existierende Software einzukaufen oder eine bestehende Open Source-Variante anzupassen anstatt eine eigene Software vollständig selbst zu entwickeln. - -Folgende (ausgewählte) Plattformen können hierbei helfen: -<ul> -<li>bio.tools (<a href="https://bio.tools" target="_blank" >https://bio.tools</a>)</li> -<li>pypi (<a href="https://pypi.org/" target="_blank" >https://pypi.org/</a>)</li> -<li>Research Software Directory (<a href="https://research-software-directory.org/" target="_blank" >https://research-software-directory.org/</a>)</li> -<li>...</li> -</ul> - Welche Funktion hat die neue Software, die bisherige Software nicht abdeckt? Welche verwandte Software gibt es und warum ist diese nicht geeignet? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - project-partner - smp/general/project-partner - - -
- False - 1 - Software Project Partner(s) - - - - Software-Projektpartner - - - - - - - - - - - https://rdmorganiser.github.io/terms - project-participants - smp/general/project-partner/project-participants - - - - True - 0 - Please enter the name and contact details as well as institution, position as well as role in the software project, if applicable. - Who are the project participants that deal with this software? - - - Bitte geben Sie den Namen und Kontaktdaten sowie ggf. Institution und Position sowie Rolle im Software-Projekt. - Wer sind die Projektteilnehmer, die an dieser Software arbeiten? - - - text - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - funding - smp/general/project-partner/funding - - - - False - 2 - Here, for example, personnel or financial resources from the regular budget or already existing project funds can be mentioned. - -Scientific software is becoming increasingly important as a source of knowledge. Therefore, the development of software in a scientific context is also becoming more and more relevant for funding organisations. A software management plan can be a useful basis for applying for (partial) project funding, as software is increasingly considered worthy of funding. - -For further reference, we recommend these publications: - -* Rand et al., Visibility of Research Software Engineers in research funding, 2022, Software Sustainability Institute Blog, <a href="https://www.software.ac.uk/blog/2022-06-20-visibility-research-software-engineers-research-funding" target="_blank">https://www.software.ac.uk/blog/2022-06-20-visibility-research-software-engineers-research-funding</a>. -* Strasser et al. (2022): 10 Simple Rules for Funding Scientific Open Source Software, <a href="https://doi.org/10.5281/ZENODO.6611500" target="_blank">https://doi.org/10.5281/zenodo.6611500</a>. - Is there existing (financial/personnel) resources or will there be specific funding for the software development? - - - Hier können beispielsweise personellen oder finanzielle Mittel aus dem regulären Haushalt oder bereits vorhandene Projektmittel erwähnt werden. - -Wissenschaftliche Software gewinnt als Erkenntnisgewinn zunehmend an Bedeutung. Daher wird die Entwicklung von Software im wissenschaftlichen Kontext auch für Förderorganisationen zunehmend relevanter. Ein Software-Management-Plan kann daher eine sinnvolle Grundlage für eine Beantragung von (Teil-)Projektmitteln sein, da Software zunehmend auch als förderwürdig erachtet wird. - -Als weiterführenden Hinweise empfehlen wir diese Publikationen: - -* Rand et al., Visibility of Research Software Engineers in research funding, 2022, Software Sustainability Institute Blog, <a href="https://www.software.ac.uk/blog/2022-06-20-visibility-research-software-engineers-research-funding" target="_blank">https://www.software.ac.uk/blog/2022-06-20-visibility-research-software-engineers-research-funding</a>. -* Strasser et al. (2022): 10 Simple Rules for Funding Scientific Open Source Software, <a href="https://doi.org/10.5281/ZENODO.6611500" target="_blank">https://doi.org/10.5281/zenodo.6611500</a>. - Gibt es existierende (personellen/finanziellen) Ressourcen oder wird es eine spezielle Finanzierung für die Softwareentwicklung geben? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - schedule - smp/general/schedule - - -
- False - 2 - Software Project Schedule - - - - Zeitplan für Softwareprojekte - - - - - - - - - - - https://rdmorganiser.github.io/terms - start-date - smp/general/schedule/start-date - - - - False - 1 - - When does the software project start? - - - - Wann beginnt das Softwareprojekt? - - - date - datetime - - - - - - - - - https://rdmorganiser.github.io/terms - end-date - smp/general/schedule/end-date - - - - False - 2 - - When does the software project end? - - - - Wann endet das Softwareprojekt? - - - date - datetime - - - - - - - - - https://rdmorganiser.github.io/terms - project-management - smp/general/project-management - - -
- False - 3 - Software Project Management - - - - Software-Projekt-Management - - - - - - - - - - - https://rdmorganiser.github.io/terms - development-process - smp/general/project-management/development-process - - - - False - 0 - For this question, it is useful to first describe the type of project management. Examples here would be agile methods such as Scrum. But a more classical approach like e.g. the "waterfall" model is also possible. Ultimately, it is crucial that the chosen method fits the goal and is communicated to and works for the people involved. - -Once a methodological approach has been established, it may be useful to define different roles for the software project. Examples would be "Developer", "Tester", "Scrum Master" etc. At the same time, it is advisable to already draft a specification document for the project with requirements, usage scenarios and other specifications. The requirements from the user's point of view should be clear so that the conception and specification process by the developers can start on this basis. - -For guidance, these texts may be of interest: - -* Smith, Srinivasan and Shankar (2019): Debunking the Myth That Upfront Requirements Are Infeasible for Scientific Computing Software, IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science), pp. 33-40, <a href="https://doi.org/10.1109/SE4Science.2019.00011" target="_blank">https://doi.org/10.1109/SE4Science.2019.00011</a>. -* Marques and Milewicz (2022): User Stories in Scientific Software Development, Better Scientific Software Blog, <a href="https://bssw.io/blog_posts/user-stories-in-scientific-software-development" target="_blank">https://bssw.io/blog_posts/user-stories-in-scientific-software-development</a>. - Which software development process is defined? How will process roles be assigned? - - - Bei dieser Frage bietet es sich an, zuerst die Art des Projektmanagements zu beschreiben. Beispiele wären hier besonders die agilen Methoden, wie Scrum. Aber auch ein eher klassisches Vorgehen mit z.B. der "Wasserfall"-Methode ist möglich. Letztendlich ist es entscheidend, dass die gewählte Methode für das Ziel passt und an die beteiligten Personen kommuniziert ist sowie für diese funktioniert. - -Nach der Festlegung auf ein methodisches Vorgehen kann es sinnvoll sein, verschiedene Rollen für das Software-Projekt zu definieren. Beispiele hierfür wären "Entwickler", "Tester", "Scrum Master" etc. Gleichzeitig empfiehlt es sich, für das Projekt bereits einen Leistungskatalog mit Anforderungen, Nutzungsszenarien und Spezifikationen zu entwerfen. Die Anforderungen aus Nutzendensicht sollten klar vorliegen, sodass auf dessen Grundlage dann der Konzeptions- und Spezifikationsprozess durch die Entwickler beginnen kann. - -Zur Unterstützung können diese Texte interessant sein: - -* Smith, Srinivasan und Shankar (2019): Debunking the Myth That Upfront Requirements Are Infeasible for Scientific Computing Software, IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science), S. 33-40, <a href="https://doi.org/10.1109/SE4Science.2019.00011" target="_blank">https://doi.org/10.1109/SE4Science.2019.00011</a>. -* Marques und Milewicz (2022): User Stories in Scientific Software Development, Better Scientific Software Blog, <a href="https://bssw.io/blog_posts/user-stories-in-scientific-software-development" target="_blank">https://bssw.io/blog_posts/user-stories-in-scientific-software-development</a>. - Welcher Softwareentwicklungsprozess wird definiert? Wie werden die Prozessrollen zugewiesen? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - track-tasks - smp/general/project-management/track-tasks - - - - True - 1 - The development of software goes hand in hand with a high degree of complexity. In order to keep track of the diverse requirements, tasks and problems, it is advisable to organise these points in a clear structure. At the same time, this enhances the traceability of developments. - -Examples of applications are stand-alone ticket systems such as Jira or Redmine. However, integrated systems can also be used just as well, such as provided in GitHub/GitLab (<a href="https://carpentries-incubator.github.io/git-novice-branch-pr/" target="_blank">see for example the Carpentries Lesson</a>). Working with a (digital) Kanban board can also support software development. - How do you track the different tasks and use cases? - - - Die Entwicklung von Software geht einher mit einer hohen Komplexität. Um die vielfältigen Anforderungen, Aufgaben und Probleme nachzuvollziehen, empfiehlt es sich diese Punkte in einer klaren Struktur zu organisieren. Gleichzeitig fördert dies die Rückverfolgbarkeit von Entwicklungen. - -Beispiele für Anwendungen sind etwa eigenständige Ticket-Systeme wie Jira oder Redmine. Ebenso gut können aber auch integrierte Systeme verwendet werden, wie etwa in GitHub/GitLab bereitgestellt (<a href="https://carpentries-incubator.github.io/git-novice-branch-pr/" target="_blank">siehe etwa die Carpentries Lesson</a>). Auch das Arbeiten mit einem (digitalen) Kanban-Board kann bei der Software-Entwicklung unterstützen. - Wie verfolgen Sie die verschiedenen Aufgaben und Anwendungsfälle? - - - text - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - specification-sheet - smp/general/project-management/specification-sheet - - - - False - 2 - The description of the requirements can be one of the cornerstones for a successful software. It is therefore advisable to invest time resources into this right from the start. - Will there be a specification document (briefly) outlining the most important requirements? - - - Die Beschreibungen der Anforderungen kann einer der zentralen Grundstein für eine gelungene Software sein. Daher empfiehlt es sich hierfür von Beginn an zeitliche Ressourcen zu investieren. - Wird es einen Anforderungskatalog oder ein Lastenheft geben, in dem (kurz) die wichtigsten Anforderungen skizziert werden? - - - yesno - boolean - - - - - - - - - - - - https://rdmorganiser.github.io/terms - software-requirements - smp/general/software-requirements - - -
- False - 4 - Software Development Requirements - - - - Anforderungen an die Softwareentwicklung - - - - - - - - - - - https://rdmorganiser.github.io/terms - institutional-requirements - smp/general/software-requirements/institutional-requirements - - - - True - 0 - For the development of software in a scientific context, the rules of good scientific practice at one's own institution or organisation apply. Software might not explicitly mentioned there. Nevertheless, these rules for scientific results can apply to the development (and sharing) of software. - -At the same time, individual institutes, working groups, etc. can also impose rules on the use of software. If you are unsure about the institutional requirements that apply to you, it is best to contact your local colleagues from the Research Coordination or IT, Scientific Computing Unit, etc. They can provide you with competent support. - -Below you will find a collection of examples of institutional regulations related to software: - -* Budich & Funk (2022): Software Licensing and Copyright Policy for Research Software CODE @ Max Planck Institute for Meteorology, <a href="https://hdl.handle.net/21.11116/0000-000C-80B1-A" target="_blank">https://hdl.handle.net/21.11116/0000-000C-80B1-A</a>. -* European Space Agency: ESA Open Source Policy, <a href="https://essr.esa.int/esa-open-source-policy" target="_blank">https://essr.esa.int/esa-open-source-policy</a>. -* Akhmerov et al. (2021): TU Delft Research Software Policy, <a href="https://doi.org/10.5281/zenodo.4629662" target="_blank">https://doi.org/10.5281/zenodo.4629662</a>. - Are there institutional requirements for software development? - - - Für die Entwicklung von Software im wissenschaftlichen Kontext gelten die Regeln zur guten wissenschaftlichen Praxis der eigenen Institution oder Organisation. Software muss dort noch nicht explizit erwähnt. Dennoch können diese entsprechenden Regeln für wissenschaftliche Ergebnisse auch für die Entwicklung (und Veröffentlichung) von Software gelten. - -Gleichzeitig können sich auch einzelne Institute, Arbeitsgruppen etc. Regeln zum Umgang mit Software auferlegen. Sollten Sie unsicher sein, inwiefern institutionelle Anforderungen für Sie zutreffen, dann kontaktieren Sie am besten Ihre lokalen Kolleg_innen von der Forschungskoordination oder der IT, Scientific Computing Unit etc. Diese können Sie dabei kompetent unterstützen. - -Im Folgenden finden Sie eine Beispielsammlung für institutionelle Regelwerke mit Bezug zu Software: - -* Budich & Funk (2022): Software Licensing and Copyright Policy for Research Software CODE @ Max Planck Institute for Meteorology, <a href="https://hdl.handle.net/21.11116/0000-000C-80B1-A" target="_blank">https://hdl.handle.net/21.11116/0000-000C-80B1-A</a>. -* European Space Agency: ESA Open Source Policy, <a href="https://essr.esa.int/esa-open-source-policy" target="_blank">https://essr.esa.int/esa-open-source-policy</a>. -* Akhmerov et al. (2021): TU Delft Research Software Policy, <a href="https://doi.org/10.5281/zenodo.4629662" target="_blank">https://doi.org/10.5281/zenodo.4629662</a>. - Gibt es institutionelle Anforderungen an die Softwareentwicklung? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - community-requirements - smp/general/software-requirements/community-requirements - - - - False - 1 - In addition to institutional requirements, there may also be other conditions or communities that need to be taken into account when developing software in a scientific context. For example, if the software is developed in a third-party project, then the requirements of the funding body are binding. Likewise, there may be various agreements in one's own community that need to be taken into account in software development. - -It is advisable to familiarise yourself with the FAIR Principles for Research Software (<a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a>) at an early stage. For example, this question about requirement for software is required in <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> I1 and R3. At the same time, orientation towards the <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> principles can significantly increase the quality and acceptance of the software. An interactive guide to FAIR software can be found here: <a href="https://fair-software.nl" target="_blank">https://fair-software.nl</a>. - Are there requirements regarding the software development form other parties? - - - Neben institutionellen Anforderungen können ebenso weitere Bedingungen oder Communities existieren, die es bei der Entwicklung von Software im wissenschaftlichen Kontext zu beachten gilt. Wenn beispielsweise die Software in einem Drittmittelprojekt entwickelt wird, dann sind die Vorgaben des Mittelgebers bindend. Ebenso können verschiedene Vereinbarungen in der eigenen Fächergruppe bestehen, die es bei der Software-Entwicklung zu berücksichtigen gilt. - -Parallel dazu ist es empfehlenswert, sich mit den FAIR Principles for Research Software (<a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a>) schon frühzeitig vertraut zu machen. So wird beispielsweise diese Anforderung in <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> I1 und R3 gefordert. Die Orientierung an den <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a>-Prinzipien kann gleichzeitig die Qualität und Akzeptanz der Software deutlich steigern. Eine interaktive Hilfestellung zu FAIR Software findet sich hier: <a href="https://fair-software.nl" target="_blank">https://fair-software.nl</a>. - Gibt es Anforderungen bezüglich der Softwareentwicklung von externer Seite? - - - textarea - text - - - - - - - -
- https://rdmorganiser.github.io/terms - technical - smp/technical - - - 1 - Technical - Technische Informationen -
- - https://rdmorganiser.github.io/terms - code - smp/technical/code - - -
- False - 0 - Code - - - - Code - - - - - - - https://rdmorganiser.github.io/terms - language - smp/technical/code/language - - - - True - 0 - The software languages go hand in hand with different methods, focuses and required skill levels. Here you can document which language(s) you choose and why. Examples of software languages can be Java, Python, R, etc. - -At this point it is also useful to document whether technical standards are relevant for the development of software. Examples include <a href="https://www.iso.org/standard/38421.html" target="_blank">IEC Standard 62304</a> for software in medical applications, or <a href="https://ecss.nl/standard/ecss-e-st-40c-software-general-requirements/" target="_blank">ECSS-E-ST-40C</a> for software in space applications, or <a href="https://www.dicomstandard.org" target="_blank">DICOM</a> for the exchange of medical image data. - Which programming language(s) do you plan to use? - - - Die Softwaresprachen gehen einher mit unterschiedlichen Methoden, Schwerpunkten und benötigten Fähigkeitsgraden. Hier können Sie dokumentieren, für welche Sprache(n) Sie sich entscheiden und weshalb. Beispiele für Softwaresprachen während Java, Python, R, usw. - -An dieser Stelle bietet es sich zusätzlich an, zu dokumentieren, ob technische Standards für die Entwicklung von Software relevant sind. Beispiele hierfür sind etwa der <a href="https://www.iso.org/standard/38421.html" target="_blank">IEC Standard 62304</a> für Software bei medizinischen Anwendungen, oder <a href="https://ecss.nl/standard/ecss-e-st-40c-software-general-requirements/" target="_blank">ECSS-E-ST-40C</a> bei Software für Anwendungen im Weltraum oder <a href="https://www.dicomstandard.org" target="_blank">DICOM</a> für den Austausch von medizinischen Bilddaten. - Welche Programmiersprache(n) planen Sie zu verwenden? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - versioning - smp/technical/code/versioning - - - - True - 1 - Versioning code during development is strongly recommended. Applications such as Git systems are widespread. - Which technology or process is used for versioning? - - - Das Versionieren von Code bei der Entwicklung ist dringend zu empfehlen. Code-Versionierungen auf Basis der Git-Software sind weitverbreitet. - Welche Technologie oder welches Verfahren wird für die Versionierung verwendet? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - components - smp/technical/components - - -
- False - 1 - Third Party Components and Libraries - - - - Externe Komponenten und Bibliotheken - - - - - - - https://rdmorganiser.github.io/terms - external-components - smp/technical/components/external-components - - - - True - 0 - The use of external applications and existing libraries is an established practice in software development. However, the inclusion of external code can create dependencies. This in turn increases the complexity of the software. The more extensive the code, the more time-consuming it is to know and understand these dependencies. Failure of these services should also be planned for. It is therefore advisable in software development which and how external components will be used early on. This is also in terms of <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> I2 and R2 and particularly recommended for the further development and subsequent use of software. - -The following literature might also be of interest: - -* Carver et al. (2022): A survey of the state of the practice for research software in the United States, In: PeerJ Computer Science, 8:e963, <a href="https://doi.org/10.7717/peerj-cs.963" target="_blank">https://doi.org/10.7717/peerj-cs.963</a>. -* Nowogrodzki (2019): How to support open-source software and stay sane – Releasing lab-built open-source software often involves a mountain of unforeseen work for the developers, In: Nature 571, 133-134 (2019), <a href="https://doi.org/10.1038/d41586-019-02046-0" target="_blank">https://doi.org/10.1038/d41586-019-02046-0</a>. - Which external software components will be used? What dependencies on software libraries do exist? How do you document this? - - - Die Nutzung von externen Anwendungen und existierenden Bibliotheken ist bei der Software-Entwicklung eine etablierte Praxis. Durch das Einbinden von externem Code können jedoch Abhängigkeiten entstehen. Dies steigert wiederum die Komplexität der Software. Je umfangreicher der Code ist, desto aufwendiger ist es, diese Abhängigkeiten zu kennen und zu verstehen. Auch ein Ausfall dieser Dienste sollte eingeplant werden. Es empfiehlt sich schon früh im Softwareentwicklungsprozess darüber im Klaren zu sein, welche und wie externe Komponenten verwendet werden. Dies ist auch im Sinne der <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> I2 und R2 und für die Weiterentwicklung und Nachnutzung von Software besonders empfehlenswert. - -Folgende Literatur könnte zusätzlich interessant sein: - -* Carver et al. (2022): A survey of the state of the practice for research software in the United States, In: PeerJ Computer Science, 8:e963, <a href="https://doi.org/10.7717/peerj-cs.963" target="_blank">https://doi.org/10.7717/peerj-cs.963</a>. -* Nowogrodzki (2019): How to support open-source software and stay sane – Releasing lab-built open-source software often involves a mountain of unforeseen work for the developers, In: Nature 571, 133-134 (2019), <a href="https://doi.org/10.1038/d41586-019-02046-0" target="_blank">https://doi.org/10.1038/d41586-019-02046-0</a>. - Welche externen Software-Komponenten werden verwendet? Welche Abhängigkeiten von Software-Bibliotheken gibt es? Wie dokumentieren Sie dies? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - third-party-licenses - smp/technical/components/third-party-licenses - - - - False - 1 - In connection with the use of external software components, special attention should be paid to the various licence conditions. For example, which licences are used by third-party software components? Can there be problems with the compatibility of licences for third-party elements? - What licences are on the third-party software components? - - - In dem Zusammenhang mit der Verwendung von externen Software-Komponenten sind besonders die verschiedenen Lizenzbedingungen zu beachten. Etwa welche Lizenzen werden von den Softwarekomponenten von Drittanbietern verwendet? Kann es Probleme mit der Kompatibilität von Lizenzen für Elemente von Drittanbietern geben? - Welche Lizenzen liegen auf den Software-Komponenten von Drittanbietern? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - track-external-software - smp/technical/components/track-external-software - - - - False - 2 - If external software components are used, it is advisable to document this. The aim here should not only be to obtain an overview, but also, if necessary, to obtain a (partially) automatic analysis of any dependencies that arise. Examples of different services to monitor the external components can be, <a href="https://maven.apache.org" target="_blank">Maven</a>, <a href="https://gradle.org" target="_blank">Gradle</a>, <a href="https://www.npmjs.com" target="_blank">npm</a>, <a href="https://yarnpkg.com" target="_blank">Yarn</a> and <a href="https://pypi.org/project/pipenv/" target="_blank">pipenv</a>. Please check with your local software officers for already existing services. - What is the process to keep track of the external software components? Can critical dependencies be eliminated or mitigated? - - - Wenn externe Software-Komponenten verwendet werden, dann ist es ratsam, dies zu dokumentieren. Ziel sollte es hierbei sein, nicht nur einen Überblick zu erlangen, sondern ggf. auch schon eine (teil-)automatische Analyse von entstehenden Abhängigkeiten zu erlangen. Beispiele für verschiedene Services, um die externen Komponenten zu beobachten, können beispielsweise <a href="https://maven.apache.org" target="_blank">Maven</a>, <a href="https://gradle.org" target="_blank">Gradle</a>, <a href="https://www.npmjs.com" target="_blank">npm</a>, <a href="https://yarnpkg.com" target="_blank">Yarn</a> und <a href="https://pypi.org/project/pipenv/" target="_blank">pipenv</a> sein. Bitte erkundigen Sie sich bei Ihren lokalen Softwarebeauftragten nach eventuell bereits vorhandenen Services. - Wie wird der Überblick über die externen Software-Komponenten behalten? Können kritische Abhängigkeiten eliminiert oder abgeschwächt werden? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - web-services - smp/technical/components/web-services - - - - False - 3 - Software can be used to integrate external services. Examples of this are interface queries with other databases, external map applications, the use of external computing capacities, etc. For the correct use of external web services, it may be necessary to explicitly enable special ports or to fulfil further requirements. It is therefore advisable to contact local colleagues from IT, the Scientific Computing Unit etc. before using external web services for your own software. - Do you plan to use third party web services? - - - Mit Software lassen sich externe Dienste einbinden. Beispiele hierfür sind etwa Schnittstellenabfragen bei anderen Datenbanken, externe Kartenanwendungen, die Nutzung von externen Rechenkapazitäten usw. Für die korrekte Anwendung von externen Webdiensten kann es notwendig sein, dass spezielle Ports explizit freigeschaltet werden müssen oder weitere Voraussetzungen zu erfüllen sind. Es ist daher ratsam, bei der Nutzung von externen Webdiensten für die eigene Software im Vorfeld die lokale Kolleg_innen aus IT, Scientific Computing Unit etc. zu kontaktieren. - Planen Sie Webdienste von Drittanbietern zu nutzen? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - qualified-references - smp/technical/components/qualified-references - - - - False - 4 - Research software sometimes contains references to external data objects and other software solutions that are required for its execution. This aspect is particularly in request for the <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> principles I2 and R2. - Does the software refer to other software projects or objects? - - - Forschungssoftware enthält manchmal Verweise auf externe Datenobjekte und andere Softwarelösungen, welche für die Ausführung erforderlich sind. Besonders bei den <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a>-Prinzipien I2 und R2 wird dieser Aspekt nachgefragt. - Verweist die Software auf andere Software-Projekte oder Objekte? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - Infrastructure - smp/technical/Infrastructure - - -
- False - 2 - Infrastructure - - - - Infrastruktur - - - - - - - - - - - https://rdmorganiser.github.io/terms - infrastructure-required - smp/technical/Infrastructure/infrastructure-required - - - - False - 0 - When developing software, it can make sense and also be necessary to fall back on local infrastructure, e.g. servers, Git systems, storage media, software training courses. For robust planning and smooth availability, it is advisable to contact the local colleagues from IT, Scientific Computing Unit, etc. in advance. - What infrastructure resources are needed? To what extent? - - - Bei der Entwicklung von Software kann es sinnvoll und auch notwendig sein, auf lokale Infrastruktur, z.B. Server, Git-Systeme, Speichermedien, Software-Fortbildungsangebote, zurückzugreifen. Für die sichere Planung und reibungsfreie Verfügbarkeit ist es im Vorfeld empfehlenswert, sich mit den lokalen Kolleg_innen von IT, Scientific Computing Unit etc. in Kontakt zu setzen. - Welche Infrastrukturressourcen werden benötigt? In welchem Umfang? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - infrastructure-existing - smp/technical/Infrastructure/infrastructure-existing - - - - False - 1 - Please get in touch with your local colleagues from IT, Scientific Computing Unit, etc. They have a good overview of the existing infrastructure. Please also ask your local software officers about any existing software licences. There may already be licence agreements in place, so new licences may not need to be explicitly purchased. - Is there already existing infrastructure for the software development? Where is the infrastructure hosted? - - - Bitte setzen Sie sich mit Ihren lokalen Kolleg_innen von IT, Scientific Computing Unit etc. in Kontakt. Diese haben einen guten Überblick über die bereits existierende Infrastruktur. Bitte erkundigen Sie sich ebenso bei Ihren lokalen Softwarebeauftragten nach eventuell bereits vorhandenen Software-Lizenzen. Es gibt eventuell schon Lizenzverträge, sodass neue Lizenzen eventuell nicht explizit gekauft werden müssen. - Gibt es bereits eine Infrastruktur für die Softwareentwicklung? Wo wird die Infrastruktur gehostet? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - technical-support - smp/technical/Infrastructure/technical-support - - - - False - 2 - Perhaps new technologies are to be used for the software, where additional training is still needed to apply them safely. Or you may need an assessment of the software code at a later date. Ask your local colleagues from IT, Scientific Computing Unit, etc. about this. It may also be interesting to ask the <a href="https://de-rse.org/de/join.html" target="_blank">de-RSE community</a> for advice. - Are there technical aspects where competences are (still) lacking, so that support would be helpful? - - - Vielleicht sollen neue Technologien für die Software eingesetzt werden, bei denen noch ein zusätzliches Training benötigt wird, um diese sicher anzuwenden. Oder Sie benötigen zu einem späteren Zeitpunkt eine Einschätzung zum Software-Code. Fragen Sie hierzu Ihre lokalen Kolleg_innen von IT, Scientific Computing Unit etc. Darüber hinaus kann es auch interessant sein, die <a href="https://de-rse.org/de/join.html" target="_blank">de-RSE-Community</a> um Rat zu fragen. - Gibt es technische Aspekte, bei denen noch Kompetenzen fehlen und dabei Unterstützung hilfreich wäre? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - preservation - smp/technical/preservation - - -
- False - 3 - Preservation - - - - Langfristige Erhaltung - - - - - - - - - - - https://rdmorganiser.github.io/terms - re-usable - smp/technical/preservation/re-usable - - - - False - 0 - Applicable software is rarely a static product. Software is usually in a constant state of flux as a result of further developments of external components, security gaps in libraries that have been remedied or proprietary enhancements in the code. At the same time, the personnel and time required to maintain and update software increases with its age. It is therefore highly advisable to think in advance about how long the software should be (re-)usable. - -It is fundamentally important to document exactly how the software can be updated and which (technical) environment conditions are necessary for the software to run correctly. - -In this topic it is also useful to think about containerisation and general ways of maintaining a runtime environment for research software. This is necessary so that the software can still run correctly in another environment. Such an environment description includes platforms, frameworks and technologies. This environment needs to be sufficiently descriptive and ideally provided via specification files. A well-known application for container virtualisation is Docker. - How long should the software remain usable? What steps will be taken to ensure that the software can continue to be used after the project? - - - Anwendbare Software ist in den seltensten Fällen ein statisches Produkt. Durch Fortentwicklungen von externen Komponenten, behobenen Sicherheitslücken bei Bibliotheken oder eigene Erweiterungen im Code befindet sich Software meist in einem stetigen Wandel. Gleichzeitig steigen der personelle und zeitliche Aufwand bei der Erhaltung und Fortführung von Software mit deren Alter. Es ist daher ratsam, sich schon im Vorfeld Gedanken darüber zu machen, wie lange die Software (nach-)nutzbar sein soll. - -Vor diesem Hintergrund ist es grundsätzlich wichtig, genau zu dokumentieren, wie die Software aktualisiert werden kann und welche (technischen) Rahmenbedingungen notwendig sind, damit die Software korrekt ausgeführt werden kann. - -In diesem Zusammenhang ist es auch sinnvoll, über Containerisierung und generelle Möglichkeiten zur Erhaltung der Laufzeitumgebung von Forschungssoftware nachzudenken. Dies ist notwendig, damit die Software in einer anderen Umgebung korrekt ausgeführt werden kann. Eine solche Beschreibung der Umgebung umfasst Plattformen, Frameworks und Technologien. Diese Umgebung muss hinreichend beschreibend sein und idealerweise über Spezifikationsdateien zur Verfügung gestellt werden. Eine bekannte Anwendung für Containervirtualisierung ist beispielsweise Docker. - Wie lange soll die Software verwendbar bleiben? Welche Schritte werden unternommen, damit die Software im Anschluss an das Projekt weiter benutzt werden kann? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - preservation - smp/technical/preservation/preservation - - - - False - 1 - According to the established principles of good scientific practice, results must be stored for at least ten years. Of course, this also applies to software. Therefore, it must be ensured that the software remains available for this period (at least within the institution). This may be exceeded by local regulations. If you are not sure what the practice is at your institute, it is advisable to contact your local colleagues from IT, Scientific Computing Unit etc. about this. - Does this software have to be preserved for a longer term? - - - Nach den gängigen Prinzipien der guten wissenschaftlichen Praxis müssen Ergebnisse mindestens für zehn Jahre aufbewahrt werden. Dies trifft auch auf Software zu. Daher muss sichergestellt werden, dass die Software für diesen Zeitraum (zumindest institutsintern) verfügbar bleibt. Dies kann natürlich darüber hinaus gehen oder weiterführende Maßnahmen erfordern, je nach lokaler Regelung. Falls Sie nicht sicher sind, was die gelebte Praxis an Ihrem Institut ist, so empfiehlt es sich, Ihre lokalen Kolleg_innen von IT, Scientific Computing Unit etc. diesbezüglich anzusprechen. - Muss diese Software längerfristig aufbewahrt werden? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - security - smp/technical/security - - -
- False - 4 - Security - - - - Sicherheit - - - - - - - - - - https://rdmorganiser.github.io/terms - security - smp/technical/security/security - - - - False - 0 - Depending on the application, aspects of IT security must be taken into account in the development of software. The focus here is particularly on passive protection. The aim is, that the software does not open any vulnerability through which, for example, external attacks are enabled. - -The following documents may be relevant for you: - -* Adams et al (2021): Guide to Securing Scientific Software, <a href="https://doi.org/10.5281/zenodo.8137009" target="_blank">https://doi.org/10.5281/zenodo.8137009</a>. -* Bundesamt für Sicherheit in der Informationstechnik: Technische Richtlinien, <a href="https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/technische-richtlinien_node.html" target="_blank">https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/technische-richtlinien_node.html</a>. -* ISO/IEC 27001: Information technology — Security techniques — Information security management systems — Requirements, <a href="https://www.iso.org/standard/54534.html" target="_blank">https://www.iso.org/standard/54534.html</a>. - Which measures or provisions are in place to ensure software security? - - - Je nach Anwendungsfall müssen Aspekte zur IT-Sicherheit bei der Entwicklung von Software mitberücksichtigt werden. Besonders im Fokus steht hierbei der passive Schutz, damit die Software keine Lücken öffnet, durch welche beispielsweise externe Angriffe ermöglicht werden. - -Folgende Dokumente können für Sie hierbei relevant sein: - -* Adams et al (2021): Guide to Securing Scientific Software, <a href="https://doi.org/10.5281/zenodo.8137009" target="_blank">https://doi.org/10.5281/zenodo.8137009</a>. -* Bundesamt für Sicherheit in der Informationstechnik: Technische Richtlinien, <a href="https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/technische-richtlinien_node.html" target="_blank">https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/technische-richtlinien_node.html</a>. -* ISO/IEC 27001: Information technology — Security techniques — Information security management systems — Requirements, <a href="https://www.iso.org/standard/54534.html" target="_blank">https://www.iso.org/standard/54534.html</a>. - Welche Maßnahmen oder Vorkehrungen gibt es, um die Sicherheit der Software zu gewährleisten? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - safety - smp/technical/security/safety - - - - False - 1 - In addition to avoiding security vulnerabilities, it is also necessary to ensure that the software developed is also protected against accidents. Various risk analysis procedures exist. For the identified risks, adequate measures can be recognized and documented within the framework of a quality assurance plan. For example, the programmed software should not be lost, which quickly happens in case it is only stored on a single USB stick. Such and similar vulnerabilities can be avoided in advance through distributed systems, a separate backup strategy or similar. - What measures do you take to minimise risks in relation to software development? - - - Neben der Vermeidung von Sicherheitslücken ist es auch notwendig sicherzustellen, dass die entwickelte Software auch vor Unfällen geschützt ist. Es existieren verschiedene Risikoanalyseverfahren. Für die identifizierten Risiken können im Rahmen eines Qualitätssicherungsplans adäquate Maßnahmen identifiziert und dokumentiert werden. Beispielsweise sollte die programmierte Software nicht verloren geht, was schnell der Fall sein könnte, wenn sie nur auf einem einzigen USB-Stick gespeichert wird. Solche und ähnliche Schwachstellen gilt es bereits im Vorhinein durch verteilte Systeme, eine eigene Backup-Strategie oder ähnliches zu vermeiden. - Welche Maßnahmen ergreifen Sie, Risiken in Bezug auf die Softwareentwicklung zu minimieren? - - - textarea - text - - - - - - - - - -
- https://rdmorganiser.github.io/terms - quality-assurance - smp/quality-assurance - - - 2 - Quality Assurance - Qualitätssicherung -
- - https://rdmorganiser.github.io/terms - governance - smp/quality-assurance/governance - - -
- False - 0 - Governance and Defined Processes - - - - Steuerung und definierte Prozesse - - - - - - - - - - https://rdmorganiser.github.io/terms - governance-model - smp/quality-assurance/governance/governance-model - - - - False - 0 - Software development can be a project with complex requirements and structures. To deal with this, it is advisable, as <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.1 does, to explicitly communicate the project-related process through documentation. Especially in larger collaborative projects, this can be particularly advisable for working with multiple partners. Examples include a joint Memorandum of Understanding (MoU) or something describing the process when a person joins or leaves the work team. For example, this published <a href="https://doi.org/10.5334/jors.307" target="_blank">checklist</a> can be helpful. - -Please consider here not only the pure process level, but also beyond that, i.e. ethical aspects. The publication <a href="https://www.software.ac.uk/blog/2022-07-07-ethical-considerations-your-open-source-governance" target="_blank">Yehudi et al., Ethical considerations for your open source governance, 2022, Software Sustainability Institute Blog</a>, is a good source of inspiration. - Do you have a governance model for the software development? - - - Die Entwicklung von Software kann ein Projekt mit komplexen Anforderungen und Strukturen sein. Um dem zu begegnen ist es empfehlenswert, wie es <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.1 tut, die projektbezogenen Prozesse durch eine Dokumentation explizit zu kommunizieren. Besonders in größeren Verbundprojekten kann dies für die Zusammenarbeit mit mehreren Partnern besonders empfehlenswert sein. Beispiel hierfür sind etwa ein gemeinsames Memorandum of Understandig (MoU) oder etwa die Beschreibung der Prozess bei Aufnahme oder Verlassen einer Person in das Arbeitsteam. Hierbei können beispielsweise diese veröffentlichten <a href="https://doi.org/10.5334/jors.307" target="_blank">Checkliste</a> hilfreich sein. - -Bitte beachten Sie hierbei nicht nur die reine Prozessebene, sondern denken Sie auch darüber hinaus. Als Anregung dazu bietet sich die Publikation <a href="https://www.software.ac.uk/blog/2022-07-07-ethical-considerations-your-open-source-governance" target="_blank">Yehudi et al., Ethical considerations for your open source governance, 2022, Software Sustainability Institute Blog</a> an. - Verfügen Sie über ein Steuerungsmodell für die Softwareentwicklung? - - - textarea - text - - - - - - - - - - - https://rdmorganiser.github.io/terms - coding-standards - smp/quality-assurance/governance/coding-standards - - - - True - 1 - When developing software, it can be helpful to adhere to certain standards. These can be, for example, common code conventions in the professional community or language-specific standards (e.g. <a href="https://www.oracle.com/technetwork/java/codeconventions-150003.pdf" target="_blank">Java Coding Standards</a>, <a href="https://clean-code-developer.de" target="_blank">Clean Code Developer</a>). Tools for static code analysis (e.g. Lint) can help to find problematic code. An (internal) code review can also be a suitable method of quality control. - Do you apply specific coding standards? How do you take care about code quality control? - - - Bei der Entwicklung von Software kann es hilfreich sein, bestimmte Standards einzuhalten. Dies können beispielsweise gemeinsame Code-Konventionen in der Fachgemeinschaft sein oder sprachspezifische Standards (z.B. <a href="https://www.oracle.com/technetwork/java/codeconventions-150003.pdf" target="_blank">Java Coding Standards</a>, <a href="https://clean-code-developer.de" target="_blank">Clean Code Developer</a>). Werkzeuge zur statischen Codeanalyse (z.B. Lint) können helfen, problematischen Code automatisch zu finden. Auch ein (interner) Code Review kann eine geeignete Methode der Qualitätskontrolle darstellen. - Wenden Sie bestimmte Code-Standards an? Wie kümmern Sie sich um die Qualitätskontrolle des Codes? - - - checkbox - text - - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - documentation - smp/quality-assurance/documentation - - -
- False - 1 - Documentation - - - - Dokumentation - - - - - - - - - - - https://rdmorganiser.github.io/terms - who-is-responsible - smp/quality-assurance/documentation/who-is-responsible - - - - False - 0 - It is advisable to think about an adequate strategy for the documentation of the project, which also should be consistent with the framework conditions of the project. Documentation is only helpful if it corresponds to the current status of the software. Often, this is not given high priority compared to writing the code. It is, however, advisable to describe the developed software sensibly and completely. Documentation should also include statements about the software architecture, the development environment, the code style guide and installation procedures. - -The following questions could be answered in a documentation: - -* What should be documented, e.g. process, code or system? -* For what purpose should documentation be done? -* At what level of detail should be documented? -* Who is the target group for which type of documentation, e.g. user documentation, programmers documentation, API documentation? -* In which formats will the documentation be produced, e.g. README file, docstring, release notes, changelog? - How is software documentation created? - - - Es ist empfehlenswert, sich adäquate Strategie für die Dokumentation des Projekts zu überlegen, die auch den Rahmenbedingungen des Projekts entspricht. Eine Dokumentation ist nur hilfreich, wenn sie dem aktuellen Stand der Software entspricht. Häufiger wird dem gegenüber dem Schreiben am Code keine hohe Priorität eingeräumt. Es ist jedoch ratsam, die entwickelte Software sinnvoll und vollständig zu beschreiben. Eine Dokumentation sollte auch Aussagen über die Software-Architektur, die Entwicklungsumgebung,den Code Style Guide und Installationsvorgaben treffen. - -Folgende Fragen könnten in einer Dokumentation beantwortet werden: - -* Was soll dokumentiert werden, z.B. Prozess, Code oder System? -* Zu welchem Zweck soll dokumentiert werden? -* In welchem Detailgrad soll dokumentiert werden? -* Wer ist die Zielgruppe für welche Art von Dokumentation, z. B. Benutzerdokumentation, Programmiererdokumentation, API-Dokumentation? -* In welchen Formaten soll die Dokumentation erstellt werden, z. B. README-Datei, Docstring, Release Notes, Changelog? - Wie wird eine Software-Dokumentation erstellt? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - documentation-stored - smp/quality-assurance/documentation/documentation-stored - - - - False - 1 - It is useful to ensure that the documentation for the software is accessible to all team members. Applications such as Readthedocs can be helpful here. It has also proven useful to agree on a language for the formulation of documents right from the start. This is often English. - Where will the documentation be stored or made available? Which language will be used? - - - Es ist sinnvoll dafür Sorge zu tragen, dass die Dokumentation zur Software für alle Teammitglieder erreichbar ist. Anwendungen wie z.B. Readthedocs können hierbei hilfreich sein. Ebenso hat es sich bewährt, sich von Anfang an auf eine Sprache bei der Formulierung von Dokumenten zu einigen; häufig ist dies Englisch. - Wo wird die Dokumentation aufbewahrt oder verfügbar sein? Welche Sprache soll verwendet werden? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - testing - smp/quality-assurance/testing - - -
- False - 2 - Testing - - - - Testing - - - - - - - - - - https://rdmorganiser.github.io/terms - test-strategy - smp/quality-assurance/testing/test-strategy - - - - True - 0 - It can be helpful to be clear about a testing strategy in advance. This avoids the eclectic search for errors, but leads to more targeted, structured testing. Following on from this, you need to be clear about which test principles you want to apply. In parallel, it should be clarified whether standards (e.g. <a href="https://www.iso.org/standard/64764.html" target="_blank">ISO/IEC 25000:2014</a>, <a href="https://www.istqb.org" target="_blank">ISTQB</a>) apply. Testing a software on different levels (Unit-, Integration-, E2E-Tests) is always useful. Depending on the project, different types of testing (security testing, functional tests / non-functional tests, performance testing etc.) are important. <a href="https://www.ministryoftesting.com" target="_blank">Ministry of Testing</a>, as a global community for software testing, is a useful first start to approach this topic. - Which software test strategy are you going to follow? Which types of tests are planned for the project? - - - Es kann hilfreich sein, sich im Vorfeld bereits über eine Teststrategie im Klaren zu sein. Dies vermeidet die wahllose Suche nach Fehlern, sondern führt zu einem zielgerichteteren, strukturierten Testen. Daran anknüpfend muss man sich darüber im Klaren sein, welche Testprinzipien man anwenden möchte. Parallel dazu ist zu klären, ob Standards (z.B. <a href="https://www.iso.org/standard/64764.html" target="_blank">ISO/IEC 25000:2014</a>, <a href="https://www.istqb.org" target="_blank">ISTQB</a>) für die Software benötigt werden. Das Testen einer Software auf verschiedenen Ebenen (Unit-, Integrations-, E2E-Tests) kann sinnvoll sein. Je nach Projekt sind verschiedene Arten von Tests wie Security Testing, funktionale Tests bzw. nicht-funktionale Tests, Performance Testing etc. ebenso wichtig. <a href="https://www.ministryoftesting.com" target="_blank">Ministry of Testing</a> ist als globale Community für Software-Testing ein sinnvoller erster Start, um sich diesem Thema zu nähern. - Welche Software-Teststrategie werden Sie verfolgen? Welche Arten von Tests sind für das Projekt geplant? - - - checkbox - text - - - - - - - - - - - https://rdmorganiser.github.io/terms - test-documentation - smp/quality-assurance/testing/test-documentation - - - - True - 1 - There are different types of tests. Unit and integration tests are usually carried out by the developers, system tests by quality assurance persons, user tests by the users. It is therefore advisable to plan quality measures and the necessary process. - How is testing and test documentation organised? - - - Es gibt unterschiedliche Arten von Tests. Unit- und Integrationstests werden in der Regel von den Entwickler_innen durchgeführt, Systemtests von Qualitätssicherungs-Expert_innen, Nutzertests von den Anwendern. Es empfiehlt sich daher zu überlegen, wie man Qualitätsmaßnahmen plant und welche Prozesse dafür notwendig sind. - Wie ist das Testen und die Testdokumentation organisiert? - - - textarea - text - - - - - - - -
- https://rdmorganiser.github.io/terms - release-and-publish - smp/release-and-publish - - - 3 - Release and Publish - Release und öffentliche Verfügbarkeit -
- - https://rdmorganiser.github.io/terms - releasing - smp/release-and-publish/releasing - - -
- False - 0 - Releasing - - - - Release - - - - - - - - - - - https://rdmorganiser.github.io/terms - releasing-who - smp/release-and-publish/releasing/releasing-who - - - - False - 0 - - Are there defined release processes for the software? - - - - Gibt es definierte Release-Prozesse für die Software? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - decision-releasing - smp/release-and-publish/releasing/decision-releasing - - - - False - 1 - It is advisable to be aware of the decision-making process for software release in advance. In particular, it should be clear which processes precede this and which quality criteria must be fulfilled in each case. Furthermore, it can be helpful for project planning to clarify in which intervals larger or smaller software releases are planned. When classifying version numbers, <a href="https://semver.org" target="_blank">Semantic Versioning</a> provides good orientation. - What is the decision process for releasing? How often will a software version be released? - - - Es ist empfehlenswert, sich im Vorfeld bereits über den Entscheidungsprozess zum Software-Freigabe ("Release") bewusst zu werden. Besonders sollte hierbei klar werden, welche Prozesse dem vorausgehen und welche Qualitätskriterien hierfür jeweils erfüllt sein müssen. Darüber hinaus kann es hilfreich für die Projektplanung sein, zu klären, in welche Intervallen größere oder kleine Software-Freigaben geplant werden. Bei der Einordnung von Versionsnummern gibt <a href="https://semver.org" target="_blank">Semantic Versioning</a> eine gute Orientierung. - Wie sieht der Entscheidungsprozess für den Release aus? Wie oft wird eine Softwareversion erstellt? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - store-software - smp/release-and-publish/releasing/store-software - - - - False - 2 - An adequate place should be found for the storage of the resulting software. Depending on the requirements and possibilities, this can range from a simple, local solution to a specialised software repository. - -One far-reaching option for the long-term preservation of software is, for example, <a href="https://www.softwareheritage.org/save-and-reference-research-software/" target="_blank">Software Heritage</a> (for more repository examples, see also this article <a href="https://doi.org/10.48550/arXiv.2012.13117" target="_blank">https://doi.org/10.48550/arXiv.2012.13117</a>). There are other places, that offer public, long-term availability. For example, <a href="https://www.re3data.org/search?query=&contentTypes%5B%5D=Software%20applications" target="_blank">re3data</a> can be used to search for specific repositories through which software can be published. - Where will the software be stored? Does the storage place have a clear preservation policy? - - - Für die Aufbewahrung der entstandenen Software sollte ein adäquater Ort gefunden werden. Je nach Anforderungen und Möglichkeiten kann dies von einer einfachen, lokalen Lösung bis hin zu einem spezialisierten Software-Repositorium reichen. - -Eine weitreichende Möglichkeit für den langfristigen Erhalt von Software ist beispielsweise <a href="https://www.softwareheritage.org/save-and-reference-research-software/" target="_blank">Software Heritage </a> (für weitere Repositoriums-Beispiele siehe auch diesen Artikel <a href="https://doi.org/10.48550/arXiv.2012.13117" target="_blank">https://doi.org/10.48550/arXiv.2012.13117</a>). Es gibt aber noch weitere Orte, die sich für eine öffentliche, langfristige Verfügbarkeit anbieten. Über <a href="https://www.re3data.org/search?query=&contentTypes%5B%5D=Software%20applications" target="_blank">re3data</a> lassen sich beispielsweise gezielt Repositorien suchen, über die Software publiziert werden kann. - Wo soll die Software gespeichert werden? Verfügt der Speicherort über eine klare Aufbewahrungsregelung? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - publicly-available - smp/release-and-publish/publicly-available - - -
- False - 1 - Publicly Availability - - - - Öffentliche Verfügbarkeit - - - - - - - - - - - https://rdmorganiser.github.io/terms - software-sharing - smp/release-and-publish/publicly-available/software-sharing - - - - False - 0 - Software is increasingly perceived as a relevant outcome of the scientific knowledge process. Thus, the <a href="https://www.ouvrirlascience.fr/second-national-plan-for-open-science/" target="_blank">Second French plan for Open Science</a> foresees that software will become the third pillar in scientific publishing, alongside text and data publications. - -<a href="https://wissenschaftliche-integritaet.de/en/code-of-conduct/providing-public-access-to-research-results/" target="_blank">Guideline 13 in the DFG Code "Guidelines for Safeguarding Good Scientific Practice"</a> explicitly recommends that "[s]oftware programmed by researchers themselves is made publicly available along with the source code". - -It makes sense to define a contact person or email address who will be available as a contact person for the users over a longer period of time (beyond the project duration). - Will this software be publicly available? - - - Software wird zunehmend als relevantes Ergebnis des wissenschaftlichen Erkenntnisprozesses wahrgenommen. So sieht der <a href="https://www.ouvrirlascience.fr/second-national-plan-for-open-science/" target="_blank">zweite französische Plan für Open Science</a> vor, dass Software die dritte Säule im wissenschaftliche Publikationswesen werden soll, neben Text- und Daten-Veröffentlichungen. - -Die <a href="https://wissenschaftliche-integritaet.de/kodex/herstellung-von-offentlichem-zugang-zu-forschungsergebnissen/" target="_blank">Leitlinie 13 im DFG-Kodex "Leitlinien zur Sicherung guter wissenschaftlicher Praxis"</a> empfiehlt explizit, dass "[s]elbst programmierte Software [..] unter Angabe des Quellcodes öffentlich zugänglich gemacht" wird. - -Es ist sinnvoll eine Kontaktperson oder Emailadresse zu definieren, die über einen längeren Zeitraum (über die Projektlaufzeit hinaus) als Ansprechpartner für die Nutzer zur Verfügung steht. - Wird diese Software öffentlich zugänglich sein? - - - yesno - boolean - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - software-repository - smp/release-and-publish/publicly-available/software-repository - - - - False - 1 - If software is to be made publicly accessible, then it makes sense to find a suitable place for this. For example, <a href="https://wissenschaftliche-integritaet.de/en/code-of-conduct/documentation/" target="_blank">Guideline 12 in the DFG Code of Good Scientific Practice</a> recommends that "[w]here research software is being developed, the source code is documented". -<a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F4 and A1 also explicitly ask how easy software can be found and to what extent scientific citation is supported. - In which repository or archive will the software be held? How easy can it be found? What strategy is used to keep the software usable? - - - Wenn Software öffentlich zugänglich gemacht werden soll, dann ist es sinnvoll, hierfür einen geeigneten Ort zu suchen. So empfiehlt etwa die <a href="https://wissenschaftliche-integritaet.de/kodex/dokumentation/" target="_blank">Leitlinie 12 im DFG-Kodex "Leitlinien zur Sicherung guter wissenschaftlicher Praxis"</a>, dass "[b]ei der Entwicklung von Forschungssoftware [..] der Quellcode dokumentiert" wird. -In <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F4 und A1 wird auch explizit danach gefragt, wie leicht Software gefunden werden kann und inwiefern das wissenschaftliche Zitieren unterstützt wird. - In welchem Repository oder Archiv wird die Software aufbewahrt? Wie leicht kann es gefunden werden? Welche Strategie wird angewandt, um die Software benutzbar zu halten? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - contribute-software - smp/release-and-publish/publicly-available/contribute-software - - - - False - 2 - It is reasonable for software to be handed over to a scientific community for collective processing once it has reached a certain level of maturity. Such decisions should be planned well in advance. Experience shows that this can either mean a lot of communication work or no one taking notice of this possibility. For this purpose, for example, the corresponding Git system could enable external developer to contribute to the code. - Will users have the possibility to contribute to your software? - - - Es kann sinnvoll sein, dass Software ab einem gewissen Reifegrad an eine wissenschaftliche Gemeinschaft zur kollektiven Bearbeitung übergeben wird. Solche Entscheidungen sollten gut im Voraus geplant werden. Die Erfahrung zeigt, dass dies entweder viel Kommunikationsarbeit bedeuten kann oder aber niemand von dieser Möglichkeit Notiz nimmt. Hierfür könnte beispielsweise das entsprechende Git-System für das Software-Projekt geöffnet werden, damit auch Externe zum Code beitragen können. - Werden die Nutzer die Möglichkeit haben, zu Ihrer Software beizutragen? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - peer-review - smp/release-and-publish/publicly-available/peer-review - - - - False - 3 - For software in a scientific context, it is reasonable to subject it to an (open) review process. This can be in the form of a review or also a certification. For scientific software review, for example, there is the <a href="https://joss.theoj.org" target="_blank">Journal of Open Source Software</a>. Besides this, subject-specific standards for reviewing scientific software are also becoming established, for <a href="https://doi.org/10.11588/ai.2020.1.81423" target="_blank">example in archaeology</a>. - -Further literature references on the topic may also be of interest: - -* Eisty and Carver (2022): Developers perception of peer code review in research software development, In: Empirical Software Engineering 27, 13, <a href="https://doi.org/10.1007/s10664-021-10053-x" target="_blank">https://doi.org/10.1007/s10664-021-10053-x</a>. -* Bosu (2013): Modeling Modern Code Review Practices in Open Source Software Development Organizations, IDoESE '13 Baltimore, <a href="https://www2.umbc.edu/eseiw2013/idoese/pdf/eseiw2013_IDoESE_188.pdf" target="_blank">https://www2.umbc.edu/eseiw2013/idoese/pdf/eseiw2013_IDoESE_188.pdf</a>. - Is (Open) Peer Review planned for the software? - - - Für Software im wissenschaftlichen Kontext kann es Sinn ergeben, diese einem (offenen) Begutachtungsprozess zu unterziehen. Dies kann in Form einer Rezension oder auch einer Zertifizierung geschehen. Für wissenschaftliche Software gibt es beispielsweise das <a href="https://joss.theoj.org" target="_blank">Journal of Open Source Software</a>. Parallel dazu etablieren sich auch fachspezifische Standards zur Begutachtung von wissenschaftlicher Software, wie <a href="https://doi.org/10.11588/ai.2020.1.81423" target="_blank">beispielsweise in der Archäologie</a>. - -Weitere Literaturhinweise zu dem Thema können ebenfalls interessant sein: - -* Eisty und Carver (2022): Developers perception of peer code review in research software development, In: Empirical Software Engineering 27, 13, <a href="https://doi.org/10.1007/s10664-021-10053-x" target="_blank">https://doi.org/10.1007/s10664-021-10053-x</a>. -* Bosu (2013): Modeling Modern Code Review Practices in Open Source Software Development Organizations, IDoESE '13 Baltimore, <a href="https://www2.umbc.edu/eseiw2013/idoese/pdf/eseiw2013_IDoESE_188.pdf" target="_blank">https://www2.umbc.edu/eseiw2013/idoese/pdf/eseiw2013_IDoESE_188.pdf</a>. - Ist (offenes) Peer Review für die Software geplant? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms - metadata - smp/release-and-publish/metadata - - -
- False - 2 - Metadata - - - - Metadaten - - - - - - - https://rdmorganiser.github.io/terms - assign-metadata - smp/release-and-publish/metadata/assign-metadata - - - - False - 0 - For the publication of software, it is strongly recommended to include metadata (see <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F1 to F2 and A2). <a href="https://wissenschaftliche-integritaet.de/en/code-of-conduct/cross-phase-quality-assurance/" target="_blank">Guideline 7 in the DFG Code "Guidelines for Safeguarding Good Scientific Practice"</a> also stipulates that "[t]he source code of publicly available software must be persistent, citable and documented". If no publication is planned, it can still be useful to enrich the software with metadata. This can be particularly helpful for long-term storage at the institute, to make it easier to use the software at a later stage. - -For example with a <a href="https://citation-file-format.github.io" target="_blank">.cff file</a> you can provide metadata in a human- and machine-readable way for your software. With the <a href="https://w3id.org/okn/o/sd" target="_blank">Software Description Ontology</a> you can also use an ontology to formally describe the software. And this handout on the <a href="https://doi.org/10.12688/f1000research.26932.2" target="_blank">relevance of software citations</a> once again collects the essential points on this complex of topics. - How do you assign metadata for your software? - - - Für die Veröffentlichung von Software ist es empfohlen die Software mit Metadaten zu beschreiben (siehe <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F1 bis F2 und A2). Die <a href="https://wissenschaftliche-integritaet.de/kodex/phasenubergreifende-qualitatssicherung/" target="_blank">Leitlinie 7 im DFG-Kodex "Leitlinien zur Sicherung guter wissenschaftlicher Praxis"</a> schreibt ebenfalls vor, dass "[d]er Quellcode von öffentlich zugänglicher Software [..] persistent zitierbar und dokumentiert sein" muss. Falls keine Publikation geplant ist, kann es dennoch sinnvoll sein, die Software mit Metadaten anzureichern. Besonders für die langfristige Aufbewahrung am Institut kann dies hilfreich sein, um ein späteres Umgehen mit der Software zu erleichtern. - -Beispielsweise mit einer <a href="https://citation-file-format.github.io" target="_blank">.cff-Datei</a> können Sie vergleichsweise einfach Metadaten in menschen- und maschinenlesbarer Art zu Ihrer Software zur Verfügung stellen. Mit der <a href="https://w3id.org/okn/o/sd" target="_blank">Software Description Ontology</a> können Sie auch eine Ontologie zur formalen Beschreibung der Software verwenden. Diese Handreichung zur <a href="https://doi.org/10.12688/f1000research.26932.2" target="_blank">Relevanz von Software-Zitationen</a> sammelt nochmals die wesentlichen Punkte zu diesem Themenkomplex. - Wie vergeben Sie Metadaten für Ihre Software? - - - textarea - text - - - - - - - - - https://rdmorganiser.github.io/terms - software-pid - smp/release-and-publish/metadata/software-pid - - - - False - 1 - For long-term availability and clear allocation, it is recommended to publish the software (version) with a persistent identifier. This recommendation goes hand in hand with <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F3 and <a href="https://wissenschaftliche-integritaet.de/en/code-of-conduct/cross-phase-quality-assurance/" target="_blank">guideline 7 in the DFG Code "Guidelines for Safeguarding Good Scientific Practice"</a>. After <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F1.1, it may also be useful to place a separate identifier on the individual software versions or components. An example of a persistent identifier is the Digital Object Identifier (DOI). In terms of research software, for example, a GitHub/GitLab Zenodo integration can generate a citable object including DOI. - Do you give a persistent identifier for you software? - - - Für die langfristige Verfügbarkeit und die klare Zuordnung ist es empfehlenswert, die Software(-version) mit einem persistenten Identifikator zu veröffentlichen. Diese Empfehlung geht einher mit <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F3 und der <a href="https://wissenschaftliche-integritaet.de/kodex/phasenubergreifende-qualitatssicherung/" target="_blank">Leitlinie 7 im DFG-Kodex "Leitlinien zur Sicherung guter wissenschaftlicher Praxis"</a>. Ein Beispiel für einen persistenten Identifikator ist etwa der Digital Object Identifier (DOI). Nach <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> F1.1 kann es auch sinnvoll sein auf die einzelnen Software-Versionen oder -Komponenten einen eigenen Identifier zu legen. Bezogen auf Forschungssoftware kann beispielsweise eine GitHub-/GitLab-Zenodo-Integration ein zitierfähiges Objekt samt DOI erzeugen. - Geben Sie einen dauerhaften Identifikator für Ihre Software an? - - - checkbox - text - - - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - support - smp/release-and-publish/support - - -
- False - 3 - Support - - - - Support - - - - - - - - - - - https://rdmorganiser.github.io/terms - support-for-software - smp/release-and-publish/support/support-for-software - - - - False - 0 - - Do you plan to give support or help to re-users of your software? - - - - Planen Sie Unterstützung oder Hilfe für Nutzende Ihrer Software anzubieten? - - - yesno - boolean - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - feedback-process - smp/release-and-publish/support/feedback-process - - - - False - 1 - When you make your software available to interested parties, it is advisable to think about how communication processes should be set up. For example, which channels do you offer? And do you want to provide support on your own or is it reasonable to support a (developing) software community? Depending on the extent of communication with other users, it may be advisable to be aware of the organisation of incoming requests in advance. For example, Git systems already offer ticket systems with which external requests can be organised in a structured and transparent way. - How do you organise the support and feedback process with other users? - - - Wenn Sie Ihre Software Interessierten zur Verfügung stellen ist es ratsam sich auch gleich darüber Gedanken zu machen, wie eventuell Kommunikationsprozesse angelegt werden sollen. Welche Kanäle bietet man beispielsweise an? Und möchte man die Unterstützung alleine gewährleisten oder ist die Unterstützung einer (sich entwickelnden) Software-Gemeinschaft hierfür sinnvoll? Je nach Umfang der Kommunikation mit anderen Nutzenden kann es empfehlenswert sein sich schon im Vorfeld über die Organisation der eingehenden Anfragen bewusst zu werden. So bieten beispielsweise die Git-Systeme schon Ticket-Funktionen, mit denen externe Anfragen strukturiert und transparent organisiert werden können. - Wie organisieren Sie den Support- und Feedbackprozess mit anderen Nutzenden? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - relation-SMP-DMP - smp/release-and-publish/support/relation-SMP-DMP - - - - False - 2 - If your software management plan is linked to other management plans, e.g. as a sub-project of a larger research network, you can document this here. - Does your Software Management Plan relate to other Software/Data Management Plans? - - - Wenn Ihr Software-Management-Plan in Verbindung mit anderen Management-Plänen steht, z.B. als Teilprojekt eines größeren Forschungsverbundes, dann können Sie dies hier dokumentieren. - Steht Ihr Software-Management-Plan in Beziehung zu anderen Software-/Daten-Management-Plänen? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms - publish-smp - smp/release-and-publish/support/publish-smp - - - - False - 3 - If so, you can note the location here. - Do you intend to make your software management plan publicly available (later)? - - - Wenn ja, können Sie hier auch noch den Ort notieren. - Beabsichtigen Sie, Ihren Software-Management-Plan (später) öffentlich zugänglich zu machen? - - - radio - text - - - - - - - - - - - - -
- https://rdmorganiser.github.io/terms/ - legal-and-ethics - smp/legal-and-ethics - - - 4 - Legal and Ethics - Rechtliche und ethische Fragen -
- - https://rdmorganiser.github.io/terms/ - intellectual-rights - smp/legal-and-ethics/intellectual-rights - - -
- False - 0 - Intellectual Property Rights - - - - Rechte am geistigen Eigentum - - - - - - - - - - - https://rdmorganiser.github.io/terms/ - software-property-rights - smp/legal-and-ethics/intellectual-rights/software-property-rights - - - - False - 0 - It is advisable to be clear in advance about the legal situation of the software (see <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.2). In addition to institutional regulations, labour law exploitation are particularly relevant here. In most cases, it is written down in the employment contracts. Please check this. If you are unsure about this, it is advisable to contact your own superior(s). It can also be useful to ask at your own institute for advice; colleagues from the IT, Scientific Computing Unit, Research Coordination, Legal Department, etc. can help you. - What is the legal ownership of the software? - - - Es ist empfehlenswert, sich im Vorfeld bereits über die rechtlichen Besitzverhältnisse an der Software klar zu werden (siehe <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.2). Neben institutionellen Regelungen sind hier besonders arbeitsrechtliche Vorgaben relevant. Meist steht in den Arbeitsverträgen hierzu bereits etwas. Bitte überprüfen Sie dies. Wenn Sie sich hierbei unsicher sind, ist es ratsam, sich mit den eigenen Vorgesetzten in Verbindung zu setzen. Ebenso kann es sinnvoll sein, am eigenen Institut hierbei um Rat zu fragen; Kolleg_innen aus der IT, Scientific Computing Unit, Forschungskoordination, Rechtsabteilung etc. können Ihnen hierbei weiterhelfen. - Wie ist die rechtliche Situation? - - - textarea - text - - - - - - - - - - - - - https://rdmorganiser.github.io/terms/ - external-software-rights - smp/legal-and-ethics/intellectual-rights/external-software-rights - - - - False - 1 - When using external code elements, you must clarify in advance to what extent you are allowed to use these components for your software. Especially if you are planning to publish the software and grant a licence, you must take this point into account. If in doubt, ask your local colleagues from the IT, Scientific Computing Unit, Research Coordination, Legal Department etc. - Does the project use and/or produce software that is protected by third party intellectual or industrial property rights? - - - Bei der Nutzung von externen Code-Elementen müssen Sie vorab schon klären, inwiefern Sie diese Komponenten für Ihre Software nutzen dürfen. Besonders wenn Sie eine Veröffentlichung der Software und eine Lizenzvergabe planen, müssen Sie diesen Punkt beachten. Im Zweifel fragen Sie Ihre lokalen Kolleg_innen aus der IT, Scientific Computing Unit, Forschungskoordination, Rechtsabteilung etc. - Wird im Rahmen des Projekts Software verwendet und/oder hergestellt, die durch geistige oder gewerbliche Eigentumsrechte Dritter geschützt ist? - - - textarea - text - - - - - - - - - - - - https://rdmorganiser.github.io/terms/ - license - smp/legal-and-ethics/license - - -
- False - 1 - License - - - - Lizenzen - - - - - - - https://rdmorganiser.github.io/terms/ - software-license - smp/legal-and-ethics/license/software-license - - - - True - 0 - There are good arguments for assigning a license. <a href="https://wissenschaftliche-integritaet.de/en/code-of-conduct/providing-public-access-to-research-results/" target="_blank">Guideline 13 in the DFG Code of Conduct "Guidelines for Safeguarding Good Scientific Practice"</a> even explicitly states that if "self-developed research software is to be made available to third parties, an appropriate licence is provided". <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.1 also emphasises the same. Please also consider the compatibility with already integrated third-party libraries. - -The following websites give you an initial overview of software and licences: - -* <a href="https://choosealicense.com" target="_blank">https://choosealicense.com</a> -* <a href="https://github.com/readme/guides/open-source-licensing" target="_blank">https://github.com/readme/guides/open-source-licensing</a> -* <a href="https://opensource.org/licenses" target="_blank">https://opensource.org/licenses</a> -* <a href="https://tldrlegal.com" target="_blank">https://tldrlegal.com</a> - Under what kind of license(s) will the software be published? - - - Wenn Sie eine Software entwickeln, spricht vieles dafür, diese auch mit einer Lizenz zu versehen. Die <a href="https://wissenschaftliche-integritaet.de/kodex/herstellung-von-offentlichem-zugang-zu-forschungsergebnissen/" target="_blank">Leitlinie 13 im DFG-Kodex "Leitlinien zur Sicherung guter wissenschaftlicher Praxis"</a> sieht dies explizit vor. Wenn Sie eine "eigens entwickelte Forschungssoftware für Dritte bereitgestellt [wird, ist] diese mit einer angemessenen Lizenz [zu] versehen". Das Gleiche betont auch <a href="https://doi.org/10.15497/RDA00068" target="_blank">FAIR4RS</a> R1.1. Beachten Sie bitte auch die Kompatibilität mit bereits eingebundenen Dritt-Bibliotheken. - -Folgende Seiten geben Ihnen einen ersten Überblick zu Software und Lizenzen: - -* <a href="https://choosealicense.com" target="_blank">https://choosealicense.com</a> -* <a href="https://github.com/readme/guides/open-source-licensing" target="_blank">https://github.com/readme/guides/open-source-licensing</a> -* <a href="https://opensource.org/licenses" target="_blank">https://opensource.org/licenses</a> -* <a href="https://tldrlegal.com" target="_blank">https://tldrlegal.com</a> - Unter welche Art von Lizenz(en) wird die Software fallen? - - - checkbox - text - - - - - - - - - - - https://rdmorganiser.github.io/terms/ - dual-use - smp/legal-and-ethics/dual-use - - -
- False - 2 - Dual Use - - - - Doppelter Verwendungszweck ("Dual Use") - - - - - - - - - https://rdmorganiser.github.io/terms/ - dual-use-software - smp/legal-and-ethics/dual-use/dual-use-software - - - - False - 0 - Please note that depending on the field of application, software may have a dual use potential (civil and military). If this is the case, special measures are required. With Regulation <a href="http://data.europa.eu/eli/reg/2021/821/oj" target="_blank">EU 2021/821 (EU Dual-Use Regulation)</a>, all EU Member States have established common licensing requirements and procedures for the export, technical assistance and transfer of dual use items (see the description of the <a href="https://www.zoll.de/DE/Fachthemen/Aussenwirtschaft-Bargeldverkehr/Warenausfuhr/Waren/Dual-Use-Gueter/dual-use-gueter_node.html" target="_blank">Federal German Customs</a>). The <a href="https://www.bafa.de" target="_blank">Federal Office of Economics and Export Control</a> is responsible for issuing export licenses in the Federal Republic. If in doubt, contact your local IT security officer. - Can the software also be used for military purposes? - - - Bitte beachten Sie, dass Software, je nach Anwendungsfeld, eine doppelte Verwendungsmöglichkeit (zivil und militärisch) aufweisen kann. Sollte dies der Fall sein, sind besondere Maßnahmen erforderlich. Mit der Verordnung <a href="http://data.europa.eu/eli/reg/2021/821/oj" target="_blank">EU 2021/821 (EU Dual-Use Regulation)</a> haben alle EU-Mitgliedstaaten eine gemeinsame Genehmigungspflicht und Verfahrensweise bei der Ausfuhr, der technischen Unterstützung und der Verbringung von Gütern mit doppelter Verwendungsmöglichkeit festgelegt (siehe die <a href="https://www.zoll.de/DE/Fachthemen/Aussenwirtschaft-Bargeldverkehr/Warenausfuhr/Waren/Dual-Use-Gueter/dual-use-gueter_node.html" target="_blank">Beschreibung des bundesdeutschen Zolls</a>). Die Erteilung von Ausfuhrgenehmigungen in der Bundesrepublik geschieht durch das <a href="https://www.bafa.de" target="_blank">Bundesamt für Wirtschaft und Ausfuhrkontrolle (BAFA)</a>. Kontaktieren Sie im Zweifel Ihre lokalen IT-Sicherheitsbeauftragten. - Kann die Software auch für militärische Zwecke genutzt werden? - - - textarea - text - - - - - - - -