A working list of learn-by-doing open source resources
The thing that stuck with me about learning R years ago was swirl — it taught you R inside R, one nudge at a time. Learn-by-doing, not learn-by-reading. I keep thinking that’s the bar for the self-study resources we point people to in the OSPO: not just docs, but something you can practice in.
This started when I came across a roundup of sites every DevOps engineer should bookmark. A lot of it crosses straight over to what we teach — git, the command line, containers, sustainability practice — so I started pulling out the interactive ones. We already list some of these; consider this the additive pass.
Worth saying what “already list” means. The OSPO education site has a real inventory now: 43 lessons, a public JSON API, sorted into pathways and tagged by role, level, and provider. It is strong on formal material, and it leans hard toward maintaining. 25 of the 43 sit in that one pathway: packaging, testing, CI/CD, containers, reproducibility. That is the gravity these practice resources push against. The getting-started and contributing end, where you learn by making an actual pull request or fixing a broken server, is exactly where the formal collection is thinnest.
Each is tagged with a learning-resource type — the small vocabulary I’d like us to standardize on for the Bioschemas learningResourceType field: Tutorial · Lab · Game · Challenge · Course · Path · Reference · Guide. (Topic = the section; type = the tag. Two separate axes.)
Git & the command line
- Oh My Git! — a literal game for git · Game
- Learn Git Branching — visual, guided git challenges · Tutorial (via the article)
- OverTheWire: Bandit — learn the shell through a wargame · Game
- SadServers — “LeetCode for Linux”: fix real broken servers · Challenge
- explainshell, regex101 · Reference (via the article)
Contributing to open source
- First Contributions — make an actual first pull request · Tutorial
- GitHub Skills — interactive courses inside real repos · Course
- Open Source Guides — contributing, maintaining, community · Guide
Research software & sustainability (our “why”)
- INTERSECT (intersect-training.org) — modular RSE training for self-guided learners · Course (already in our inventory)
- The Carpentries — episodic, hands-on; already our delivery world · Tutorial
- Exercism — guided exercises with mentorship · Challenge
- swirl (swirlstats.com) — the R-in-R original · Tutorial
DevOps, containers, cloud
- roadmap.sh DevOps — interactive learning path · Path (via the article)
- KillerCoda — browser-based scenarios (Katacoda’s successor) · Lab
- KodeKloud — 800+ DevOps labs and playgrounds · Lab
- TryHackMe, picoCTF — gamified security, good for students · Game
For the OSPO itself (strategy, not self-study)
- LF: Open Source Management & Strategy · Course
- CHAOSS — community-health metrics · Guide
- Class Central — Open Source — a catalog of many of the above · (catalog / meta)
I don’t think this is the list yet — it’s the start of one. The open question I want to take to the group: which of these actually serve researchers and librarians, versus engineers who already speak the language? My plan is to keep a running scan of what’s new each month and fold the good ones in before they reach our formal inventory — tagged with the same learningResourceType vocabulary so everything stays consistent.