Two Decades of RSEing Open (Neuro)Science at CON
|
Yaroslav O. Halchenko + Cody Baker, Austin Macdonald, Isaac To, John A. Lee, Vadim Melnik — the CON team @yarikoptic
|
|
|
Center for Open Neuroscience Department of Psychological and Brain Sciences Center for Cognitive Neuroscience Dartmouth College New Hampshire, USA
|
“… by adopting LLMs people tend to code single-use software from scratch. While this leads to an increase in ‘shared’ code, it is mostly code that not only has not been ‘written’ by anyone but is also not maintained by anyone.”
“You can develop at a rapid pace, build things as if you had a large team. Only that you have none. In fact, you are (often) alone, working with a statistical machine that turns energy into code.”
— B. Greshake Tzovaras, O. Richter, W. Zijl, “Protecting our FLOSS commons from LLMs”, Codeberg e.V., 23 July 2026
Fernando Perez was building IPython in the same open-science community. Same instinct: reuse the ecosystem, not just the code.
Eventually most of it dissolved upstream into Debian Med, Debian Science, and conda-forge. A successful bridge dissolves into the commons.
Debian DEP-5 → REUSE spec: machine-readable licensing, per file.
/introduce-reuse-compliance
We reuse the standard and automate its adoption.
Debian Med · Debian Science · Debian Python Team
Small team, wide scope → big teams, each with a narrower one.
Packages we used to carry alone are now co-maintained: more hands, a bus factor above one.
Later — psychopy moves to Debian Med in 2020;
nifticlib, gifticlib, odin, cmtk follow over the next two years.
graph TB
user --> datalad[datalad get file] --> git-annex[git-annex get file] -.-> git-annex-remote-archives --> git-annex2[git-annex get --key XXX.tar.gz] -.-> git-annex-remote-datalad
datalad --> git1[git]
git-annex --> git2[git]
git-annex2 --> git3[git]
classDef green fill:#40bf4c,stroke:#333,stroke-width:1px;
classDef orange fill:#ffa200,stroke:#333,stroke-width:1px;
classDef red fill:#f44d27,stroke:#333,stroke-width:1px;
class datalad orange
class git-annex-remote-archives orange
class git-annex-remote-datalad orange
class git-annex green
class git-annex2 green
class git red
class git1 red
class git2 red
class git3 red
DataLad: distributed system for joint management of code, data, and their relationship. Halchenko et al., JOSS 2021.
graph LR datalad --> datalad-crawler datalad --> datalad-container datalad --> datalad-neuroimaging datalad --> datalad-osf datalad --> datalad-fuse datalad --> datalad-xnat datalad --> datalad-ukbiobank datalad --> datalad-next datalad --> ... classDef orange fill:#ffa200,stroke:#333,stroke-width:1px; classDef orangy fill:#ffc200,stroke:#333,stroke-width:1px; class datalad orange class datalad-crawler orangy class datalad-container orangy class datalad-neuroimaging orangy class datalad-osf orangy class datalad-fuse orangy class datalad-xnat orangy class datalad-ukbiobank orangy class datalad-next orangy
Extensions = separate Python packages, ride on datalad-extension-template — your domain plugs in, neuroimaging is just one of many.
registry.datalad.org indexes DataLad datasets across institutions and clouds — discovery over petabytes, no platform required.
after D. Clunie, MICCAI 2017
You've seen one BIDS dataset, you've seen them all. That's the point.
Not a wire format — a contract. Validators, BIDS-Apps, BEPs all hang off it.
Schema. Machine-readable. Deterministically validatable.
Tools that operate on the Model.
Use-case views on the same data.
Examples: lab website, reports, discovery portals
Same M → endless C and V.
This is why standards compound.
Acquire reproducibly.
Sequence naming convention at the scanner → DICOM → BIDS, no human in the loop.
Pinned environments. Everywhere.
Curated Singularity/Apptainer containers, auto-rebuilt and auto-snapshotted.
Small units. Common substrate.
No glue code you own alone.
“AI generates glue. Nobody owns the glue.”
Deliberate interfaces outlast generated adapters.
Run it there. Record what “there” was.
Started 2016 as NICEMAN. Submit to containers, AWS, SLURM/condor — and collect the
environment (Debian and conda packages, VCS revisions) in enough detail to re-create it.
M. Travers, R. Buccigrossi, C. Haselgrove, K. Meyer, and Y. O. Halchenko.
NICEMAN: NeuroImaging Computational Environments Manager, OHBM 2018.
ReproMan asked what did that remote run actually cost?
brainlife’s smon showed how to sample it.
2024: duct <cmd> — no third-party dependencies, uniform records.
Later, well out of this era — but it belongs to this story, not to 2024.
Already adopted inside ReproNim/containers and
ReproStim; RRID:SCR_025436.
Poster this week: Austin Macdonald, C. C. Baker, J. A. Lee, Y. O. Halchenko,
Agent-friendly Provenance Capture with con-duct. Go find Austin.
Academic RSE ↔ engineering industry.
Sustained collaboration on browse / analyze / visualize tooling.
Standard for neurophysiology. Same principle.
Convert once, use everywhere.
Raw physiology → NWB; NWB → BIDS layout. Two flagship standards, one bridge.
Advisory. Standards evolution.
Co-evolving the standard, not just consuming it.
BEP028: DataLad’s ad-hoc
RUNCMD provenance lifting into BIDS.
flowchart LR RUNCMD["DataLad RUNCMD
(2015, ad-hoc JSON in commit msgs)"] --> BEP["BEP028
BIDS provenance"] RUNCMD --> EXP["bids-prov-exporter
(WiP)"] BEP --> COMMUNITY["BIDS standard
(community-owned)"] EXP --> COMMUNITY classDef orange fill:#ffa200,stroke:#333,stroke-width:1px; classDef green fill:#40bf4c,stroke:#333,stroke-width:1px; class RUNCMD orange class BEP green class COMMUNITY green
Take home: the next time you reach for your own JSON-in-a-commit-message format, ask which upstream standard it should fold back into.
“AI extends by adding. It rarely stays to maintain.”
Staying on as maintainer is the non-automatable contribution.
Schemas that compose.
Built 2 hours north, at LBNL (Lawrence Berkeley National Laboratory).
Reused identifier, not invented.
Reused identifier, not invented.
Reused identifier, not invented.
National archives. Built on shared standards.
“CI logs archived. Every PR. Every build.”
“DataLad and git-annex: tested daily. Automatically.”
“Auto-mirrored. Petabytes. No human in the loop.”
Each automation is itself code — CI YAML, hooks, nightly cron, deploy scripts, glue. Someone maintains that.
By 2024 the harness was bigger than several of the projects under it.
That is why a small RSE center was dragged toward AI assistance
— not for the science, but for the
maintenance of the meta-layer.
con/skills + con/yolo: we automate the harness itself.
“The tests don’t know the code was AI-generated.”
“Agent-rate output demands agent-rate review.”
“con/duct watches every process. AI agents included.”
Automated scholarly credit tracking.
Citation harvesting for your stack.
SPDX-FileContributor: assisted-by-ai: Claude Code 2.1 / Claude Sonnet 4.6
File-level AI provenance that survives redistribution.
For research objects, we wrote the standard ourselves. stamped-principles.org
“Without standards, AI produces cacophony at scale.”
Standards are the framing and validation layer for any AI endeavor.
One instance of the pattern:
lab knowledge management.
INM-7 Jülich → CON, GitHub-native
Reusing ORINOCO (Michael Hanke / INM-7) and composing with GitHub Actions/Pages.
AI drafts candidate records.
Schema validates.
Humans curate via PR.
Posters this week:
ORINOCO-Lite · STAMPED · con/duct
Come find us.
Standards give both HI and AI a shared grammar.
YouTube → DataLad. Cloud silos → git-annex. AI sessions → subdatasets.
con/duct — wall time, CPU, memory, per task. Per agent run.
“con/tinuous archives every run. AI-assisted runs included.”
“datalad run records every transformation.
Agent-written or hand-written.”
“Provenance doesn’t care who wrote the code.”
REUSE · COMPOSE · EXTEND
STANDARDIZE · AUTOMATE
“These are not 20-year-old advice.”
They are the load-bearing structure for the age of AI.
AI makes going alone tempting.
Fast. Flexible. Free of dependencies.
A hundred agentic projects reinventing the same infrastructure…
…is a hundred times the debt.
One collaborative ecosystem.
DANDI
BIDS
DataLad
OpenNeuro
NWB
EMBER
microscopy · behavior
| Stance | OSS exemplars | CON / adjacent example | SciOps fit / what it relies on |
|---|---|---|---|
| 1. Reject any AI-generated content | Zig, Krita, Clojure, QEMU; in practice git-annex (Joey Hess’s “policy” is famously a satirical Feb-30 joke) | git-annex upstream contributions — pure-HI commits | L3 floor; AI use, if any, stays ephemeral — never enters the tracked artifact |
| 2. Accept with disclosure (AI-assisted ok; must be marked) | NumPy, Kubernetes, Linux kernel, Django | DataLad, DANDI — HI commits; AI may have helped; Co-Authored-By: Claude… trailers, @pytest.mark.ai_generated |
L3 → L4; leans hardest on STAMPED T (Tracking) — provenance is non-negotiable |
| 3. Spec-driven AI-generated (HI specs, AI writes, HI reviews) | Increasingly common; rare as declared upstream policy | AnnexTube, mykrok, con/citations-collector, parts of dandi-cli (LAD specs + AI-generated tests) | L4; leans on T + Actionability + Modularity — the spec is the contract |
| 4. Autonomous agents in the loop | Active research everywhere; rarely a declared production policy | con/skills + con/yolo workflows for triage, PR review, dep updates | L5 (Optimizing); all of STAMPED + the harness itself becomes the type-checker |
Common ground (all four stances): AI cannot be an author (ICMJE Jan 2026); humans retain full responsibility; AI use must be disclosed in the artifact itself (commit trailer, methods section, acknowledgments). The STAMPED Tracking principle is what makes that mechanical instead of aspirational.
Survey of declared OSS stances: melissawm/open-source-ai-contribution-policies — community-maintained catalog.
Others are formalizing this too.
“Networked Intelligence: Active Shared Context Graphs
for Human-AI Team Science”
Choudhury, S. et al. (2026). arXiv:2607.13220
Scale the connections, not just the agents.
“The open problem is therefore not only how to scale models, but how to develop ‘networked intelligence’, scaling the connections between humans and AI systems so that a result or hypothesis produced in one context reaches another person, agent, instrument or robot that can act on it.”
The principles don’t change. The urgency does.
Together we can make neuroscience a better science!
Slides: datasets.datalad.org/…/2026-usrse-con-talk.html — CC-BY-SA