GitHub accounts and plans

Completed

In this unit, you'll learn about GitHub account types and plans.

GitHub account types

It's important to understand that there's a difference between the types of GitHub accounts and the GitHub plans. Here are the three types of GitHub accounts:

  • Personal
  • Organization
  • Enterprise

Let's review each of these account types in detail.

Personal accounts

Every person who uses GitHub.com signs into a personal account (sometimes referred to as a user account). Your personal/user account is your identity on GitHub.com and has a username and profile.

Your personal/user account can own resources such as repositories, packages, and projects as well as a straightforward way to manage your permission. Whenever you take an action on GitHub.com, such as creating an issue or reviewing a pull request, the action is attributed to your personal account.

Each personal account uses either GitHub Free or GitHub Pro. All personal accounts can own an unlimited number of public and private repositories, with an unlimited number of collaborators on those repositories. If you use GitHub Free, private repositories owned by your personal account have a limited feature set.

Organization accounts

Organization accounts are shared accounts where an unlimited number of people can collaborate across many projects at once. Unlike personal/user accounts, permissions with organization accounts are done at a tiered approach.

Similar to personal accounts, organizations can own resources such as repositories, packages, and projects. However, you can't sign into an organization. Instead, each person signs into their own personal account, and any actions the person takes on organization resources are attributed to their personal account. Each personal account can be a member of multiple organizations.

The personal accounts within an organization can be given different roles in the organization to grant different levels of access to the organization and its data. All members can collaborate with each other in repositories and projects. But only organization owners and security managers can manage the settings for the organization and control access to the organization's data with sophisticated security and administrative features.

Enterprise accounts

Enterprise accounts on GitHub.com allow administrators to centrally manage policies and billing for multiple organizations and enable inner sourcing between their organizations. An enterprise account must have a handle, like an organization or user account on GitHub.

Organizations are shared accounts for enterprise members to collaborate across many projects at once. In the enterprise settings, enterprise owners can invite existing organizations to join your enterprise account, transfer organizations between enterprise accounts, or create new organizations.

Your enterprise account allows you to manage and enforce policies for all the organizations owned by the enterprise. Each enterprise policy controls the options available for a policy at the organization level.

GitHub plans

Now that you have a better understanding of the different types of accounts you can have with GitHub, we'll discuss the different plans available to improve your software management process and team collaboration.

There are several free GitHub products, in addition to the paid ones:

  • GitHub Free for personal accounts and organizations
  • GitHub Pro for personal accounts
  • GitHub Team
  • GitHub Enterprise

GitHub Free

GitHub Free provides the basics for individuals and organizations. Anyone can sign up for the free version of GitHub.

GitHub Free for personal accounts

Signing up for GitHub Free gives a new user a personal user account. A personal user account includes unlimited public and private repositories and unlimited collaborators.

With GitHub Free, a personal account includes:

  • GitHub Community Support
  • Dependabot alerts
  • Two-factor authentication enforcement
  • 500 MB GitHub Packages storage
  • 120 GitHub Codespaces core hours per month
  • 15 GB GitHub Codespaces storage per month
  • GitHub Actions:
    • 2,000 minutes per month
    • Deployment protection rules for public repositories

GitHub Free for organizations

With GitHub Free for organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set or unlimited private repositories with a limited feature set.

In addition to the features available with GitHub Free for personal accounts, GitHub Free for organizations includes:

  • Team access controls for managing groups

GitHub Pro

GitHub Pro is similar to GitHub Free but comes with upgraded features. It's designed for individual developers (using their personal account) who want advanced tools and insight within their repositories but don't belong to a team.

GitHub Pro accounts include all of the features of a GitHub Free account, plus the following advanced features:

  • GitHub Support via email
  • 3,000 GitHub Actions minutes per month
  • 2 GB GitHub Packages storage
  • 180 GitHub Codespaces core hours per month
  • 20 GB GitHub Codespaces storage per month
  • Advanced tools and insights in private repositories:
    • Required pull request reviewers
    • Multiple pull request reviewers
    • Protected branches
    • Code owners
    • Autolinked references
    • GitHub Pages
    • Wikis
    • Repository insight graphs for pulse, contributors, traffic, commits, code frequency, network, and forks

GitHub Team

GitHub Team is the version of GitHub Pro for organizations. GitHub Team is better than GitHub Free for organizations because it provides increased GitHub Actions minutes and extra GitHub Packages storage.

Let's go over the extra features in GitHub Team that help with team collaboration:

  • GitHub Support via email
  • 3,000 GitHub Actions minutes per month
  • 2 GB GitHub Packages storage
  • Advanced tools and insights in private repositories:
    • Required pull request reviewers
    • Multiple pull request reviewers
    • Draft pull requests
    • Team pull request reviewers
    • Protected branches
    • Code owners
    • Scheduled reminders
    • GitHub Pages
    • Wikis
  • Repository insight graphs for pulse, contributors, traffic, commits, code frequency, network, and forks
  • The option to enable or disable GitHub Codespaces

GitHub Enterprise

GitHub Enterprise accounts enjoy a greater level of support and extra security, compliance, and deployment controls.

You can create one or more enterprise accounts by signing up for the paid GitHub Enterprise product. When you create an enterprise account, you're assigned the role of enterprise owner. As an enterprise owner, you can add and remove organizations to and from the enterprise account. You can manage other administrators, enforce security policies across organizations, and so on.

In addition to the features available with GitHub Team, GitHub Enterprise includes:

  • GitHub Enterprise Support
  • More security, compliance, and deployment controls
  • Authentication with SAML single sign-on
  • Access provisioning with SAML or SCIM
  • Deployment protection rules with GitHub Actions for private or internal repositories GitHub Connect
  • The option to purchase GitHub Advanced Security

GitHub Enterprise options

There are two different GitHub Enterprise options:

  • GitHub Enterprise Server
  • GitHub Enterprise Cloud

The significant difference between GitHub Enterprise Server (GHES) and GitHub Enterprise Cloud is that GHES is a self-hosted solution that allows organizations to have full control over their infrastructure.

The other difference between GHES and GitHub Enterprise Cloud is that GitHub Enterprise Cloud includes a dramatic increase in both GitHub Actions minutes and GitHub Packages storage.

Here are the additional features of GitHub Enterprise Cloud:

  • 50,000 GitHub Actions minutes per month
  • 50 GB GitHub Packages storage
  • A service level agreement for 99.9% monthly uptime
  • Option to centrally manage policy and billing for multiple GitHub.com organizations with an enterprise account
  • Option to provision and manage the user accounts for your developers, by using Enterprise Managed Users