4 Simple recommendations for Open Source Software

The aim of this lesson is to provide practical suggestions that contribute to making research software and its source code more discoverable, reusable and transparent. After the introduction, the following episodes of this lesson are structured in the form of one episode per recommendation. Hence the name four open source software recommendations.

Note: This lesson materials are being developed in the open and are in current improvement.

Prerequisites

It is recommended that participants have some familiarity with Github, to create a public repository. Follow the Setup for instructions or partner with someone who can help you work on this part.

Schedule

Setup Get ready, create a repository and create accounts if needed
00:00 1. Introduction Why are best practices necessary in research software?
How Open Source can help with better quality of software?
00:10 2. Make source code publicly accessible from day one What are the benefits of making my software project public from the beginning?
How do I make my project publicly accessible?
What resources are available to help me document my software?
What are the best practices in open software development?
How do I publish my open source software?
00:10 3. Adopt a licence and comply with the licence of third-party dependencies What a licence does?
What is an open source licence?
What is the importance of your lincece for third-party dependencies?
00:10 4. Define clear and transparent contribution, governance and communication processes How does someone start contributing to my project?
What do I need to consider about project design and governance?
How do people communicate within the project?
01:25 5. Make software easy to discover by providing software metadata via a popular community registry Why are metadata important in research software?
What are good metadata?
Which are the most commonly used platforms for registering research software data?
03:40 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.