Licensing at Sourcegraph can be confusing: the word “license” (or “licence”) is used in two overlapping contexts within Sourcegraph:
- The software license under which our users obtain and potentially modify our source code, and
- The team or enterprise plan that users are paying for on Sourcegraph Enterprise, which is controlled via a license key. (The Free plan does not have a license key.)
Sourcegraph’s software license has two parts. The core of Sourcegraph is licensed under the Apache License, version 2.0. Some features and all our container images are licensed under our enterprise license.
As described in the open source FAQ, users can use Sourcegraph OSS without agreeing to any enterprise licensing terms by building their own server image. If they do so, no code from our enterprise licensed features will be included in their Sourcegraph deployment.
In practice, Sourcegraph OSS involves:
- Removing the
enterprisedirectories from the repo
- Building your own docker image (you can’t just use ours)
This means you have the following limitations:
- No path to upgrade to an Enterprise or Team plan down the line (you can’t change your mind without launching a new instance)
- No external dependencies (means no extensions!)
- No enterprise features (SSO, access control, Batch Changes, Code Insights (Beta), Code Monitoring)
- Built as a single container (limited scalability)
- No access to our extensions
Benefits to the OSS option include:
- No user limit
- Some people prefer OSS ideologically
If someone is talking to Sales or CE and says they’re using the OSS version, they are 99% of the time using the free tier of Sourcegraph Enterprise. If they say they’re hitting a user limit, they’re using the free version of Sourcegraph Enterprise, not Sourcegraph OSS.
If someone follows the install instructions for our Docker, Docker Compose, or Kubernetes options (reference), they will install Sourcegraph Enterprise.
Because the code for all three pricing plans is the same, customers can subscribe to any plan in any of our deployment methods except on Sourcegraph Cloud, where packaging and pricing are not defined, and there are no plans yet. The deployment method a customer uses is unrelated to the pricing plan, generally (for exceptions, ping the CE team).
Sourcegraph Enterprise offers three plans: Free, Team and Enterprise as defined in pricing. The Free plan is the default plan. It does not require a license key to run.
Customers on the Team and Enterprise plan of Sourcegraph Enterprise are provided with a license key, usually by a customer engineer. When a prebuilt image is configured with a license key, the functionality covered under the customer’s plan is enabled.
What is a “License”? What is a “Free user”? What is an “Enterprise user”?
The word license is ambiguous: the answer to “what’s the license of this user?” depends on the context.
“Free user” is also ambiguous, as it can refer to a Sourcegraph OSS user, or a Sourcegraph Enterprise user on a Free plan.
“Enterprise user” is ambiguous as well, as it can refer to a Sourcegraph Enterprise user (on any plan), or specifically to a Sourcegraph Enterprise user on an Enterprise plan. “Enterprise customer” is similarly ambiguous.
To prevent confusion, avoid using “License” or “Free user”. Instead, say:
- a Sourcegraph OSS user
- a Sourcegraph Enterprise user on a Free plan
- a Sourcegraph Enterprise user on a Team/Enterprise plan
- a license key for the Team/Enterprise plan of Sourcegraph Enterprise
- Sourcegraph Cloud is a SaaS offering of Sourcegraph Enterprise, one of the many ways to deploy Sourcegraph
The only case where “license” alone is appropriate is when someone asks “What’s the license of Sourcegraph?“. The answer to that is Apache 2.0 for Sourcegraph OSS, and the enterprise license for Sourcegraph Enterprise.
You can think of this as a set of three options from the user’s perspective:
- Run a fully open source deployment of Sourcegraph. No enterprise code is included in this deployment, no enterprise features (or even landing pages for those features) are enabled, and no option is provided to do so.
- Run Sourcegraph Core. This corresponds to the Free option on the pricing page. A Sourcegraph Core deployment includes enterprise code, but without a license key, any functionality provided therein is extremely limited. (For example, batch changes can only be made with up to five changesets.)
- Run Sourcegraph with a paid plan. This corresponds to the Team or Enterprise options on the pricing page. These deployments include enterprise code, with paid features available based on the customer’s plan, controlled by their license key.
For more information, you may also want to refer to our explanation of Sourcegraph Enterprise vs Sourcegraph OSS.