The OSPO has established a university-wide GitHub enterprise account available for all Johns Hopkins affiliates and organizations. The enterprise GitHub account includes several features not available in free GitHub accounts and covers costs for existing paid JHU GitHub accounts. If you are currently paying for GitHub, or wish to access additional features available through the enterprise account, please fill out the form below to create a new organization or migrate your existing organization(s) into the enterprise.

Once you receive confirmation about your new organization, please take a few moments and read through these tips:

  • If you’re planning to make any of your repositories public, please include a license file. This helps protect your work and define how others can use your code. Instructions for adding a license to a GitHub repository are at this link, and the OSPO website includes a Licensing FAQ if you’re not sure which license to choose.
  • It’s a good idea to add a README to any repository – public or private. The OSPO GitHub has an easy-to-follow checklist for writing a README that will help users identify, evaluate, use, and engage with your project.
  • All repositories should include a copyright notice, for example: Copyright [year repository becomes public] The Johns Hopkins University

Hopkins Students

Invitation to an Existing Organization

You do not need to fill out this form to be invited to the enterprise. Please contact the organization owner.

CoPilot

If you’d like to experiment with CoPilot, you have free access through the GitHub Student Developer Pack, which includes instructions on how to sign up (and prove your student status).

Questions? Email the OSPO!

Request a New GitHub Organization

Name(Required)
New or Existing?(Required)

Documentation

Basics

  1. The OSPO does not run any GitHub (GH) infrastructure. The JHU GH Enterprise (GHE) can be thought of as an “add-on” to standard GH.
  2. GH Organizations that join the JHU GHE benefit from additional features — most notably security controls and unlimited private repositories.
  3. The OSPO does not manage GH user accounts — users should expect to request and manage their own GH User accounts. Users may have multiple GH accounts. Some people prefer to have a dedicated GH user account for JHU related work — but this is a matter of preference.
  4. The OSPO does not require that GH user accounts be created in any particular way (e.g. GH usernames do not need to be the same as JHED usernames).
  5. GH orgs that join the JHU Enterprise License are not locked in and may leave at any time.

How to Get Started

  1. Fill out the request form on this page, including the name(s) of existing GH Organizations or new GH Organizations you would like created in the Enterprise account and the name(s) of the GH users that should be the Organization’s owner(s)
  2. Alternatively, email the OSPO (ospo@jhu.edu) with:
    1. the name(s) of existing GH Organizations or the name of new GH Organizations you would like created in the Enterprise account. NOTE: GH organization names (as well as usernames) must be unique across GH.
    2. the name(s) of the GH users that should be owner(s)

What to Expect

  1. If you are requesting to add an existing GH Organization to GHE, you will receive an invitation via email asking you to join. If you have requested a new GH Organization be created, this will happen in the background. In either case, you will be contacted by an OSPO representative to let you know that the change has completed.
  2. Once joined to the JHU GHE, you, as the owner, have full control of your GH org(s) and, among other things, can expect to:
    1. create new repos within your GH org(s) and transfer already existing repos to it.
    2. invite members and collaborators and create groups and teams and assign permissions.
    3. All members of your GHE Org will be required to additionally authenticate to the Hopkins Single Sign On (SSO).
      Note: People outside of Hopkins can be added to your GHE Org as collaborators and granted read/write access to assigned repositories.

Features

  1. Unlimited private repositories.
  2. In addition to “public” and “private”, you can also create “internal” repositories – viewable by all members of the JHU GHE.
  3. Our JHU GHE license has:
    1. 50,000 minutes of GH Actions per month shared across all Organizations. These minutes are not consumed by GH Actions performed on public repositories. If you plan to utilize considerable GH Actions minutes, please notify the OSPO.
    2. 50 GB for Container Registries and other package repositories, shared across all Organizations.
  4. The OSPO is working with Bitergia to develop analytics about public Hopkins software development projects
  5. Features associated with GitHub Campus (see below)

