Skip to content

Commit

Permalink
Update Licensing FAQs for v24.3 release
Browse files Browse the repository at this point in the history
Fixes:

- DOC-11203
- DOC-11048
- DOC-11049

Summary of changes:

- XXX
  • Loading branch information
rmloveland committed Oct 17, 2024
1 parent 5df409b commit 8bee77e
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 79 deletions.
153 changes: 75 additions & 78 deletions src/current/v24.3/licensing-faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,89 +9,58 @@ docs_area: get_started
{% include common/license/evolving.md %}
{{site.data.alerts.end}}

CockroachDB is made available under the [CockroachDB Software License](https://www.cockroachlabs.com/cockroachdb-software-license/).
CockroachDB is made available under the [CockroachDB Software License][csl].

## Types of licenses

The table of licenses below refers to options for {{ site.data.products.core }} deployments. All {{ site.data.products.cloud }} deployments automatically have a valid **Enterprise** license.

Type | Description
-------------|------------
<a name="apache"></a>**Apache 2.0 License** | Core features under the Apache License are free to use and fully open-source. BSL features convert to this license three years after their release. For license conversion dates, see the [table below](#license-conversion-timeline).
<a name="bsl"></a>**Business Source License**| BSL features are free to use and the source code is available, but users may not use CockroachDB [as a service](#what-constitutes-hosting-cockroachdb-as-a-service) without an agreement with Cockroach Labs. The BSL is not certified as an open-source license, but most of the [Open Source Initiative](https://wikipedia.org/wiki/Open_Source_Initiative) (OSI) criteria are met.
<a name="ccl"></a>**Cockroach <br/> Community License** | <ul><li> CCL (Free) features are free to use. The source code is available to view and modify, but it cannot be reused without an agreement with Cockroach Labs. </li><li> CCL (Paid) features require an Enterprise license key to access. The source code is available to view and modify, but it cannot be used without an agreement with Cockroach Labs. </li></ul>

For additional custom licensing options, [contact us](https://support.cockroachlabs.com/hc/en-us).

For each BSL release all associated alpha, beta, major, and minor (point) releases will become Apache 2.0 on the same day three years after the major release date. Once a release is published under the BSL, the license cannot be changed to prevent code from becoming open-source at the specified change date. The following table lists the current license for non-CCL features for each published release:

### License conversion timeline

CockroachDB version | License | Converts to Apache 2.0
--------------------|---------|----------------------------
24.1 | Business Source License | May 20, 2027
23.1 | Business Source License | Feb 5, 2027
23.1 | Business Source License | May 16, 2026
22.2 | Business Source License | Dec 6, 2025
22.1 | Business Source License | May 24, 2025
21.2 | Business Source License | Nov 16, 2024
21.1 | Business Source License | May 18, 2024
20.2 | Business Source License | Nov 10, 2023
20.1 | Business Source License | May 12, 2023
19.2 | Apache 2.0 | -
19.1 | Apache 2.0 | -
2.1 | Apache 2.0 | -
2.0 | Apache 2.0 | -

## Feature licensing

The table below shows how certain core and Enterprise features are licensed:

Feature | BSL | CCL (free) | CCL (paid)
-----------------|:-----:|:-----------------:|:---------------:
**[Import]({% link {{ page.version.version }}/import-into.md %})** | ✓ | |
**[Export]({% link {{ page.version.version }}/export.md %})** | ✓ | |
**[Restore]({% link {{ page.version.version }}/restore.md %})** | | ✓ |
**[Full backups]({% link {{ page.version.version }}/take-full-and-incremental-backups.md %}#full-backups)** | | ✓ |
**[Incremental backups]({% link {{ page.version.version }}/take-full-and-incremental-backups.md %}#incremental-backups)** | | | ✓
**[Other advanced backup features]({% link {{ page.version.version }}/backup.md %})** | | | ✓
**[Core changefeed](create-and-configure-changefeeds.html?filters=core)** | | ✓ |
**[{{ site.data.products.enterprise }} changefeed]({% link {{ page.version.version }}/create-and-configure-changefeeds.md %}#configure-a-changefeed)** | | | ✓
**[Table-level zone configuration]({% link {{ page.version.version }}/configure-replication-zones.md %}#replication-zone-levels)** | ✓ | |
**[Multi-region capabilities]({% link {{ page.version.version }}/multiregion-overview.md %})** | | | ✓
**[Follower reads]({% link {{ page.version.version }}/follower-reads.md %})** | | | ✓
**[Bounded staleness reads]({% link {{ page.version.version }}/follower-reads.md %}#bounded-staleness-reads)** | | | ✓
**[PL/pgSQL]({% link {{ page.version.version }}/plpgsql.md %})** | | | ✓
**[Node map]({% link {{ page.version.version }}/enable-node-map.md %})** | | | ✓
**[Encryption at rest]({% link {{ page.version.version }}/security-reference/encryption.md %}#encryption-at-rest-enterprise)** | | | ✓
**[Role-based access management]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles)** | ✓ | |
**[Password and certificate authentication]({% link {{ page.version.version }}/authentication.md %})** | ✓ | |
**[GSSAPI with Kerberos authentication]({% link {{ page.version.version }}/gssapi_authentication.md %})** | | | ✓
**[All other core features](https://www.cockroachlabs.com/compare/)** | ✓ | |

{{site.data.alerts.callout_info}}
Individual feature licensing may change with each release of CockroachDB. You can use the dropdown menu at the top of the page to view documentation for other versions of CockroachDB.
{{site.data.alerts.end}}
**Enterprise** <a name="enterprise"></a> | This paid license allows usage of all CockroachDB features with no restrictions under the terms specified in the [CockroachDB Software License][csl]. License must be renewed annually or as negotiated. Support levels available include [Enterprise][support] or [Essential][support].
**Enterprise Free** <a name="enterprise-free"></a> | Same functionality as **Enterprise**, but free of charge for businesses with less than $10M in annual revenue, and telemetry is required except for ephemeral clusters (7 days or less). Clusters will be [throttled](#throttling) after 7 days without sending telemetry. License must be renewed annually. Support level available is Community (i.e., [Docs]({% link {{ page.version.version }}/index.md %}), [Forum][forum], [Slack][slack]).
**Enterprise Trial** <a name="enterprise-trial"></a> | A 30 day self-service trial license. Telemetry is required during the trial (with negotiated exceptions). Telemetry can be disabled once the cluster is upgraded to a paid **Enterprise** license. Support level available during trials is Community (i.e., [Docs]({% link {{ page.version.version }}/index.md %}), [Forum][forum], [Slack][slack]).

{{site.data.alerts.callout_info}}
See [Enterprise Features]({% link {{ page.version.version }}/enterprise-licensing.md %}) for more information.
{{site.data.alerts.callout_success}}
Note that no license key is required for developers running [single-node clusters](#single-node-clusters).
{{site.data.alerts.end}}

## Obtain a license

All CockroachDB code is included in the same binary. No license key is required to access BSL and CCL (Free) features. To access CCL (Paid) features, users have two options:

- An **Enterprise license** enables you to use CockroachDB Enterprise features for longer periods (one year or more). To upgrade to an Enterprise license, <a href="mailto:[email protected]">contact Sales</a>.
- A **Trial license** enables you to try out CockroachDB Enterprise features for 30 days for free. To obtain a Trial license, <a href="mailto:[email protected]">contact Sales</a>.

{{site.data.alerts.callout_success}}
For quick local testing of Enterprise features, you can use the [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) command, which starts a temporary, in-memory cluster with a SQL shell open and a trial license applied automatically.
To obtain a paid **Enterprise** license, <a href="mailto:[email protected]">contact Sales</a>.

To obtain an **Enterprise Free** or **Enterprise Trial** license, take the following steps:

1. Point your web browser to the [CockroachDB {{ site.data.products.cloud }} Console](https://cockroachlabs.cloud) and [log in]({% link cockroachcloud/authentication.md %}#console-ui-authentication).
1. Select **Organization &raquo; Enterprise Licenses** from the nav bar dropdown. This will bring you to the **Enterprise Licenses** page, which shows a (possibly empty) list of licenses and their keys, with information about the status of each.
1. Click the **Create License** button. This will bring you to a page called **Get started with CockroachDB Enterprise**.
1. On this page, you will create an **Enterprise Trial** license or an **Enterprise Free** license.
1. To create an **Enterprise Trial** license:
1. Fill in the form with the required information.
1. Click the **Continue** button.
1. Select the checkbox to agree to the Terms & Conditions of the [CockroachDB Software License][csl].
1. Click the **Generate License Key** button. You will be redirected to the **Enterprise Licenses** page, where you can [start using the key](#set-a-license).
1. To create an **Enterprise Free** license:
1. Fill in the form with the required information.
1. Toggle the switch called **Find out if my company qualifies for an Enterprise Free license**. *By toggling this switch you are legally attesting to the fact that your company revenue meets the requirements of the license*.
1. Click the **Continue** button.
1. Select the checkbox to agree to the Terms & Conditions of the [CockroachDB Software License][csl].
1. Click the **Generate License Key** button. You will be redirected to the **Enterprise Licenses** page, where you can [start using the key](#set-a-license).

{{site.data.alerts.callout_danger}}
You will not be able to create more than one **Enterprise Trial** license per day. If you try, the UI will prevent you from proceeding, and the following message will be displayed:

> A new Enterprise Trial license cannot be created at this time because one was recently created. Tell us more about your intended use to find out if you qualify for an Enterprise Free license, or create a new one after October 16, 2024 at 10:49 AM EDT.
{{site.data.alerts.end}}

{{site.data.alerts.callout_info}}
Cockroach Labs encourages non-commercial academic research involving CockroachDB. For such projects, please [contact us](https://support.cockroachlabs.com/hc/en-us) to discuss a possible licensing arrangement.
{{site.data.alerts.callout_success}}
For quick local testing of Enterprise features, you can [run a single-node cluster](#single-node-clusters).
{{site.data.alerts.end}}

## Set a license

[XXX](): UPDATE LINKED INCLUDE

{% include {{ page.version.version }}/misc/set-enterprise-license.md %}

## Verify a license
Expand Down Expand Up @@ -132,16 +101,16 @@ I171116 18:11:48.279604 1514 sql/event_log.go:102 [client=[::1]:56357,user=root

## Monitor for license expiry

You can monitor the time until your license expires in two ways:
You can monitor the time until your license expires in the following ways:

1. [DB console]({% link {{ page.version.version }}/ui-overview.md %}): The [license expiration message]({% link {{ page.version.version }}/ui-overview.md %}#license-expiration-message) displays the number of days until the expiration date or the days since the expiration date.
1. [Prometheus]({% link {{ page.version.version }}/monitor-cockroachdb-with-prometheus.md %}): The `seconds_until_enterprise_license_expiry` metric reports the number of seconds until the enterprise license on a cluster expires. It will report `0` if there is no license, and a negative number if the license has already expired. For more information, see [Monitoring and Alerting]({% link {{ page.version.version }}/monitoring-and-alerting.md %}).
1. [DB console]({% link {{ page.version.version }}/ui-overview.md %}): Several [license expiration messages]({% link {{ page.version.version }}/ui-overview.md %}#license-expiration-message) may be displayed, depending on the status of your cluster's license.
1. [Prometheus]({% link {{ page.version.version }}/monitor-cockroachdb-with-prometheus.md %}): The `seconds_until_enterprise_license_expiry` metric reports the number of seconds until the license on a cluster expires. It will report `0` if there is no license, and a negative number if the license has already expired. For more information, see [Monitoring and Alerting]({% link {{ page.version.version }}/monitoring-and-alerting.md %}).

## Renew an expired license

After your license expires, the Enterprise features stop working, but your production setup is unaffected. For example, the backup and restore features would not work until the license is renewed, but you would be able to continue using all other features of CockroachDB without interruption.
To renew an expired **Enterprise** license, <a href="mailto:[email protected]">contact Sales</a> and then [set](#set-a-license) the new license.

To renew an expired license, <a href="mailto:[email protected]">contact Sales</a> and then [set](#set-a-license) the new license.
To renew an expired **Enterprise Free** license, follow the steps in [Obtain a license](#obtain-a-license).

## FAQs

Expand All @@ -153,14 +122,42 @@ Yes, employees and contractors can use your internal CockroachDB instance as a s

Hosting CockroachDB as a service means creating an offering that allows third parties (other than your employees and contractors) to operate a database. Specifically, third parties cannot modify table schemas.

### I would like to reuse a single component from the CockroachDB project in my own software, which uses the AGPL or another open-source license. Is this possible?
<a name="throttling"></a>

### What is throttling and how does it work?

When a cluster is being throttled, the number of concurrent open [SQL transactions]({% link {{ page.version.version }}/transactions.md %}) limited to 5.

This will only happen in the following cases:

- The cluster has no [valid license key](#obtain-a-license).
- The cluster is not following telemetry requirements.

There is a 7 day grace period for new **Enterprise Free** clusters to start sending telemetry.

Single node clusters for development use are [not throttled](#single-node-clusters).

### Can I use CockroachDB for academic research?

Cockroach Labs encourages non-commercial academic research involving CockroachDB. For such projects, please [contact us](https://support.cockroachlabs.com/hc/en-us) to discuss a possible licensing arrangement.

<a name="single-node-clusters"></a>

### Do I need a license key for running a single node cluster?

[XXX](): VERIFY EXACT CASES WHERE THIS APPLIES

No license key is required for developers running [single-node clusters]({% link {{ page.version.version }}/cockroach-start-single-node.md %}), including []().

The CockroachDB team is committed to supporting the open-source community and willing to consider extracting specific internal components that are generally useful as a separate project with its own license, for example APL. For more details, feel free to [contact us](https://support.cockroachlabs.com/hc/en-us).
Single node clusters are not [throttled](#throttling).

### Can I fork the CockroachDB project pre-BSL and create my own CockroachDB derivative with a different license?
## See also

You can fork any historical version of CockroachDB in your own project, as allowed by the license available for that version, and modify it for your purpose. Note however that only the copyright holder (Cockroach Labs) can relicense the components that you forked from: your derivative will need to keep the original license at the time of the fork. Any component you copy from a BSL-licensed CockroachDB into your project will make the BSL apply to your project as well.
- [XXX](): ADD SEE ALSO LINKS HERE

### If Cockroach Labs is making available software to me under the Business Source License (BSL), does Cockroach Labs grant me any patent rights?
<!-- Reference Links -->

The BSL does not explicitly reference patents in the text of the license. However, Cockroach Labs believes that the BSL includes an implied patent license and intends that in this case the BSL include an implied patent license under those patent claims that are licenseable by Cockroach Labs which are necessarily infringed by any permitted use of the BSL licensed software alone.
[csl]: https://www.cockroachlabs.com/cockroachdb-software-license
[support]: https://www.cockroachlabs.com/support
[forum]: https://forum.cockroachlabs.com
[slack]: https://www.cockroachlabs.com/join-community
10 changes: 9 additions & 1 deletion src/current/v24.3/ui-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,15 @@ By default, the DB Console shares anonymous usage details with Cockroach Labs. F

## License expiration message

If you have [set a license]({% link {{ page.version.version }}/licensing-faqs.md %}#set-a-license) to use [enterprise features]({% link {{ page.version.version }}/enterprise-licensing.md %}), a license expiration message is displayed at the top-right of the DB Console. While the license is valid, the message will read `License expires in X days`, where `X` is the number of days. If the license is no longer valid, the message will read `License expired X days ago`. Hovering over either message displays a tooltip with the expiration date of the license.
Depending on the status of your cluster's [license]({% link {{ page.version.version }}/licensing-faqs.md %}), the following messages may be displayed in the DB Console:

- If the license will expire soon, the message is: _This cluster will require a license key by ${DATE} or the cluster will be throttled._
- If the license is no longer valid, the message is: _Your license key expired on ${DATE} and the cluster was throttled. Please add a license key to continue using this cluster._
- If the cluster is required to send telemetry but has not been sending it, the message is: _Telemetry has not been received from some nodes in this cluster since ${DATE}. These nodes will be throttled on ${DATE} unless telemetry is received._

For instructions on how to obtain and set a license, see [Obtain a license]({% link {{ page.version.version }}/licensing-faqs.md %}#obtain-a-license).

For more information about throttling and telemetry, see [What is throttling and how does it work?]({% link {{ page.version.version }}/licensing-faqs.md %}#throttling)

## See also

Expand Down

0 comments on commit 8bee77e

Please sign in to comment.