Product subscriptions and license keys

By Quinn Slack on October 15, 2018

Site admins now have an easy way to enable paid Sourcegraph Enterprise features on an existing Sourcegraph instance.

When you start a new Sourcegraph instance, you'll be using the features that are free (and implemented in open source). This is called Sourcegraph Core. You can use this for free forever, for any number of users.

If you need features available in Sourcegraph Enterprise, you can upgrade easily. Just buy a license, and add the license key to your Sourcegraph instance in the licenseKey site configuration property. If your instance's user count exceeds your licensed user count, Sourcegraph continues working and you will need to pay for these users retroactively when you renew the license.

Contact sales if you have any questions or if the self-service payment flow doesn't work for your needs.

Implementation notes

The license key lives in a new site configuration property licenseKey. The license key is generated by Sourcegraph and consists of:

  • License tags, which indicate the product plan
  • Licensed user count
  • Expiration date
  • Signature of the above (produced using Sourcegraph's private key)

If the format is invalid, if the signature fails to verify using Sourcegraph's public key, or if the license has expired, an error is displayed to any user who accesses Sourcegraph. To continue using Sourcegraph, the site admin must fix or renew the license, or downgrade to only using Sourcegraph Core features by removing the license.

If the number of licensed users is exceeded, the Sourcegraph instance continues to work, but a message is logged indicating that they must add more users to their subscription. We chose this approach (instead of disabling new user signup) by default. Site admins needing to strictly limit the user count can contact sales for a special, non-true-up license, or they can implement a restriction in their SSO system.