GitHub Campus/Education Benefits

  1. For Educators:
    1. Access to GitHub Classroom
    2. Codespaces via GitHub Classroom. “[A] free allowance, estimated to be enough for a class of 50 with 5 assignments per month, on a 2 core machine with 1 codespace stored per student.”
    3. CodeSpaces announcement
    4. CodeSpaces documentation
  2. For Students:
    1. Use of resources and tools in the Student Developer PackStudent Developer Pack
    2. Access to GitHub Campus ExpertsGitHub Campus Experts program
    3. Access to GitHub OcternshipsGitHub Octernships program

Learning Git and GitHub

  1. The two primary structures for administration in GitHub are the repository and the organization. Repositories live within an organization, and repositories are where you interact with the Git tools to checkout, commit, push, merge, etc. Permissions are defined at both the organization and repository levels. As you might expect, those with administrative rights at the organization level are able to manage both the organization and the repositories within it.
  2. If you or others on your team are new to Git or GitHub, there are helpful learning resources provided by GitHub.

GitHub CodeSpaces Setup

Get setup for using Codespaces in GitHub Classroom:

  1. Sign up as a teacher. https://education.github.com/teachers (and click ‘Get benefits for Teachers’). In our experience, once submitted, this only takes a few minutes.
  2. Enable “GitHub Classroom” for an org. https://classroom.github.com/classrooms (click new and your GitHub Organizations in the Enterprise should be listed and show up as “Eligible for Codespaces Education benefit”). Establishing a GitHub Classroom requires already having a GitHub Organization.
  3. Enable Codespaces by going to the Classroom’s Settings page. Codespaces limits: “[A] free allowance, estimated to be enough for a class of 50 with 5 assignments per month, on a 2 core machine with 1 codespace stored per student.”
  4. Setting up students – go to the “Students” tab on the Classroom page to create a roster.

Frequently Asked Questions

  • Does our Enterprise GitHub license carry the benefits of the GitHub Campus Program?

    Yes. Our Enterprise license is through the Campus program.

  • Does the OSPO run GitHub Enterprise Server?

    No. The OSPO does not run any GitHub (GH) infrastructure. The Enterprise license is essentially GitHub’s top offering. In addition to the benefits of Team, Enterprise enables centralized billing and management across organizations, SAML SSO and other benefits. GH organizations that are transferred to the Enterprise license (or newly created under the license) gain the features & benefits of the GH Campus Program. If these Organizations transfer out of the Enterprise license they lose the features & benefits – but otherwise remain fully intact.

  • Does the OSPO manage GitHub User accounts?

    No. The OSPO does not manage GitHub (GH) User accounts – users should expect to request & manage their own GH User account(s). Users may have multiple GH accounts; for example, some people have a dedicated GH user account for JHU related work — but this is a matter of preference, and it’s worth noting, somewhat discouraged by GitHub. In any case, only one GH user account may be linked to your Hopkins SSO identity.

  • How does SSO work with the GitHub Enterprise license?

    One of the benefits of the Enterprise license is SAML single sign-on (SSO) as an additional security control. “Members” of JHU’s GitHub Enterprise must additionally authenticate to JHU’s SAML identity provider (IdP) to access any of the Enterprise’s organizations of which they are owners or members.

  • Do GitHub usernames need to match JHED usernames in order to be Enterprise “members”?

    No.

  • Can GitHub (GH) Users without JHED accounts (non-JHU users) be members of my GH Organization(s) once under the Enterprise license?

    No. So long as integration with Hopkins SSO is required, non-JHED users cannot be “members” but they can be “outside collaborators.”

  • Can Outside Collaborators be assigned to Teams?

    No. Outside collaborators are by definition non-members and therefore may only be assigned roles on individual repositories.

  • Are there any uses of GitHub that would be in violation of the GitHub Campus license?

    The most obvious violation would be for-profit use. Also, “Externally funded research groups that are housed at the university may not use the free licenses.” Here are the GitHub Campus Program Terms and Conditions.

  • What happens if my GitHub Organization under the Enterprise license, with outside collaborators and internal and private repositories, leaves the Enterprise?

    All internal repositories will be converted to private. Nothing happens to existing owners/members/outside-collaborators – they would remain exactly as before. All extra benefits would cease, and the org would be downgraded to the free plan.