Create an open source program

Learn how to work alongside the open source communities that build software you're already using, and put your business at the forefront of the world's most innovative and secure code.

Start free course Join 669 others!

social preview

Did you know that many organizations including industry innovators like Microsoft, Google, and Facebook, have established open source programs? Immersing your company in open source culture is a competitive advantage that will allow you to hire the best talent, decrease risk, and innovate by increasing your shipping speed.

An open source program empowers anyone within your organization to determine when code should be made public and helps them safely navigate the process of doing so. This course will guide you as you create that open source program. You'll establish guidance and governance for your open source program, examine what current innovators are doing, and leverage existing templates and resources. This hands-on lab will help you tackle some big questions and give you a clear path forward for becoming an open source enterprise.

What you'll learn

In this course, we'll answer common questions like:

  • How do I create an open source program at my organization?
  • Why is an open source program beneficial?
  • How do I create discoverable repositories?
  • What's a code of conduct?
  • How do I create a communication plan for my open source program?
  • What is a maintainer guide and how do I create one?
  • How should we license our projects?
  • What licenses should we consume?
  • What should be in a template README for my organization's repositories?

After taking this course, you'll be able to:

  • 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

What you'll build

screenshot of a source repository showing folders for templates and docs, a license, and a README describing the process for releasing open source software

Prerequisites

We recommend you first complete the following courses:

  • InnerSource fundamentals to learn how InnerSource and open source are different but related concepts. A strong InnerSource culture could be the perfect precursor to a successful open source program.
  • Reviewing pull requests to learn how to work in GitHub pull requests, which are used throughout this course.

Projects used

This course uses all original content, we didn't use any open source projects to create it.

Audience

Developers, Managers, Teams

Steps to complete this course 10
  1. Establish preliminary goals

    Begin thinking about the goals of your open source program.

  2. Give your repository a README.

    Merge the open source kit's README.

  3. Give your kit contributing guidelines

    Merge the open source kit's contributing guidelines.

  4. Provide a code of conduct

    Merge the pull request with your code of conduct.

  5. Add communication guidelines

    Merge the pull request that adds communication guidelines for your organization.

  6. Add checklists

    Provide checklists that can be used to release a new open source project.

  7. Add a maintainer's guide

    Merge the pull request that creates a guide for open source maintainers.

  8. Add a license policy

    Help your organization determine what licenses should be used by creating a license policy.

  9. Provide guidance for consuming open source software

    Merge the pull request that adds guidance for consuming open source software within your organization.

  10. Add a template README

    Provide a README that team members can use when open sourcing their projects.

Tags
Open source
Enterprise
Licensing
Templates
Guidelines
Share Create an open source program
Average time to complete

74 minutes

Free

All public courses on Learning Lab are free.

Latest release

Learning Paths that include this course

Users who took this course also took

What is GitHub Learning Lab?

Learn new skills by completing fun, realistic projects in your very own GitHub repository.

Ready to start learning?

Start Create an open source program