Sharing Research Software Effectively
Last updated on 2026-05-29 | Edit this page
Overview
Questions
- Why share research software in a public repository?
- What are the minimum elements that make a repository useful and discoverable?
Objectives
- Describe why public repositories increase visibility and credit for research software.
- Identify the essential components of a well-structured repository.
- Recognize the “before” state of the demo repository used throughout the lesson.
Introduction
Publishing your research software in a public repository helps others find, understand, reuse, and cite your work. This visibility strengthens the transparency of your research process and increases the likelihood that you receive formal credit.
In this lesson, we start with a minimal example repository (branch
01-start). As you progress through the episodes, you will
progressively refine it until it is citable, discoverable, and ready for
reuse.
The Starting Point
Learners will download or clone the “before” state of the example repository:
BASH
software-demo/
├── README.md
├── src/
│ └── analysis.py
└── environment.toml #(pixi environment file)
This repository intentionally lacks many elements of good
research software practice.
By the end of the lesson, it will include licensing, citation metadata,
improved discoverability information, and versioning.
Challenge 1: What Makes a Repository Reusable?
Could you think about the last time you tried to use someone else’s code?
If you have a public GitHub repository, open it now. If not, visit a repository from your field that you’ve used or seen cited.
Check for these elements:
Which of these elements help most? Which would you add to your own work first?
Useful elements commonly include:
- README with context and usage
- a clear file structure
- license information
- installation instructions
- dependencies or environment files
- contributors or authorship information
Missing pieces often include absent documentation, unclear purpose, or no license.
Learn More About Effective READMEs
Want to dive deeper into README best practices?
- Elegant READMEs - practical guide on writing clear, maintainable documentation
- Awesome README - curated examples from real projects
Full references available on the Reference page.
Challenge 2: Inventory the Demo Repository
Open the software-demo repository you downloaded.
Spend 2 minutes exploring, then answer:
- Could you run this code today? What’s missing?
- Would you know who created it or how to credit them?
- Could you legally reuse or modify it?
We’ll address these gaps together over the next episodes.
Learners may observe:
- README is minimal
- No license
- No citation file
- No metadata to support discoverability
- Environment file exists but is not yet introduced
These gaps will be filled across subsequent episodes.
- Public repositories increase findability, reuse potential, and
citation credit.
- A well-structured repository lowers the barrier for others to
understand your work.
- The lesson begins with a minimal “before” repository that will be incrementally improved.