Welcome!

UC Carpentries Workshop Series · Fall 2026

We’ll begin shortly. Grab the collaborative notes and settle in.

Etherpad: pad.carpentries.org/2026-fall-uc-sharing-research-softwaare

Lesson site: ucospo.net/research-software-citable-discoverable

Code of Conduct

We agree to

  • Use welcoming and inclusive language
  • Be respectful of different viewpoints and experiences
  • Accept constructive criticism gracefully
  • Show courtesy and respect toward everyone here

If something’s wrong

  • Tell an instructor or the host privately, by chat DM or email
  • Or report to the CoC Committee: coc@carpentries.org
  • All reports are kept confidential and taken seriously

Full text & report form: docs.carpentries.org/policies/coc

How we learn together

Our pedagogy

  • You’ll do each step in your own fork as we go
  • We tie new skills to work you already do
  • We cover fewer things, and cover them properly

Managing expectations

  • Practical skills you can use today
  • Your questions set the pace
  • Everyone makes mistakes, instructors included

The UC OSPO Network

The first system-wide OSPO network in a university system, launched May 2024 with Sloan Foundation support.

  • Open to everyone at UC, OSPO or not
  • Templates for README, CONTRIBUTING, license, and citation
  • Education site with learning pathways
  • ORB, a browser for UC’s open source repos

Campus contacts

Berkeley: Jarrod Millman, Kirstie Whitaker
Davis: Vessela Ensberg
UCLA: Tim Dennis, Leigh Phan
San Diego: David Minor, Karla Padilla
Santa Barbara: Amber Budden, Virginia Scarlett
Santa Cruz: Stephanie Lieggi, Emily Lovell

Not sure who to ask? Laura Langdon, Community Manager
ucospo.net/about/contact

Upcoming events

Thu, Oct 1 · 10-11am · Zoom
All-Campus Virtual Meetup: Lightcone Research, hosted by UC Berkeley (BIDS). Liam Parker and François Lanusse on building open source tools and standards so AI-assisted research can be checked and reproduced, including tracing what agents decided along the way.

Tue, Oct 6 · 12-1pm · UCLA Young Research Library and online
UCLA Open Source Meetup: Keeping the World on Time, with Paul Eggert on sustaining the Time Zone Database. In-person seats are limited.

2027 · date and location TBD
UC Open 2027

All times Pacific. Registration links and more events: ucospo.net/events

The question that starts this lesson

“The journal accepted my paper, but they want a citable version of the code, with a DOI. How do I do that?”

Ten years ago the same question arrived about datasets, and libraries built the answer: a persistent identifier, a catalog record, a citation format, a preservation copy. Software mostly hasn’t gotten that treatment yet.

You write research software, and want to make your own code citable, reusable, and discoverable.

You support people who do, as a librarian, OSPO member, or research-support specialist.

Supporting others slides translate each step into consultation work.

How common is the software citation gap?

59.5%

of 3.2 million PubMed Central articles mention at least one piece of software

38%

of 2020 articles give enough detail to uniquely identify the software they used

Both figures: Schindler et al. (2022), PeerJ Computer Science, doi:10.7717/peerj-cs.835

A GitHub URL isn’t a citation

❌ Wrong

“We used the analysis script from github.com/UC-OSPO-Network/software-demo”

  • Links rot
  • No version: which code produced the result?
  • No author, so no credit

Dennis, T., Phan, L., Otsuji, R., & Padilla, K. (2026). Biodiversity Analysis Toolkit (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.123456

  • The DOI outlives the repo
  • The version is explicit
  • Authors get credit and citation counts

You’ll create both pieces today: a CITATION.cff file and a DOI.

Where your fork is headed

Before (main)

  • ❌ No LICENSE
  • ❌ No citation information
  • ❌ No release or DOI
  • ❌ Minimal README

After (05-add-metadata)

  • ✅ LICENSE (BSD-3-Clause) · Reusable
  • ✅ CITATION.cff · Findable
  • ✅ Release + DOI on Zenodo · Findable, Accessible
  • ✅ Full README, CONTRIBUTING, Code of Conduct · Reusable

Today: 2 License → 3 CITATION.cff → 4 Release + DOI → 5 Metadata → wrap-up

The labels come from FAIR4RS: Findable, Accessible, Interoperable, Reusable. Check your work any time against the matching reference branch (02-add-license … 05-add-metadata) in the upstream repo.

Fork the demo repository

Every hands-on step happens in your own fork, not the shared demo repo.

  1. Open github.com/UC-OSPO-Network/software-demo
  2. Click Fork → Create fork (the defaults are fine; you only need main)
  3. Confirm the top-left reads YOUR-USERNAME/software-demo, not UC-OSPO-Network/software-demo

Use the reference branches to check your work, but don’t build on them. Full setup details: ucospo.net/research-software-citable-discoverable/index.html#setup

The starting point

software-demo/
├── README.md
├── requirements.txt
└── src/
    └── analysis.py

Deliberately bare. By the end it will have a license, citation metadata, a DOI, and a real README.

Supporting others: a four-question triage

Public is not the same as shared. When a researcher brings you their repo, do a fast triage, not a code review.

  1. Rights: is there a license? Can anyone legally reuse this?
  2. Credit: can a stranger tell who made it and how to cite it?
  3. Runnable: is there any record of what it takes to run?
  4. Findable: would anyone outside the lab ever come across it?

Aim for the single most useful next step. You don’t have to fix everything.

Try it now (2 min): answer all four for your fork of software-demo.

Key points

  • A GitHub URL is not a citation. A DOI is permanent and version-specific.
  • Software that isn’t deposited anywhere depends on one person and one platform
  • FAIR4RS (Findable, Accessible, Interoperable, Reusable) is the framework
  • A public repo still needs a license, a citation, and a description before others can use it

Up next

Karla Padilla: Adding an Open-Source License

Laura Langdon: Creating a CITATION.cff File

Reid Otsuji: Minting a DOI and Creating a Release

Then back to Tim for Improving Metadata and Discoverability.