You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Why is it important to have a good README file?
12
+
## Why does your research software need a good README?
13
13
14
14
### Description
15
15
16
-
A README file is a key document in a software project that provides an overview of the software to help developers and users understand the project and how to use it.
17
-
It is typically written in plain text or Markdown format and placed in the project's root directory and shared along with code.
16
+
Your README file is a key document in a software project that provides an overview of the software to help developers and users understand the project and how to use it.
17
+
You typically write it in plain text or Markdown and place it in your project's root directory, so it is shared along with the code.
18
18
For software shared in a public software repository - the README file serves as the project's homepage and a central reference for documentation, aiding software's accessibility and promoting engagement for open source projects.
19
19
20
-
The README file is the entry point to the [documentation associated with a software project][documenting_software] and the [code within the project][documenting_code].
20
+
The README file is the entry point to the [documentation associated with a software project](./documenting_software_project.md) and the [code within the project](./documenting_code.md).
21
21
The main purpose of the README is to:
22
22
23
23
- Describe the software project and its purpose.
24
-
- Facilitate the installation and explain the use of the software - including installation instructions,
25
-
dependencies and usage guidelines.
26
-
- Include contribution guidelines to help community understand how to contribute to the project and ensure smooth collaboration.
27
-
This may cover coding standards, pull request procedures, issue reporting, and community rules.
24
+
- Facilitate the installation and explain the use of the software - including installation instructions, dependencies and usage guidelines.
25
+
- Include contribution guidelines to help community understand how to contribute to the project and ensure smooth collaboration. This may cover coding standards, pull request procedures, issue reporting, and community rules.
28
26
29
27
For research software, additional aspects should be considered and README should also:
30
28
@@ -34,23 +32,23 @@ For research software, additional aspects should be considered and README should
34
32
35
33
### Considerations
36
34
37
-
A [well-written README document][README-best-practices]:
35
+
A [well-written README document](https://tilburgsciencehub.com/topics/collaborate-share/share-your-work/content-creation/readme-best-practices/):
38
36
39
37
- promotes the [adoption of your software](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4281782).
40
38
- enhances the transparency of your research.
41
39
- supports software maintenance throughout its lifecycle.
42
40
43
-
Also check [guidelines for creating a good README][readme-guidelines].
41
+
Also check [guidelines for creating a good README](https://data.4tu.nl/s/documents/Guidelines_for_creating_a_README_file.pdf).
44
42
45
-
## What key sections should a README include?
43
+
## What sections should you include in your README?
46
44
47
45
### Description
48
46
49
-
A README file is the first document that a researchers read when they are interested on using a software.
47
+
Your README is usually the first document a researcher reads when they are interested in using your software.
50
48
For this reason, it should contain all the relevant information to install and to execute it.
51
49
It includes references to additional information such as API documentation, specifications, scientific publications related, tutorials, guidelines, etc.
52
50
53
-
A basic software documentation emphasises these aspect:
51
+
A basic README emphasises these aspects:
54
52
55
53
- Understandability: a user can comprehend the structure and the purpose of the software.
56
54
- Usability: a user can understand how to use the software.
@@ -60,12 +58,13 @@ These aspects should be addressed in different sections of the README.
60
58
61
59
### Considerations
62
60
63
-
A README document should:
61
+
Your README document should:
64
62
65
63
* describe the purpose and features of the software.
66
64
* describe how to run and use the code and (optionally) reproduce the scientific experiment it implements.
67
65
* acknowledge the funding bodies and contributors.
68
66
* indicate how the software should be cited or acknowledged.
67
+
* be held to the same accuracy and completeness expectations if you use AI assistance to draft or edit it — verify that commands, requirements, and citation details are correct before publishing.
69
68
70
69
### Solutions
71
70
@@ -123,8 +122,7 @@ You can use this section to describe the process to get the results.
123
122
124
123
#### Contribution
125
124
126
-
Research software should be a collaborative effort, so a mechanism to allow other researchers to collaborate with the project is needed.
127
-
In this section, you can describe how this mechanism is.
125
+
Research software works best as a collaborative effort, so describe the mechanism you use to let others contribute.
128
126
For example, if you want to add a new feature, you can create a pull request to integrate this new feature.
129
127
130
128
#### Acknowledgements
@@ -142,21 +140,27 @@ You can see a list of them used to make your project more fair in {% tool "howfa
142
140
143
141
#### License
144
142
145
-
Software without a license cannot be reused in other applications.
143
+
Software without a license cannot legally be reused in other applications.
146
144
While having a [license file](https://everse.software/RSQKit/licensing_software) is a common practice in code repositories, you may also add this information explicitly as a section of your README file.
147
145
For more information, see [our guidelines](https://everse.software/RSQKit/licensing_software) on how to select an appropriate license.
148
146
149
147
#### Automated extraction of metadata from README
150
148
151
-
{% tool "somef" %} is a [tool to automatically extract information (metadata) from README files][somef-paper].
149
+
{% tool "somef" %} is a [tool to automatically extract information (metadata) from README files](https://ieeexplore.ieee.org/document/9006447/).
152
150
It is not an assessment tool for README files, but can be used for detecting missing parts of a README file.
153
151
154
152
## Further Reading
155
153
154
+
-**[Guidelines for creating a README file](https://data.4tu.nl/s/documents/Guidelines_for_creating_a_README_file.pdf)** A concise, practical checklist for structuring a README, written specifically with research data and software in mind. Use it as a quick reference once you already know what each section should contain.
155
+
156
156
-**[Record of a specific analysis](https://rsspdc.org/checklists/rsspdc-specific-record.html#documentation)** This Research Software Sharing, Publication, & Distribution Checklists (RSSPDC) documentation checklist complements this page's narrative guidance with a graduated self-assessment tool — its Bronze-through-Platinum tiers let you check your README against concrete criteria, with particular emphasis on reproducibility and verifiability that is especially relevant for analysis code underpinning published results.
157
157
158
158
-**[README.md: History and Components](https://medium.com/@NSomar/readme-md-history-and-components-a365aff07f10)** This article traces the origins of the README convention and systematically breaks down its key structural components, giving readers a concise mental model of both why READMEs exist and what belongs in them. That historical and structural grounding complements RSQKit's task-oriented guidance by helping readers understand the reasoning behind README best practices.
159
159
160
+
## AI Disclosure
161
+
162
+
This work was produced with the assistance of Claude Sonnet 4.6, under the strict editorial control and factual verification of the human author.
0 commit comments