Summary
No particular setup is needed for this module of the FAIR training program. This module is expected to last 2.5 hours in total and can therefore be completed in half a day.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Introduction |
How do we define software in research? What is the classical software lifecycle? What are the FAIR principles applied to research software? |
Duration: 00h 12m | 2. Software Managagement plan: Planning ahead |
What should you ask yourself before starting a software project? How do I write a Software Management Plan? How do I disseminate my work and make it findable? |
Duration: 00h 22m | 3. Copyright and Licenses |
What is copyright and intellectual property? What license should I use for my software? How do I licences a work that has dependencies? |
Duration: 00h 32m | 4. DOIs and Repositories |
What is a DOI? What good is a DOI (compared to, say, a URL), and how do I get a DOI? What is a repository? How do I choose a repository? How do I link GitHub to ORDA? |
Duration: 01h 02m | 5. Metadata and Citation |
What is metadata and why is it important, and what is best practice
around metadata? What does good metadata look like? I can cite/people can cite my code? What do you want people to access if it’s cited? How do I cite code? |
Duration: 01h 17m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Overview
The application of the FAIR principles (Findable, Accessible, Interoperable, Reusable) to a research software project is easier when you plan the development of your software. Considering who is in charge of the development, what tools will be used, who will be in charge of its long term maintenance and what the potential risks are related to software development are all important aspects of a successful software project. This course will introduce these ideas in the context of creating FAIR software for your research. Planning the development of your research software will help you with organisation and resource management, long term sustainability, and intellectual property aspects.
We will start by introducing some definitions (What is a research software? How software is traditionally developed?) and then dive into the concept of research Software Management Plans (SMPs) and discuss why it is important to plan for the development of your software.
Then are two important aspects of software development in the context of software in academia which influence the development of the Software Management Plan:
Licences and Intellectual Property: Software is a creative work and as soon as it is created it automatically attracts copyright protection. This means that if you want other people to be able to use your software without having to ask you directly you need to apply a licence to it. We will look at why licensing matters, how to choose a licence and what the implications are when you want to build on other people’s openly licensed software.
Dissemination: While putting your software online certainly helps it satisfy the FAIR principles, simply doing so might not be enough for other researchers to actually find and utilise what you’ve put out there. It’s important to know the benefits and issues around where you store and publish your software and data, and to make the most of the tools the different platforms provide, such as Digital Object Identifiers (DOIs). It’s also important to know good practice for how to increase the visibility and citability of your work in cases where your chosen platform lacks these features.
The course uses worked examples to introduce and explore elements that you should consider when publishing your software which will help you easily reference your work and help make it more findable and reusable by others.
Target audience
This course is aimed at researchers, including postgraduate researchers, who write software (whether a few scripts or something more substantial) as part of their research and wish to bring open research best practice to their project or team.