--- tags: seminar --- # Week 1 - Kick-off During the Kick-off meeting, we will: - Say hello and introduce ourselves - Introduce you to the program - Cover important logistics - Explain the assignments for April 5th - Answer your questions ## 🗣️ Welcome to the FAIR4RS Program! <iframe src="https://docs.google.com/presentation/d/e/2PACX-1vR9jn521cfN46v5j7Pbn7bWqcCbI9U8m8VClbjIHxFVSq1Ha3YNRwxxRM2uGaa37kMf0V9qIABiYWGn/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="400" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe> Link to the [slides](https://docs.google.com/presentation/d/e/2PACX-1vR9jn521cfN46v5j7Pbn7bWqcCbI9U8m8VClbjIHxFVSq1Ha3YNRwxxRM2uGaa37kMf0V9qIABiYWGn/pub?start=false&loop=false&delayms=3000&slide=id.p) ## Cover important logistics :::success **To do list** - [x] Lightning roll call - [x] Invite participants to FAIR4RS Teams - [x] Review [Code of Conduct](/isBPjSUoRL6Kvr1LjaZe7Q) - [x] Go over [Schedule](/LppHweuWQJO1WM9cEhkEHA) - [x] Reminder: [sign up](https://indico.neic.no/event/242/registrations/145/) for the Code Refinery workshop - [x] [Create teams](https://hackmd.io/@fair4rs/HySSQfzxh) for the Code Refinery workshop - [x] Optional: verify installation for the Code Refinery workshop ::: ## Assignments for Wednesday 5th of April We recommend you to go through the assignments in order to prepare for the next seminar on **Wednesday 5th of April**. The goal is to familiarize yourself with the components for creating FAIR research software and drafting a Software Management Plan. <iframe src="https://raw.githack.com/mwakok/FAIR4RS/main/SMP.html" style="width:100%; height:400px;" ></iframe> Link to slides: https://raw.githack.com/mwakok/FAIR4RS/main/SMP.html ### Assignment 1. Understanding your needs Fill in this short form to help us (and yourself) better understand your needs and where are you currently standing in your project. Please go to our [**FAIR4RS onboarding form**](https://forms.gle/hYbABeJYsgcqPihHA). ### Assignment 2. Reflect on your research software 1. Create a personal FAIR4RS journal (Hackmd document) using this [**template**](https://hackmd.io/@fair4rs/S1J84Mzg3). In this journal, you can track your progress in a shareable way. 1. Create an account on Hackmd 2. Create a new note 3. Copy-paste the content of the template :::info :information_source: **Why do we chose this tool?** Hackmd is based on markdown, it is highly accessible, collaborative and has a very low friction to use. Be aware, you are making use of a public service, only share things you feel are not an issue to have in the public domain. ::: 2. Read the [**Zen of Scientific computing**](https://scicomp.aalto.fi/scicomp/zen-of-scicomp/) to find out about iteratively improving your software. The discussed levels are related to the lessons of the Code Refinery. ### Assignment 3. Draft an initial Software Management Plan Create a draft for a software management plan (SMP) using one of the following templates in your FAIR4RS journal. :::warning Don't worry if you can't answer all the questions, this is a living document. You can iterate over this draft as we move along the program. ::: Most likely, SMP template 1 (medium management level) is most suitable for a typical research software project. If you identify your software management level is lower or higher, then pick one of the other templates. Try to use the template as a guide, if you find that other points that appear in the template for high level management, you can also add them to your SMP. :::info :information_source: The templates are directly taken from the [Practical guide to Software Management Plans](https://zenodo.org/record/7589725). You can read more about the different management levels there. ::: #### SMP template #1 - medium management level ``` 1. Please provide a brief description of your software, stating its purpose and intended audience. 2. How will you manage versioning of your software? 3. How will you make your software publicly available? If you do not plan to make it publicly available you should provide a justification. 4. How will your software be documented for users? Please provide a link to the documentation if available. 5. How will you document your software’s contribution guidelines and governance structure? 6. What licence will your software have? 7. How will the installation requirements of your software be documented? Please provide a link to the installation documentation if available. 8. How will users of your software be able to cite your software? Please provide a link to your software citation file (CFF) if available. 9. How will your software be documented for future developers? 10. How will your software be tested? Please provide a link to the automated testing results. 11. How will you check that your software respects the licences of libraries and dependencies it uses? 12. How will your software be packaged and distributed? Please provide a link to available packaging information (e.g. entry in a packaging registry, if available). 13. How do you plan to procure long term maintenance of your software? ``` #### SMP template #2 - low management level ``` 1. Please provide a brief description of your software, stating its purpose and intended audience. 2. How will you manage versioning of your software? 3. How will your software be documented for users? Please provide a link to the documentation if available. 4. How will you document the installation requirements of your software? Please provide a link to the installation documentation if available. 5. What type of licence will your software have? 6. Does your software respect the licences of libraries and dependencies it uses? ``` #### SMP template # 3 - high management level ``` 1. Please provide a brief description of your software, stating its purpose and intended audience. 2. How will you manage versioning of your software? 3. How will you make your software publicly available? If you do not plan to make it publicly available you should provide a justification. 4. How will your software be documented for users? Please provide a link to the documentation if available. 5. How will contribution guidelines and governance structure of your software be documented? 6. What licence will your software have? Please provide a valid SPDX- Licence-Identifier. 7. How will the installation requirements of your software be documented? Please provide a link to the installation documentation if available. 8. How will users of your software be able to cite your software? Please provide a link to your software citation file (CFF) if available. 9. How will your software be documented for future developers? 10. How will your software be tested? Please provide a link to automated testing results. 11. How will you check that it respects the licences of libraries and dependencies it uses? 12. How will your software be packaged and distributed? Please provide a link to available packaging information (e.g. entry in a packaging registry, if available). 13. What level of support will be provided for users of the software and how will this support be organised? 14. How do you plan to procure long term maintenance of your software? 15. Describe the main external factors that should be considered by developers and users of the software. These could include data privacy, information security, etc. ``` ## Materials **Code Refinery** - [Code Refinery setup instructions](https://coderefinery.github.io/installation/) **FAIR** - [Introducing the FAIR principles for research software](https://www.nature.com/articles/s41597-022-01710-x) - https://fair-software.nl - [Publishing data and code at TU Delft](https://zenodo.org/record/7674963#.ZBNM6XbMKUk) - [Blog Anton Akhmerov (Applied Sciences)](https://quantumtinkerer.tudelft.nl/blog/demand-data-for-review/) **Software Management Plans** - [eScience Center - Practical Guide to Software Management Plans](https://zenodo.org/record/7248877) - [Software Sustainability Institute - Checklist for an SMP](https://zenodo.org/record/2159713#.ZBNOCnbMKUl)