{
  "lessons": [
    {
      "name": "Accessibility Best Practices for Your Project",
      "slug": "accessibility-best-practices-for-your-project",
      "url": "https://ucospo.net/education/lessons/accessibility-best-practices-for-your-project/",
      "externalUrl": "https://opensource.guide/accessibility-best-practices-for-your-project/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Practical, actionable steps to make your open source project usable by everyone, especially people with disabilities.",
      "abstract": "A practical guide for open source maintainers on making projects accessible to people with disabilities. Covers accessibility statements, accessible documentation, interface design, contribution workflows, and continuous testing.",
      "domain": "General Open Source",
      "pathways": [
        "maintaining"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "accessibility",
        "WCAG",
        "disability",
        "inclusion",
        "documentation"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT15M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Best Practices for Maintainers",
      "slug": "best-practices-for-maintainers",
      "url": "https://ucospo.net/education/lessons/best-practices-for-maintainers/",
      "externalUrl": "https://opensource.guide/best-practices/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Making your life easier as an open source maintainer, from documenting processes to leveraging your community.",
      "abstract": "This guide provides essential practices for open source project maintainers to ensure sustainability, manage contributions effectively, and foster a welcoming project environment. Topics include documentation, issue tracking, and communication strategies.",
      "domain": "General Open Source",
      "pathways": [
        "maintaining"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "best practices",
        "maintainers",
        "community"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT14M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Building Better Research Software",
      "slug": "building-better-research-software",
      "url": "https://ucospo.net/education/lessons/building-better-research-software/",
      "externalUrl": "https://carpentries-incubator.github.io/better-research-software/",
      "repoUrl": "https://github.com/carpentries-incubator/better-research-software",
      "description": "This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research. The course can be delivered over 2 full or 4 half days.",
      "abstract": "This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research. The course can be delivered over 2 full or 4 half days.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "course",
      "keywords": [
        "FAIR software",
        "research software",
        "reproducibility",
        "software engineering",
        "open science"
      ],
      "author": "The Carpentries Incubator",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT10H5M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 19,
        "forks": 20,
        "contributors": 20,
        "openIssues": 30,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "Building Better Research Software",
          "doi": "10.5281/zenodo.12666088",
          "version": "beta-Dec2025",
          "dateReleased": "2025-12-10",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "family": "Gibson",
              "given": "Sarah",
              "orcid": "0000-0003-0356-2765",
              "affiliation": null
            },
            {
              "family": "Goel",
              "given": "Aman",
              "orcid": "0000-0003-3567-2096",
              "affiliation": null
            },
            {
              "family": "Hodges",
              "given": "Toby",
              "orcid": "0000-0003-1766-456X",
              "affiliation": "The Carpentries"
            },
            {
              "family": "Jaffa",
              "given": "Sarah",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Kopec-Harding",
              "given": "Kamilla",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Nenadic",
              "given": "Aleksandra",
              "orcid": "0000-0002-2269-3894",
              "affiliation": "Software Sustainability Institute / The University of Manchester"
            },
            {
              "family": "Sauze",
              "given": "Colin",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Stevens",
              "given": "Sarah",
              "orcid": "0000-0002-7040-548X",
              "affiliation": "The University of Wisconsin-Madison"
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Building Community",
      "slug": "building-community",
      "url": "https://ucospo.net/education/lessons/building-community/",
      "externalUrl": "https://opensource.guide/building-community/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Building a healthy community helps your project thrive. Learn how to foster collaboration and inclusivity.",
      "abstract": "Discover how to foster a strong and inclusive community around your open source project. This guide covers effective communication, conflict resolution, and strategies to encourage contributor engagement and collaboration.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "community",
        "collaboration",
        "inclusivity"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT14M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "CI/CD for Research Software with GitLab CI",
      "slug": "cicd-for-research-software-with-gitlab-ci",
      "url": "https://ucospo.net/education/lessons/cicd-for-research-software-with-gitlab-ci/",
      "externalUrl": "https://hsf-training.github.io/hsf-training-cicd/",
      "repoUrl": "https://github.com/hsf-training/hsf-training-cicd",
      "description": "This lesson covers the implementation of CI/CD pipelines in research software projects, focusing on automating tests, builds, and deployments using GitLab CI.",
      "abstract": "This lesson introduces Continuous Integration and Continuous Delivery (CI/CD) practices with a focus on research software. It covers tools such as GitLab CI and explains how to automate testing and deployment.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "course",
      "keywords": [
        "ci/cd",
        "gitlab ci",
        "continuous integration",
        "research software"
      ],
      "author": "HSF Training Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT4H10M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-04-06",
        "stars": 5,
        "forks": 7,
        "contributors": 100,
        "openIssues": 7,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Collaboration in Open Research Projects",
      "slug": "collaboration-in-open-research-projects",
      "url": "https://ucospo.net/education/lessons/collaboration-in-open-research-projects/",
      "externalUrl": "https://book.the-turing-way.org/collaboration/collaboration",
      "repoUrl": "https://github.com/the-turing-way/the-turing-way",
      "description": "A comprehensive reference guide covering collaboration practices in open research — community setup, GitHub workflows, code review, meetings and events, leadership, and research infrastructure roles. Part of The Turing Way open handbook.",
      "abstract": "This lesson focuses on collaboration in open science and research projects, introducing best practices for working in teams, sharing code, and managing contributions using Git and GitHub.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "collaboration",
        "git",
        "github",
        "open science",
        "research"
      ],
      "author": "The Turing Way Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT1H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-25",
        "stars": 2148,
        "forks": 749,
        "contributors": 100,
        "openIssues": 607,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "The Turing Way handbook for reproducible, ethical and collaborative research",
          "doi": "10.5281/zenodo.3233853",
          "version": "1.2.3",
          "dateReleased": "2025-04-14",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "The Turing Way Community"
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Collaborative Git for Teams",
      "slug": "collaborative-git-for-teams",
      "url": "https://ucospo.net/education/lessons/collaborative-git-for-teams/",
      "externalUrl": "https://coderefinery.github.io/git-collaborative/",
      "repoUrl": "https://github.com/coderefinery/git-collaborative",
      "description": "This lesson explains how to use Git for collaborative software development, focusing on advanced Git techniques such as branching, merging, and conflict resolution.",
      "abstract": "This lesson covers collaborative Git usage, including branching, merging, resolving conflicts, and setting up Git workflows for team collaboration.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "course",
      "keywords": [
        "git",
        "collaboration",
        "branching",
        "merging",
        "version control"
      ],
      "author": "CodeRefinery Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT3H30M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-03-30",
        "stars": 10,
        "forks": 44,
        "contributors": 17,
        "openIssues": 14,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Collaborative distributed version control",
          "doi": null,
          "version": null,
          "dateReleased": "2025-03-19",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "CodeRefinery"
            },
            {
              "family": "Bast",
              "given": "Radovan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wikfeldt",
              "given": "Kjartan Thor",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Hellsvik",
              "given": "Johan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Darst",
              "given": "Richard",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Razick",
              "given": "Sabry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Pushpadas",
              "given": "Dhanya",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Lindi",
              "given": "Bjørn",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Pilstål",
              "given": "Robert",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Alim Rasel",
              "given": "Annajiat",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Suvilehto",
              "given": "Jyry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Fouilloux",
              "given": "Anne",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Continuous Integration and Delivery with GitHub Actions",
      "slug": "continuous-integration-and-delivery-with-github-actions",
      "url": "https://ucospo.net/education/lessons/continuous-integration-and-delivery-with-github-actions/",
      "externalUrl": "https://intersect-training.org/CI-CD/",
      "repoUrl": "https://github.com/INTERSECT-training/CI-CD",
      "description": "This lesson covers how to set up continuous integration and continuous delivery pipelines for automated testing and deployment in software projects.",
      "abstract": "This tutorial introduces continuous integration (CI) and continuous delivery (CD) practices in software development. It covers how to automate testing, building, and deployment using tools like GitHub Actions.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "ci/cd",
        "github actions",
        "automation",
        "continuous integration"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT2H52M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 1,
        "contributors": 3,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Effective Code Review",
      "slug": "effective-code-review",
      "url": "https://ucospo.net/education/lessons/effective-code-review/",
      "externalUrl": "https://intersect-training.org/Code-Review/",
      "repoUrl": "https://github.com/INTERSECT-training/Code-Review",
      "description": "This lesson teaches best practices for conducting and participating in code reviews, emphasizing clear communication and collaborative problem solving.",
      "abstract": "This tutorial covers the principles and practices of code review, focusing on collaborative software development. It explains how to conduct code reviews effectively, provide feedback, and integrate changes.",
      "domain": "General Open Source",
      "pathways": [
        "maintaining"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "code review",
        "software development",
        "peer review",
        "collaboration"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 7,
        "contributors": 5,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Finding and Evaluating Projects",
      "slug": "how-to-contribute-to-open-source",
      "url": "https://ucospo.net/education/lessons/how-to-contribute-to-open-source/",
      "externalUrl": "https://opensource.guide/how-to-contribute/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Learn how to find your first project using discovery tools, understanding labels, and identifying beginner-friendly tasks.",
      "abstract": "This resource gives a broad overview of terms and processes important to understand as a new contributor. It also includes suggestions on how to find a project to contribute to.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "guide",
      "keywords": [
        "contributing",
        "open source",
        "first contribution",
        "project discovery"
      ],
      "author": "Open Source Guides",
      "license": null,
      "timeRequired": "PT24M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Finding Users for Your Project",
      "slug": "finding-users-for-your-project",
      "url": "https://ucospo.net/education/lessons/finding-users-for-your-project/",
      "externalUrl": "https://opensource.guide/finding-users/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Launching a successful open source project involves more than just code. Start your journey here.",
      "abstract": "This guide explores strategies to attract and grow a user base for your open source project. It covers techniques such as improving discoverability, engaging with communities, and leveraging social platforms for outreach.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "guide",
      "keywords": [
        "users",
        "adoption",
        "promotion"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT9M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Getting Paid for Open Source Work",
      "slug": "getting-paid-for-open-source-work",
      "url": "https://ucospo.net/education/lessons/getting-paid-for-open-source-work/",
      "externalUrl": "https://opensource.guide/getting-paid/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Sustain your work in open source by getting financial support for your time or your project.",
      "abstract": "A guide for contributors and maintainers on achieving financial sustainability in open source. Covers personal funding strategies, project-level funding sources, building a case for support, and experimenting with different models.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "funding",
        "sustainability",
        "grants",
        "sponsorship",
        "open source business models"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT12M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Good Enough Practices in Scientific Computing",
      "slug": "good-enough-practices-in-scientific-computing",
      "url": "https://ucospo.net/education/lessons/good-enough-practices-in-scientific-computing/",
      "externalUrl": "https://carpentries-lab.github.io/good-enough-practices/",
      "repoUrl": "https://github.com/carpentries-lab/good-enough-practices",
      "description": "A set of practical computing habits every researcher can adopt — covering data management, code organization, collaboration, version control, and project structure.",
      "abstract": "A peer-reviewed Carpentries Lab lesson drawing on published sources and over a decade of workshop experience. Covers the core habits researchers need to work more efficiently and reproducibly: data management, code organization, project structure, collaboration, version control, and manuscript preparation.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "scientific computing",
        "data management",
        "project organization",
        "version control",
        "reproducibility",
        "collaboration"
      ],
      "author": "The Carpentries Lab",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT3H39M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Intermediate Research Software Development",
      "slug": "intermediate-research-software-development-skills-python-lesson-material",
      "url": "https://ucospo.net/education/lessons/intermediate-research-software-development-skills-python-lesson-material/",
      "externalUrl": "https://carpentries-incubator.github.io/python-intermediate-development/",
      "repoUrl": "https://github.com/carpentries-incubator/python-intermediate-development",
      "description": "This course aims to teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment using Python as an example programming language (see detailed learning objectives below).",
      "abstract": "This course aims to teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment using Python as an example programming language (see detailed learning objectives below).",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "course",
      "keywords": [
        "python",
        "software design",
        "research software",
        "team development"
      ],
      "author": "The Carpentries Incubator",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT17H15M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 61,
        "forks": 77,
        "contributors": 41,
        "openIssues": 68,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "Intermediate Research Software Development Skills (Python)",
          "doi": "10.5281/zenodo.6532056",
          "version": "beta-May2026",
          "dateReleased": "2026-05-23",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "family": "Nenadic",
              "given": "Aleksandra",
              "orcid": "0000-0002-2269-3894",
              "affiliation": null
            },
            {
              "family": "Crouch",
              "given": "Steve",
              "orcid": "0000-0001-8985-6814",
              "affiliation": null
            },
            {
              "family": "Kiley",
              "given": "Thomas",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Silva",
              "given": "Raniere",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Michonneau",
              "given": "François",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Belkin",
              "given": "Maxim",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Graham",
              "given": "James",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wilson",
              "given": "Greg",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Bluteau",
              "given": "Matthew",
              "orcid": "0000-0001-9498-8475",
              "affiliation": null
            },
            {
              "family": "Hodges",
              "given": "Toby",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Kamvar",
              "given": "Zhian",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Burg",
              "given": "Sven",
              "orcid": "0000-0003-1250-6968",
              "affiliation": null
            },
            {
              "family": "Cabunoc Mayes",
              "given": "Abby",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Robinson",
              "given": "Martin",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Mangham",
              "given": "Sam",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Laird",
              "given": "Jacalyn",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Stevens",
              "given": "Sarah",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Leinweber",
              "given": "Katrin",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Becker",
              "given": "Erin",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Rodrigues",
              "given": "João",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Lowe",
              "given": "Douglas",
              "orcid": "0000-0002-1248-3594",
              "affiliation": null
            },
            {
              "family": "Goel",
              "given": "Aman",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Graham",
              "given": "Matthew M.",
              "orcid": "0000-0001-9104-7960",
              "affiliation": null
            },
            {
              "family": "Gopinathan",
              "given": "Devaraj",
              "orcid": "0000-0002-0490-3229",
              "affiliation": null
            },
            {
              "family": "Camphuijsen",
              "given": "Jaro",
              "orcid": "0000-0002-8928-7831",
              "affiliation": null
            },
            {
              "family": "Crocioni",
              "given": "Giulia",
              "orcid": "0000-0002-0823-0121",
              "affiliation": null
            },
            {
              "family": "Close",
              "given": "William",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Löffler",
              "given": "Frank",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Rijn",
              "given": "Sander",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Saunders",
              "given": "Harry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Field",
              "given": "Matthew",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Gadgil",
              "given": "Sanket",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Zarębski",
              "given": "Kristian",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Collie",
              "given": "Kingsley",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Neep",
              "given": "Tom",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Alves",
              "given": "Renato",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Katz",
              "given": "Daniel",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Reeve",
              "given": "Jen",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Murphy",
              "given": "G.K.",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Sverchkov",
              "given": "Yuriy",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Hartley",
              "given": "S.",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Konovalov",
              "given": "Olexandr",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Guyer",
              "given": "Jonathan",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Introduction to Docker and Podman",
      "slug": "introduction-to-docker-for-research-note-this-is-now-called-introduction-to-docker-and-podman",
      "url": "https://ucospo.net/education/lessons/introduction-to-docker-for-research-note-this-is-now-called-introduction-to-docker-and-podman/",
      "externalUrl": "https://hsf-training.github.io/hsf-training-docker/index.html",
      "repoUrl": "https://github.com/hsf-training/hsf-training-docker",
      "description": "This lesson covers the fundamentals of Docker, including creating containers, managing Docker images, and using Docker for software reproducibility and deployment.",
      "abstract": "This lesson introduces Docker, explaining how to create, manage, and share containerized applications. It covers the basics of Docker, its use in reproducible research, and how to create Docker images for software development.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "docker",
        "podman",
        "containers",
        "reproducibility",
        "deployment"
      ],
      "author": "HSF Training Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT5H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-04-06",
        "stars": 3,
        "forks": 19,
        "contributors": 68,
        "openIssues": 11,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Introduction to Git",
      "slug": "introduction-to-git",
      "url": "https://ucospo.net/education/lessons/introduction-to-git/",
      "externalUrl": "https://coderefinery.github.io/git-intro/",
      "repoUrl": "https://github.com/coderefinery/git-intro",
      "description": "This lesson introduces Git, a distributed version control system, and teaches how to use it to track changes, collaborate on projects, and manage the history of a codebase.",
      "abstract": "This lesson introduces the basics of Git for version control, focusing on how to track changes, work with repositories, and manage a project‚Äôs history using Git.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "course",
      "keywords": [
        "git",
        "version control",
        "repositories",
        "source control"
      ],
      "author": "CodeRefinery Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT8H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-03-30",
        "stars": 39,
        "forks": 76,
        "contributors": 24,
        "openIssues": 40,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Introduction to version control",
          "doi": null,
          "version": null,
          "dateReleased": "2025-03-19",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "CodeRefinery"
            },
            {
              "family": "Bast",
              "given": "Radovan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wikfeldt",
              "given": "Kjartan Thor",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Darst",
              "given": "Richard",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Razick",
              "given": "Sabry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Iusan",
              "given": "Diana",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Lindi",
              "given": "Bjørn",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Andrei",
              "given": "Constantin-Octavian",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Suvilehto",
              "given": "Jyry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Fasshauer",
              "given": "Elke",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Issue Tracking with GitHub",
      "slug": "issue-tracking-with-github",
      "url": "https://ucospo.net/education/lessons/issue-tracking-with-github/",
      "externalUrl": "https://intersect-training.org/Issue-Tracking/",
      "repoUrl": "https://github.com/INTERSECT-training/Issue-Tracking",
      "description": "This lesson covers the basics of issue tracking for software projects, including how to create, manage, and close issues on GitHub.",
      "abstract": "This tutorial introduces issue tracking for software development, focusing on using GitHub Issues to manage bugs, features, and project milestones.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "github issues",
        "project management",
        "bug tracking",
        "issue tracking"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT1H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 1,
        "contributors": 3,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "INTERSECT: Issue Tracking",
          "doi": null,
          "version": "0.2.0",
          "dateReleased": "2023-07-07",
          "license": null,
          "authors": [
            {
              "family": "Mundt",
              "given": "Miranda",
              "orcid": "0000-0002-5283-2138",
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Leadership and Governance",
      "slug": "leadership-and-governance",
      "url": "https://ucospo.net/education/lessons/leadership-and-governance/",
      "externalUrl": "https://opensource.guide/leadership-and-governance/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Effective leadership and governance ensure long-term success for your open source project.",
      "abstract": "This guide outlines effective leadership and governance models for open source projects, emphasizing the importance of transparency, decision-making processes, and creating a structure that supports long-term project sustainability.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Advanced",
      "learningResourceType": "guide",
      "keywords": [
        "leadership",
        "governance",
        "project management",
        "community"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT11M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Maintaining Balance for Open Source Maintainers",
      "slug": "maintaining-balance-for-open-source-maintainers",
      "url": "https://ucospo.net/education/lessons/maintaining-balance-for-open-source-maintainers/",
      "externalUrl": "https://opensource.guide/maintaining-balance-for-open-source-maintainers/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Tips for self-care and avoiding burnout as a maintainer.",
      "abstract": "A guide drawing on interviews with 40 members of the Maintainer Community on recognizing and preventing burnout. Covers identifying motivations, stress triggers, signs of burnout, and strategies for long-term sustainability.",
      "domain": "General Open Source",
      "pathways": [
        "maintaining"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "burnout",
        "self-care",
        "sustainability",
        "maintainer health",
        "work-life balance"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT10M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Making Your First Pull Request",
      "slug": "making-good-pull-requests",
      "url": "https://ucospo.net/education/lessons/making-good-pull-requests/",
      "externalUrl": "https://intersect-training.org/Making-Good-PRs/",
      "repoUrl": "https://github.com/INTERSECT-training/Making-Good-PRs",
      "description": "A step-by-step walkthrough covering forking, cloning, feature branches, and responding to code review feedback.",
      "abstract": "This tutorial explains how to create good pull requests (PRs) in collaborative software development. It covers best practices for writing clear PR descriptions, committing changes, and communicating with project maintainers.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "pull requests",
        "github",
        "git",
        "collaboration"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT1H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 1,
        "contributors": 3,
        "openIssues": 0,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "INTERSECT: Making Good Pull Requests",
          "doi": null,
          "version": "0.2.0",
          "dateReleased": "2023-07-07",
          "license": null,
          "authors": [
            {
              "family": "Mundt",
              "given": "Miranda",
              "orcid": "0000-0002-5283-2138",
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Metrics",
      "slug": "metrics",
      "url": "https://ucospo.net/education/lessons/metrics/",
      "externalUrl": "https://opensource.guide/metrics/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Tracking the success of your project helps you make informed decisions and communicate impact effectively.",
      "abstract": "Understand the importance of tracking and analyzing metrics to evaluate the health and success of your open source project. This guide highlights key metrics, tools, and practices to monitor project activity and community growth.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "metrics",
        "project success",
        "impact"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT6M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Metrics Model: OSS Project Viability: Strategy",
      "slug": "metrics-model-oss-project-viability-strategy",
      "url": "https://ucospo.net/education/lessons/metrics-model-oss-project-viability-strategy/",
      "externalUrl": "https://chaoss.community/kb/metrics-model-oss-project-viability-strategy/",
      "repoUrl": "https://github.com/chaoss/wg-metrics-models",
      "description": "A focused metrics guide exploring how to assess risk and project direction by observing structural indicators of organizational influence.",
      "abstract": "This metrics model details specific mechanisms for analyzing an open-source project's long-term corporate and organizational dependencies. It profiles analytical methods across structural indicators, including Programming Language Distribution, Bus Factor, Elephant Factor, and Organizational Influence trends.",
      "domain": "Institutional Policy",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Advanced",
      "learningResourceType": "guide",
      "keywords": [
        "Project Viability",
        "Elephant Factor",
        "Risk Assessment",
        "Strategic Alignment",
        "CHAOSS"
      ],
      "author": "CHAOSS Project",
      "license": null,
      "timeRequired": "PT10M",
      "keepStatus": "keepCandidate",
      "githubHealth": null
    },
    {
      "name": "Metrics Model: Starter Project Health",
      "slug": "metrics-model-starter-project-health",
      "url": "https://ucospo.net/education/lessons/metrics-model-starter-project-health/",
      "externalUrl": "https://chaoss.community/kb/metrics-model-starter-project-health/",
      "repoUrl": "https://github.com/chaoss/wg-metrics-models",
      "description": "An introduction to drawing community performance conclusions from four fundamental open-source health metrics.",
      "abstract": "This resource provides a lightweight starting point for measuring the overall viability of a repository without overwhelming data analysis. It concentrates on tracking Time to First Response, Change Request Closure Ratio, Release Frequency, and Contributor Absence Factor.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "guide",
      "keywords": [
        "CHAOSS",
        "Metrics",
        "Project Health",
        "Bus Factor",
        "Maintainer Workflow"
      ],
      "author": "CHAOSS Project",
      "license": null,
      "timeRequired": "PT8M",
      "keepStatus": "keepCandidate",
      "githubHealth": null
    },
    {
      "name": "Modular Programming with Python",
      "slug": "modular-programming-with-python",
      "url": "https://ucospo.net/education/lessons/modular-programming-with-python/",
      "externalUrl": "https://coderefinery.github.io/modular-type-along/",
      "repoUrl": "https://github.com/coderefinery/modular-type-along",
      "description": "This lesson covers modular programming in Python, explaining how to write reusable code in modules, organize codebases, and test them to improve collaboration and maintainability.",
      "abstract": "This lesson introduces the concept of modular programming in Python. It covers how to structure code into reusable modules and how to organize and test these modules for better maintainability and collaboration.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "modular programming",
        "python",
        "code organization",
        "reusability"
      ],
      "author": "CodeRefinery Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-03-30",
        "stars": 4,
        "forks": 9,
        "contributors": 6,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Modular code development type-along",
          "doi": null,
          "version": null,
          "dateReleased": "2025-02-26",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "CodeRefinery"
            },
            {
              "family": "Bast",
              "given": "Radovan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Darst",
              "given": "Richard",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Tian",
              "given": "Yu",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Juselius",
              "given": "Jonas",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Di Remigio Eikås",
              "given": "Roberto",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Bjørndalen",
              "given": "Ole Martin",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Fouilloux",
              "given": "Anne",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Python Package Development Best Practices",
      "slug": "python-package-development-best-practices",
      "url": "https://ucospo.net/education/lessons/python-package-development-best-practices/",
      "externalUrl": "https://education.molssi.org/python-package-best-practices/",
      "repoUrl": "https://github.com/MolSSI-Education/python-package-best-practices",
      "description": "This lesson covers best practices for building Python packages, focusing on scientific software. It explains how to structure packages, write tests, manage dependencies, and distribute packages via PyPI.",
      "abstract": "This lesson introduces best practices for developing Python packages, covering topics like structuring packages, writing tests, and managing dependencies for scientific software.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "python",
        "packaging",
        "pypi",
        "testing",
        "dependencies"
      ],
      "author": "MolSSI Education Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-03-18",
        "stars": 44,
        "forks": 34,
        "contributors": 27,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Best Practices in Python Package Development (Version 2021.08.0)",
          "doi": "10.34974/2H9M-0E15",
          "version": "2021.08.0",
          "dateReleased": "2021-08-20",
          "license": null,
          "authors": [
            {
              "family": "Nash",
              "given": "Jessica A.",
              "orcid": "0000-0003-1967-5094",
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Altarawy",
              "given": "Doaa",
              "orcid": "0000-0002-7795-4422",
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Barnes",
              "given": "Taylor A.",
              "orcid": "0000-0001-9396-1094",
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Ellis",
              "given": "Samuel J.",
              "orcid": null,
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Irrgang",
              "given": "M. Eric",
              "orcid": "0000-0002-1272-3551",
              "affiliation": "University of Virginia"
            },
            {
              "family": "Marin-Rimoldi",
              "given": "Eliseo",
              "orcid": null,
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Pritchard",
              "given": "Benjamin",
              "orcid": "0000-0003-2136-0606",
              "affiliation": "The Molecular Sciences Software Institute"
            },
            {
              "family": "Radifar",
              "given": "Muhammad",
              "orcid": "0000-0001-9156-9478",
              "affiliation": "Postdoctoral Institute for Computational Studies"
            },
            {
              "family": "Smith",
              "given": "Daniel G.A.",
              "orcid": "0000-0001-8626-0900",
              "affiliation": "The Molecular Sciences Software Institute"
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Python Packaging",
      "slug": "python-packaging",
      "url": "https://ucospo.net/education/lessons/python-packaging/",
      "externalUrl": "https://carpentries-incubator.github.io/python_packaging",
      "repoUrl": "https://github.com/carpentries-incubator/python_packaging",
      "description": "This lesson teaches how to create and publish packages in Python. We assume a basic understanding of Python, and assume learners are comfortable using simple commands in a Bash shell.",
      "abstract": "This lesson teaches how to create and publish packages in Python. We assume a basic understanding of Python, and assume learners are comfortable using simple commands in a Bash shell.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "python",
        "packaging",
        "pip",
        "distribution"
      ],
      "author": "The Carpentries Incubator",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT2H2M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2024-10-22",
        "stars": 6,
        "forks": 6,
        "contributors": 3,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Python Packaging for Beginners",
      "slug": "python-packaging-for-beginners",
      "url": "https://ucospo.net/education/lessons/python-packaging-for-beginners/",
      "externalUrl": "https://intersect-training.org/packaging/",
      "repoUrl": "https://github.com/INTERSECT-training/packaging",
      "description": "This lesson teaches the essential steps for packaging Python projects and publishing them on PyPI.",
      "abstract": "This tutorial covers packaging Python projects for distribution. It introduces key tools such as setuptools and explains how to create packages and publish them on PyPI.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "python",
        "packaging",
        "pypi",
        "setuptools"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT3H15M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 4,
        "forks": 4,
        "contributors": 9,
        "openIssues": 6,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "INTERSECT: Packaging",
          "doi": null,
          "version": null,
          "dateReleased": "2024-07-17",
          "license": null,
          "authors": [
            {
              "family": "Schreiner",
              "given": "Henry",
              "orcid": "0000-0002-7833-783X",
              "affiliation": null
            },
            {
              "family": "Niemeyer",
              "given": "Kyle",
              "orcid": "0000-0003-4425-7097",
              "affiliation": null
            },
            {
              "family": "Holland",
              "given": "John Gerrard",
              "orcid": "0000-0001-6845-8657",
              "affiliation": null
            },
            {
              "family": "Dang",
              "given": "George",
              "orcid": "0009-0008-1566-8245",
              "affiliation": null
            },
            {
              "family": "Restrepo",
              "given": "Maria Isabel",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "R Packaging",
      "slug": "r-packaging",
      "url": "https://ucospo.net/education/lessons/r-packaging/",
      "externalUrl": "https://carpentries-incubator.github.io/lesson-R-packaging/",
      "repoUrl": "https://github.com/carpentries-incubator/lesson-R-packaging",
      "description": "This workshop will provide you with the basics for writing your own packages in R.",
      "abstract": "This workshop will provide you with the basics for writing your own packages in R.",
      "domain": "Data Science",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "course",
      "keywords": [
        "r",
        "packaging",
        "r packages",
        "software distribution"
      ],
      "author": "The Carpentries Incubator",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT7H25M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 5,
        "forks": 10,
        "contributors": 8,
        "openIssues": 27,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "lesson-R-packaging",
          "doi": null,
          "version": null,
          "dateReleased": null,
          "license": "CC-BY-4.0",
          "authors": [
            {
              "family": "Rodriguez-Sanchez",
              "given": "Pablo",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Vreede",
              "given": "Barbara",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "de Boer",
              "given": "Lieke",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Reproducible Computational Environments using Containers",
      "slug": "reproducible-computational-environments-using-containers",
      "url": "https://ucospo.net/education/lessons/reproducible-computational-environments-using-containers/",
      "externalUrl": "https://carpentries-incubator.github.io/docker-introduction/",
      "repoUrl": "https://github.com/carpentries-incubator/docker-introduction",
      "description": "This session aims to introduce the use of Docker containers with the goal of using them to effect reproducible computational environments. Such environments are useful for ensuring reproducible research outputs, for example.",
      "abstract": "This session aims to introduce the use of Docker containers with the goal of using them to effect reproducible computational environments. Such environments are useful for ensuring reproducible research outputs, for example.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "course",
      "keywords": [
        "docker",
        "containers",
        "reproducibility",
        "open science"
      ],
      "author": "The Carpentries Incubator",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT4H5M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 53,
        "forks": 53,
        "contributors": 62,
        "openIssues": 47,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Reproducible Research",
      "slug": "reproducible-research",
      "url": "https://ucospo.net/education/lessons/reproducible-research/",
      "externalUrl": "https://book.the-turing-way.org/reproducible-research/reproducible-research",
      "repoUrl": "https://github.com/the-turing-way/the-turing-way",
      "description": "A comprehensive reference guide covering all aspects of reproducible research — version control, testing, data management, CI/CD, open research, licensing, and more. Part of The Turing Way open handbook.",
      "abstract": "This lesson introduces the concept of reproducible research, explaining best practices and tools to ensure that scientific results can be replicated by others.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "reproducible research",
        "data management",
        "open science",
        "version control"
      ],
      "author": "The Turing Way Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT1H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-25",
        "stars": 2148,
        "forks": 749,
        "contributors": 100,
        "openIssues": 607,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "The Turing Way handbook for reproducible, ethical and collaborative research",
          "doi": "10.5281/zenodo.3233853",
          "version": "1.2.3",
          "dateReleased": "2025-04-14",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "The Turing Way Community"
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Research Software Engineering with Python  Course",
      "slug": "research-software-engineering-with-python-course",
      "url": "https://ucospo.net/education/lessons/research-software-engineering-with-python-course/",
      "externalUrl": "https://alan-turing-institute.github.io/rse-course/html/index.html",
      "repoUrl": "https://github.com/alan-turing-institute/rse-course",
      "description": "This course provides an overview of key skills for Research Software Engineers, including software design, version control with Git, testing with pytest, and project management.",
      "abstract": "This course provides training for Research Software Engineers (RSEs), covering best practices in software development, version control, testing, and project management for research software.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "research software engineering",
        "python",
        "testing",
        "software design"
      ],
      "author": "The Alan Turing Institute",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2025-04-24",
        "stars": 264,
        "forks": 122,
        "contributors": 28,
        "openIssues": 46,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Security Best Practices for Your Project",
      "slug": "security-best-practices-for-your-project",
      "url": "https://ucospo.net/education/lessons/security-best-practices-for-your-project/",
      "externalUrl": "https://opensource.guide/security-best-practices-for-your-project/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.",
      "abstract": "A practical guide for maintainers on implementing essential security measures in open source projects. Covers authentication, code scanning, dependency management, vulnerability reporting, and incident response.",
      "domain": "General Open Source",
      "pathways": [
        "maintaining"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "security",
        "MFA",
        "code scanning",
        "dependencies",
        "vulnerability reporting"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT9M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Sharing Research Software: Citable, Discoverable, and Reproducible",
      "slug": "research-software-citable-discoverable",
      "url": "https://ucospo.net/education/lessons/research-software-citable-discoverable/",
      "externalUrl": "https://ucospo.net/research-software-citable-discoverable/",
      "repoUrl": "https://github.com/UC-OSPO-Network/research-software-citable-discoverable",
      "description": "Practical, low-barrier approaches to making research software citable, discoverable, and reusable — including CITATION.cff, licensing, metadata, and FAIR principles.",
      "abstract": "This lesson introduces researchers — including graduate students, research staff, and librarians — to high-impact, low-effort practices for making research software more citable and discoverable. Topics include CITATION.cff files, open source licensing, metadata improvement, reproducible environments with pixi, and connecting these practices to FAIR principles.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "CITATION.cff",
        "FAIR software",
        "research software",
        "metadata",
        "discoverability",
        "citability",
        "open source license"
      ],
      "author": "UC OSPO Network",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT3H29M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Social Coding and Inclusive Communication",
      "slug": "social-coding-and-open-source-collaboration",
      "url": "https://ucospo.net/education/lessons/social-coding-and-open-source-collaboration/",
      "externalUrl": "https://coderefinery.github.io/social-coding/",
      "repoUrl": "https://github.com/coderefinery/social-coding",
      "description": "Understand the 'human' side of open source, including respectful language, the 'release early, often' mindset, and the value of non-code contributions.",
      "abstract": "This lesson introduces the concept of social coding, covering how to collaborate effectively on open-source projects using GitHub, and how to engage with the developer community.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "social coding",
        "collaboration",
        "inclusive communication",
        "community standards"
      ],
      "author": "CodeRefinery Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-03-30",
        "stars": 9,
        "forks": 16,
        "contributors": 13,
        "openIssues": 14,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Social coding and open software - What can you do to get credit for your code and allow reuse?",
          "doi": null,
          "version": null,
          "dateReleased": "2025-03-19",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "CodeRefinery"
            },
            {
              "family": "Bast",
              "given": "Radovan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wikfeldt",
              "given": "Kjartan Thor",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Hellsvik",
              "given": "Johan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Darst",
              "given": "Richard",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Razick",
              "given": "Sabry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Suvilehto",
              "given": "Jyry",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Fouilloux",
              "given": "Anne",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Smirnova",
              "given": "Oxana",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Whalley",
              "given": "Lucy",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Software Licensing",
      "slug": "understanding-software-licensing",
      "url": "https://ucospo.net/education/lessons/understanding-software-licensing/",
      "externalUrl": "https://intersect-training.org/software-licensing/",
      "repoUrl": "https://github.com/INTERSECT-training/software-licensing",
      "description": "This lesson provides an overview of common open-source software licenses, their conditions, and how to choose the right one for your project.",
      "abstract": "This tutorial introduces the basics of software licensing, focusing on open-source licenses. It explains the different types of licenses, their implications, and how to apply them to software projects.",
      "domain": "Institutional Policy",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "software licensing",
        "open source licenses",
        "copyright",
        "legal compliance"
      ],
      "author": "David E. Bernholdt, Lauren E. Milechin, Dave Rumph, Michael A. Heroux, James Willenbring",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT3H6M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 4,
        "contributors": 4,
        "openIssues": 8,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Starting an Open Source Project",
      "slug": "starting-an-open-source-project",
      "url": "https://ucospo.net/education/lessons/starting-an-open-source-project/",
      "externalUrl": "https://opensource.guide/starting-a-project/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Launching a successful open source project involves more than just code. Start your journey here.",
      "abstract": "Learn the foundational steps for launching a successful open source project, from defining its purpose and choosing a license to setting up version control and creating a contributor-friendly environment.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "guide",
      "keywords": [
        "starting",
        "open source",
        "launch"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT16M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Testing and Test-Driven Development",
      "slug": "testing-and-test-driven-development",
      "url": "https://ucospo.net/education/lessons/testing-and-test-driven-development/",
      "externalUrl": "https://coderefinery.github.io/testing/",
      "repoUrl": "https://github.com/coderefinery/testing",
      "description": "This lesson covers how to write tests for your code, understand test-driven development, and use testing frameworks like pytest in Python.",
      "abstract": "This lesson introduces software testing, including automated testing, test-driven development, and unit testing, with a focus on Python.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "testing",
        "test-driven development",
        "pytest",
        "python"
      ],
      "author": "CodeRefinery Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT2H",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-04-22",
        "stars": 12,
        "forks": 41,
        "contributors": 28,
        "openIssues": 16,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": false,
        "citation": {
          "source": "cff",
          "title": "Automated testing",
          "doi": null,
          "version": null,
          "dateReleased": "2025-03-19",
          "license": "CC-BY-4.0",
          "authors": [
            {
              "name": "CodeRefinery"
            },
            {
              "family": "Bast",
              "given": "Radovan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wikfeldt",
              "given": "Kjartan Thor",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Darst",
              "given": "Richard",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Lindi",
              "given": "Bjørn",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Hellsvik",
              "given": "Johan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Smart",
              "given": "Poojan",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "van Vliet",
              "given": "Marijn",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Di Remigio Eikås",
              "given": "Roberto",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Wehner",
              "given": "Jens",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Ruokolainen",
              "given": "Teemu",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Valberg-Madsen",
              "given": "Janus",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Vathsavayi",
              "given": "Sri Harsha",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Skrypnyk",
              "given": "Rostyslav",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Thiele",
              "given": "Jan Philipp",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Rehnberg",
              "given": "Viktor",
              "orcid": null,
              "affiliation": null
            },
            {
              "family": "Pfau",
              "given": "Thomas",
              "orcid": null,
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "The Legal Side of Open Source",
      "slug": "the-legal-side-of-open-source",
      "url": "https://ucospo.net/education/lessons/the-legal-side-of-open-source/",
      "externalUrl": "https://opensource.guide/legal/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Everything you've ever wondered about the legal side of open source, and a few things you didn't.",
      "abstract": "A comprehensive guide to the legal dimensions of open source for maintainers, contributors, and institutional stakeholders. Covers licensing choice, contributor agreements, copyright, CLA requirements, and organizational compliance considerations.",
      "domain": "Institutional Policy",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "licensing",
        "legal",
        "contributor agreements",
        "copyright",
        "compliance"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT18M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Unit Testing and TDD in Python",
      "slug": "unit-testing-and-tdd-in-python",
      "url": "https://ucospo.net/education/lessons/unit-testing-and-tdd-in-python/",
      "externalUrl": "https://intersect-training.org/testing/instructor/",
      "repoUrl": "https://github.com/INTERSECT-training/testing",
      "description": "This lesson covers how to write and run unit tests in Python, including an introduction to test-driven development (TDD) and its benefits.",
      "abstract": "This tutorial introduces software testing, focusing on unit testing and test-driven development (TDD) in Python. It explains how to write tests, run them, and integrate them into the development process.",
      "domain": "Research Software",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "course",
      "keywords": [
        "unit testing",
        "python",
        "test-driven development",
        "pytest"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT4H45M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 3,
        "contributors": 7,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "What is Open Source?",
      "slug": "what-is-open-source",
      "url": "https://ucospo.net/education/lessons/what-is-open-source/",
      "externalUrl": "https://opensource.guide/starting-a-project/#what-does-open-source-mean",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "An introduction to the four freedoms of software, the benefits of FOSS in education and industry, and the core principles of transparency and community.",
      "abstract": "This lesson addresses the foundational concepts of open source. It covers the four freedoms of software, the benefits of FOSS in education and industry, and the core principles of transparency and community.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "guide",
      "keywords": [
        "open source basics",
        "foss",
        "software freedom",
        "open collaboration"
      ],
      "author": "Open Source Guides",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-21",
        "stars": 15465,
        "forks": 15393,
        "contributors": 100,
        "openIssues": 9,
        "archived": false,
        "license": "CC-BY-4.0",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Writing Documentation for Software Projects",
      "slug": "writing-documentation-for-software-projects",
      "url": "https://ucospo.net/education/lessons/writing-documentation-for-software-projects/",
      "externalUrl": "https://intersect-training.org/Documentation/",
      "repoUrl": "https://github.com/INTERSECT-training/Documentation",
      "description": "This lesson teaches how to write effective software documentation, including API documentation, user guides, and installation instructions.",
      "abstract": "This tutorial covers best practices for writing documentation in software projects. It explains how to create clear, comprehensive, and user-friendly documentation using tools like Sphinx and Markdown.",
      "domain": "General Open Source",
      "pathways": [
        "contributing"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "workshop",
      "keywords": [
        "documentation",
        "sphinx",
        "markdown",
        "technical writing"
      ],
      "author": "INTERSECT Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT1H32M",
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 0,
        "forks": 2,
        "contributors": 3,
        "openIssues": 1,
        "archived": false,
        "license": "NOASSERTION",
        "sponsorsUrl": null,
        "hasFunding": false,
        "hasCodeOfConduct": true,
        "citation": {
          "source": "cff",
          "title": "INTERSECT: Better Documentation",
          "doi": null,
          "version": "0.2.0",
          "dateReleased": "2023-07-07",
          "license": null,
          "authors": [
            {
              "family": "Mundt",
              "given": "Miranda",
              "orcid": "0000-0002-5283-2138",
              "affiliation": null
            }
          ]
        },
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    },
    {
      "name": "Your Code of Conduct",
      "slug": "code-of-conduct",
      "url": "https://ucospo.net/education/lessons/code-of-conduct/",
      "externalUrl": "https://opensource.guide/code-of-conduct/",
      "repoUrl": "https://github.com/github/opensource.guide",
      "description": "Facilitate healthy and constructive community behavior by adopting and enforcing a code of conduct.",
      "abstract": "A guide for project maintainers and leaders on establishing and enforcing a code of conduct. Covers why codes of conduct matter, how to choose one, enforcement mechanisms, and the maintainer's role in building safe communities.",
      "domain": "General Open Source",
      "pathways": [
        "strategic"
      ],
      "educationalLevel": "Intermediate",
      "learningResourceType": "guide",
      "keywords": [
        "code of conduct",
        "community standards",
        "enforcement",
        "harassment",
        "inclusion"
      ],
      "author": "GitHub",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": "PT10M",
      "keepStatus": "keep",
      "githubHealth": null
    },
    {
      "name": "Your First Web Contribution",
      "slug": "your-first-web-contribution",
      "url": "https://ucospo.net/education/lessons/your-first-web-contribution/",
      "externalUrl": "https://github.com/firstcontributions/first-contributions",
      "repoUrl": "https://github.com/firstcontributions/first-contributions",
      "description": "Build confidence by making a real open source contribution using only your web browser. No technical setup or Git installation required!",
      "abstract": "This hands-on tutorial walks absolute beginners through making their very first open source contribution using the GitHub web editor. It bypasses technical Git setup to focus on the social and procedural mechanics of a Pull Request.",
      "domain": "General Open Source",
      "pathways": [
        "getting-started"
      ],
      "educationalLevel": "Beginner",
      "learningResourceType": "workshop",
      "keywords": [
        "first contribution",
        "github web interface",
        "open source",
        "quick win"
      ],
      "author": "First Contributions Team",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "timeRequired": null,
      "keepStatus": "keep",
      "githubHealth": {
        "lastUpdated": "2026-05-26",
        "stars": 54181,
        "forks": 103145,
        "contributors": 100,
        "openIssues": 79,
        "archived": false,
        "license": "MIT",
        "sponsorsUrl": "https://github.com/sponsors/firstcontributions",
        "hasFunding": true,
        "hasCodeOfConduct": true,
        "citation": null,
        "fetchedAt": "2026-05-26T22:11:33.098Z"
      }
    }
  ]
}