Publishing
Step-by-step guidance for each exercise. The original exercise prompt is shown as the title — click to expand for detailed instructions.
Licensing
A fork is your own personal copy of someone else’s repository — changes you make won’t affect the original until you open a pull request.
- Open the manuscript repository on GitHub
- Click
Fork(top right) →Create fork - GitHub creates a copy under your account (e.g.
your-username/manuscript-repo) - Open your fork on GitHub — note the “forked from…” link under the repo name
Go to choosealicense.com and browse the options. For most research code:
MIT— permissive, simple, widely used. Good default for research code.GPL v3— requires derivative works to remain open source. Choose this if you want others to share back.CC BY 4.0— designed for data and documents, not code.
Consider: do you want others to be able to use your code in commercial software? Do you want derivative works to stay open? Make your choice and note the license name.
LICENSE file containing the relevant license text and commit
- Open your forked repository on GitHub
- Click
Add file→Create new file - Name the file
LICENSE(no extension) - Go back to choosealicense.com, select your chosen license, and copy the full license text
- Paste it into the file editor on GitHub
- Replace the placeholder text (e.g.
[year],[fullname]) with the current year and your name - Scroll down → write a commit message (e.g.
Add MIT license) → clickCommit changes
LICENSE file, click Choose a license template on the right to fill it in automatically.
Releases & DOIs
- Go to your forked repository on GitHub
- Click
Settings→ scroll to theDanger Zoneat the bottom - Click
Change repository visibility→Make public - Type the repository name to confirm, then click
I understand, change repository visibility
Your repository must be public for Zenodo to archive it.
We’ll use sandbox.zenodo.org — a practice environment with test DOIs that won’t persist.
- Go to sandbox.zenodo.org and create an account (this is different from your main zenodo.org account)
- Once signed in, click your username →
GitHub - Click
Syncto refresh the list of your repositories - Find your manuscript repository in the list and toggle it
on
Zenodo is now watching your repository. The next time you create a GitHub release, it will automatically archive a copy and mint a DOI.
v1.0.0 release — then watch Zenodo mint your DOI
- Go to your forked repository on GitHub
- On the right sidebar, click
Releases→Create a new release - Click
Choose a tag→ typev1.0.0→ clickCreate new tag: v1.0.0 on publish - Set the
Release titletov1.0.0 - Add a short description if you like
- Click
Publish release
Now return to sandbox.zenodo.org — within a few minutes, your repository will appear under GitHub with a DOI assigned.
v1.0.0 for your first stable release, v1.0.1 for small fixes, v1.1.0 for new features added after publication.
.qmd file for the manuscript
Return to your Zenodo Sandbox record — find it under your account →
GitHubCopy the full DOI (it will look like
10.5072/zenodo.xxxxxxx— note that10.5072is the Sandbox prefix, not a real DOI prefix)Open the manuscript
.qmdfile in your forked repositoryFind the placeholder in the data availability statement and update to the new DOI, e.g.:
The code for this analysis is available at https://doi.org/10.5072/zenodo.xxxxxxxCommit and push the change with a message like:
Add Zenodo DOI to manuscript front matter
README badges & citation
- Go to your Zenodo Sandbox record (find it under your account → GitHub)
- On the right side of the record page, look for the
DOI badge— click it - Copy the markdown snippet (it looks like
[](...))
README.md — check it renders on GitHub
- Go to your repository on GitHub
- Open your
README.mdusing the edit utility and paste the badge at the very top, before the title or first line - Commit and push with a message like:
Add Zenodo DOI badge to README - Check the
README.mdon the homepage of the repository — the DOI badge should appear as a clickable image at the top - Click it — it should link to your Zenodo Sandbox record!
If the badge shows as broken text, double-check that you pasted the Markdown correctly (it should not be inside a code block).
CITATION.cff
- Go to cffinit
- Fill in:
- Title — name of the repository / software
- Authors — your name and ORCID if you have one
- Version —
1.0.0 - DOI — paste your Zenodo Sandbox DOI
- Date released — today’s date
- Click
Downloadto save theCITATION.cfffile
CITATION.cff to your repository, commit, and push — check the Cite this repository button appears on GitHub
- Copy
CITATION.cffinto the root of your local repository - Stage, commit, and push with a message like:
Add CITATION.cff for repository citation - Go to your repository on GitHub — look for the
Cite this repositorybutton on the right sidebar (underAbout) - Click it to see the auto-generated citation in APA and BibTeX formats
Data repositories
For the spacewalk manuscript, consider:
- What raw data does the analysis use?
- Is it already publicly available (e.g. from NASA)? If so, link to it rather than re-depositing.
- If it needs to be deposited: what type of data is it? (tabular, imaging, sequencing, etc.)
- What repository is most appropriate?
For general scientific datasets, Zenodo or Figshare are good defaults. For domain-specific data, check re3data.org for a curated list of repositories by discipline.
Using Zenodo Sandbox (or your chosen repository):
- Go to sandbox.zenodo.org →
+ New upload - Select the appropriate
upload type(e.g. Dataset) - Fill in the metadata:
TitleAuthorsDescription— what the data is, how it was collectedLicense—CC BY 4.0is the standard for research data
- Leave it as a
draft— do not publish - Note the reserved DOI — this can be cited in a manuscript before the record is finalised (and made public)
This is a reflection exercise. Think about the data you generate:
- What format is it in? (raw sequencing, mass spec, imaging, tabular, etc.)
- Is there a discipline-specific repository that mandates or expects this data type?
- Does your institution or target journal have a preferred repository?
Use re3data.org to search by subject area or data type. Note down your findings — this is useful to have ready before you next submit a paper.