Build community-driven software projects on GitHub

Go to class
Write Review

Free Online Course: Build community-driven software projects on GitHub provided by Microsoft Learn is a comprehensive online course, which lasts for 6-7 hours worth of material. The course is taught in English and is free of charge.

Overview
    • Module 1: Learn to use key GitHub features, including issues, notifications, branches, commits, and pull requests.
    • In this module, you will:

      • Communicate with the project community in issues
      • Manage notifications for project events
      • Create branches to manage work in parallel
      • Make commits to update project source
      • Introduce changes with pull requests
      • Deploy a web page to GitHub Pages
    • Module 2: Learn to manage a successful InnerSource program on GitHub through effective discoverability, guidance, and maintenance.
    • In this module, you will learn to:

      • Contrast user versus organization owned projects
      • Make recommendations about the number of GitHub organizations you should have
      • Create discoverable repositories
      • Create robust repository READMEs
      • Use issue and pull request templates
      • Build transparency into repositories
      • Measure the success of InnerSource within your organization
      • Distribute your InnerSource toolkit
    • Module 3: Learn to create a successful open-source program by establishing contributor guidance, following proven processes, and leveraging community standards.
    • In this module, you will:

      • Assess your organization's existing open-source efforts
      • Establish the goals of an open-source program
      • Create a repository for your open-source program, complete with contributing and communication guidelines, codes of conduct, templates, and maintainer guides
      • Abide by existing open-source licenses
      • Choose a license for releasing an open-source project
    • Module 4: Learn to upload your existing project to GitHub.
    • In this module, you will:

      • Identify where your code is stored
      • Introduce code to a repository
      • Create important Git files like a .gitignore
      • Identify important next steps to manage your repository and add community involvement
    • Module 5: Learn to move your existing project to GitHub from a legacy version control system.
    • In this module, you will:

      • Prepare your project for a successful migration
      • Handle any binary files currently stored in your project
      • Create important Git files like a .gitignore
      • Import your project to GitHub
    • Module 6: Learn best practices for building, hosting, and maintaining a secure repository on GitHub.
    • In this module, you will:

      • Identify the tools and GitHub features to establish a secure development strategy
      • Enable vulnerable dependency detection for private repositories
      • Detect and fix outdated dependencies with security vulnerabilities
      • Automate the detection of vulnerable dependencies with Dependabot
      • Add a security policy with a SECURITY.md file
      • Remove a commit exposing sensitive data in a pull request
      • Keep sensitive files out of your repository by applying the use of a .gitignore file
      • Remove historical commits exposing sensitive data deep in your repository
    • Module 7: Learn how to contribute to an open-source project on GitHub.
    • In this module, you will learn how to:

      • Find open-source projects and tasks to contribute to in GitHub.
      • Create pull requests to open-source projects.
      • Implement best practices to communicate with open-source maintainers and perform code reviews.
      • Find and engage with open-source communities.

Syllabus
    • Module 1: Introduction to GitHub
      • Introduction
      • What is GitHub?
      • Exercise - A guided tour of GitHub
      • Knowledge check
      • Summary
    • Module 2: Manage an InnerSource program by using GitHub
      • Introduction
      • How to manage a successful InnerSource program
      • Exercise - InnerSource fundamentals
      • Knowledge check
      • Summary
    • Module 3: Create an open-source program by using GitHub best practices
      • Introduction
      • How to establish an open-source program
      • Exercise - Create an open-source program
      • Describe the benefits of the open-source community
      • Knowledge check
      • Summary
    • Module 4: Upload your project by using GitHub best practices
      • Introduction
      • How do I prepare and upload an existing project to GitHub?
      • Exercise - Upload your project to GitHub
      • Knowledge check
      • Summary
    • Module 5: Migrate your repository by using GitHub best practices
      • Introduction
      • How do I migrate an existing project to GitHub?
      • Exercise - Migrating your repository to GitHub
      • Knowledge check
      • Summary
    • Module 6: Maintain a secure repository by using GitHub best practices
      • Introduction
      • How to maintain a secure GitHub repository
      • Exercise - Add a .gitignore file
      • Automated security
      • Knowledge check
      • Summary
    • Module 7: Contribute to an open-source project on GitHub
      • Introduction
      • Identify where you can help
      • Contribute to an open-source repository
      • Exercise - Create your first pull request
      • Next steps
      • Knowledge check
      • Summary