Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Licensing FAQs for v24.3 release #19002

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

rmloveland
Copy link
Contributor

@rmloveland rmloveland commented Oct 10, 2024

Addresses:

Summary of changes:

  • Update 'Licensing FAQs' with the following:

    • Information about the new licensing tiers

    • Instructions for self-serve Enterprise Trial and Enterprise Free
      licenses in Cloud Console

    • Updated information about how to monitor for license expiry in DB
      Console (with a link to updated UI docs that include the exact
      messages)

    • A description of what throttling is and how it works

    • A note that single-node developer clusters do not require a license
      key

  • Update 'DB Console Overview > License expiration message' with the
    specific messages that may be emitted by Console depending on the
    status of the cluster's license

Rendered previews:

NB. These changes only apply to v24.3 docs right now, but once reviewed and approved, these changes will also be backported to v23.1+ docs and sit on a branch awaiting the relevant point releases of those versions in November.

@rmloveland rmloveland marked this pull request as draft October 10, 2024 15:59
Copy link

github-actions bot commented Oct 10, 2024

Files changed:

Copy link

netlify bot commented Oct 10, 2024

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit 880e613
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-interactivetutorials-docs/deploys/671baf934b8ac100086faf9e

Copy link

netlify bot commented Oct 10, 2024

Deploy Preview for cockroachdb-api-docs canceled.

Name Link
🔨 Latest commit 880e613
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-api-docs/deploys/671baf932f61a700085da4f1

Copy link

netlify bot commented Oct 10, 2024

Deploy Preview for cockroachdb-docs failed. Why did it fail? →

Name Link
🔨 Latest commit 01e6c09
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-docs/deploys/6707f9dd2b59a200080844f7

Copy link

netlify bot commented Oct 10, 2024

Netlify Preview

Name Link
🔨 Latest commit 880e613
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-docs/deploys/671baf93a80f260008ade9c2
😎 Deploy Preview https://deploy-preview-19002--cockroachdb-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@rmloveland rmloveland force-pushed the 20241010-DOC-11203-update-licensing-faq branch from df3f405 to 836c8ca Compare October 15, 2024 16:13
@rmloveland rmloveland force-pushed the 20241010-DOC-11203-update-licensing-faq branch 5 times, most recently from 846a969 to e66bbd2 Compare October 21, 2024 15:52
@rmloveland rmloveland marked this pull request as ready for review October 21, 2024 15:53
Addresses:

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

Summary of changes:

- Update 'Licensing FAQs' with the following:

  - Information about the new licensing tiers

  - Instructions for self-serve Enterprise Trial and Enterprise Free
    licenses in Cloud Console

  - Updated information about how to monitor for license expiry in DB
    Console (with a link to updated UI docs that include the exact
    messages)

  - A description of what throttling is and how it works

  - A note that single-node developer clusters do not require a license
    key

- Update 'DB Console Overview > License expiration message' with the
  specific messages that may be emitted by Console depending on the
  status of the cluster's license
@rmloveland rmloveland force-pushed the 20241010-DOC-11203-update-licensing-faq branch from e66bbd2 to 681e7dc Compare October 21, 2024 15:55
@rmloveland
Copy link
Contributor Author

@jaiayu could use your feedback on basically this whole PR. This is a first step; next I'll plan to add an 'Enterprise Licensing Workflows' page which contains the self-serve license info as well for easier finding / sharing, probably with more info too. Also a 'Telemetry' page. But this at least gets the basic instructions and info written down (I hope) - but please let me know if you see something wrong or missing

@spilchen please look at the stuff about throttling and developer single-node clusters and let me know if anything is wrong or missing

@dhartunian please look at the changes to the 'DB Console Overview > License expiration message', I've updated it to match the telemetry notices/warnings shown in DB Console based on some screenshots you shared a while back. I'm adding it here so folks can search for the exact strings in docs. Please let me know if the text of the messages has changed. Also i'm open to any other feedback re: stuff that is wrong or missing

Thank you!

Copy link

@spilchen spilchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had a couple of questions and clarificatons.

src/current/_includes/common/set-enterprise-license.md Outdated Show resolved Hide resolved

This will only happen in the following cases:

- The cluster has no [valid license key](#obtain-a-license).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does "valid" simply mean the license doesn't exist? Throttling can also occur if you're operating with an expired license beyond the grace period:

  • Free: throttles 30 days after expiration
  • Trial: throttles 7 days after expiration
  • None: throttles 7 days after cluster initialization
  • Enterprise: never throttles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for laying this out explicitly, i have updated this section a bit to try to add the info and hopefully make things clearer - please let me know what you think

This will only happen in the following cases:

  • The cluster is not following telemetry requirements.
    • There is a 7 day grace period for new Enterprise Free and Enterprise Trial clusters to start sending telemetry.
  • The cluster has an expired license key; depending on the type of expired license, the cluster will be throttled after the following time periods:
    • Enterprise: Never throttles
    • Enterprise Free: Throttles 30 days after expiration
    • Enterprise Trial: Throttles 7 days after expiration
    • No license: Throttles 7 days after cluster initialization

src/current/_includes/common/licensing-faqs.md Outdated Show resolved Hide resolved

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We left out any mention of evaluation licenses. Was that intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what are "evaluation licenses" - is that something different than the self-serve Enterprise Trial license? perhaps something that is handed out directly by sales? I'm not seeing the text "evaluation" or "evaluation license" in the product brief

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The evaluation license type existed previously (see 1.1.3 in the product brief). My understanding is that they are used for POCs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @spilchen for the catch, i just reviewed that list again, it seems we are missing multiple items from that list, my bad

@jaiayu do you want me to replicate here all of the license types from the product brief? specifically, it looks like we're missing:

  • Evaluation
  • Development
  • Pre-production

Or is it our preference that those license types are described and managed via interactions with a Sales process vs. being described in the public user documentation?

I'm asking because up until now we have not listed out such licenses - current FAQ says there is:

  • Apache
  • BSL
  • CCL

And doesn't talk about dev, eval etc licenses.

Presumably dev, eval, etc. licenses also existed under the previous regime, but we never documented them before

Happy to do it now if you want, please let me know

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rmloveland I think it might be a good to mention that there is an option to evaluate CockroachDB without the telemetry requirements by contacting Sales.

I'm not sure if we should list out the "Evaluation" license key, or if we should just say "Contact Sales if you want to try CockroachDB without telemetry requirements or if you require an extended trial period."

Copy link
Contributor

@dhartunian dhartunian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DB Console text LGTM.

We will enforce the sending of telemetry within the DB if the customer has a Free/Trial license (they can't disable via the cluster setting), so if they get a telemetry send error, it will be due to a firewall configuration or a network issue. Is it worth mentioning that somewhere?

-------------|------------
**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]).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@spilchen and @dhartunian - elsewhere you each commented that Enterprise Trial clusters must send telemetry - i also just reviewed the product brief - not sure why I wrote this "(with negotiated exceptions)" clause but I'm removing it FYI

@rmloveland
Copy link
Contributor Author

@dhartunian :

DB Console text LGTM.

yayyy thanks

We will enforce the sending of telemetry within the DB if the customer has a Free/Trial license (they can't disable via the cluster setting), so if they get a telemetry send error, it will be due to a firewall configuration or a network issue. Is it worth mentioning that somewhere?

I added a line to reference this in the 'Types of Licenses' section, PTAL

Clusters with Enterprise Free or Enterprise Trial licenses cannot disable telemetry; if such a cluster signals a telemetry sending error, it will be due to firewall configuration or a network issue.

@@ -0,0 +1,9 @@
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._
Copy link

@jaiayu jaiayu Oct 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this error is only displayed if there is no license key in the first place (not is expiring soon)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't actually display a message when the cluster is expiring soon. We only display the banner alerts when the license has actually expired and the cluster is in a grace period before clusters are throttled:

"Your license key expired on . The cluster will be throttled on unless a new license key is added. Learn more"

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._
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This message is technically displayed after a grace period and not immediately after a license expires. I don't think we need to advise users about the grace periods, but I'm wondering if we should say "if your cluster was throttled because of license validity issues..." or something along those lines.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a separate message displayed if the cluster was throttled because no license key was ever added: "This cluster was throttled because it requires a license key. Please add a license key to continue using this cluster. Learn more"


- 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._
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a separate message displayed after the throttling occurs due to telemetry requirements:
"Telemetry has not been received from some nodes in this cluster since . These nodes were throttled on July . Learn more"

Type | Description
-------------|------------
**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]).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like the "ephemeral" language here is confusing. I would delete ", and telemetry is required except for ephemeral clusters (7 days or less)".

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we mention the "7 days without sending telemetry" for the Enterprise Free license and not the Enterprise Trial license? I think these should be the same in terms of telemetry.


{{site.data.alerts.callout_success}}
Note that:
- Clusters with no license have a 7-day grace period before needing to install a license and start sending telemetry data.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove the "and start sending telemetry data" part. New clusters can use any license key, doesn't have to be a telemetry license.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also mention that this is useful for ephemeral development clusters.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually - we should think about how to phrase this in docs but:

Self-hosted clusters without a license key are restricted to development purposes only. Development purposes includes non-production use in an internal development environment for design, prototype, or development purposes only. This restriction is enforced through license terms and conditions.

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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should mention that you must have "Organization Admin" permissions

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*.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should have another step after toggle the switch saying "Fill out the additional information". I think the disclaimer "By toggling..." should be moved to this next step.

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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this stage, they may not qualify for the Free license. If they don't qualify, we will give them a Enterprise Trial license instead.

{{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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mentions an actual date and time.


## Set a license

{% include common/set-enterprise-license.md %}
Copy link

@jaiayu jaiayu Oct 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a disclaimer here that you cannot apply a Enterprise Trial license more than once to a cluster? If a cluster has already had an Enterprise Trial before, they cannot get another one.

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

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 %}).
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Enterprise Free and Trial clusters, we also notify you in the CC console under the Enterprise Licenses section. We will also send emails accordingly.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also log via Cockroach Logs when clusters are at risk of being throttled due to license expiration (or telemetry requirements). In addition, the database generates warnings and errors in response to SQL transactions.

This will only happen in the following cases:

- The cluster is not following telemetry requirements.
- There is a 7 day grace period for new **Enterprise Free** and **Enterprise Trial** clusters to start sending telemetry.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be "new" clusters only. Any time there is an interruption in telemetry, the grace period should start.

- **Enterprise**: Never throttles
- **Enterprise Free**: Throttles 30 days after expiration
- **Enterprise Trial**: Throttles 7 days after expiration
- No license: Throttles 7 days after cluster initialization
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this "No license" point doesn't make sense under this section on "expired license key". I think this should be broken out into its own point.


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

This will only happen in the following cases:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Throttling would also happen when you patch upgrade a core cluster (i.e., no license key and running a Core-supported version) to a Core-not-supported patch. These clusters get a 30 day grace period to de-risk impact to prod clusters.


### Can I use CockroachDB for academic research?

Cockroach Labs encourages non-commercial academic research involving CockroachDB. For such projects, please [contact us][support] to discuss a possible licensing arrangement.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They can use Enterprise Free license for this purpose. No need to contact us.

- [`cockroach start-single-node`]({% link {{ page.version.version }}/cockroach-start-single-node.md %})
- [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %})

Single node clusters are not [throttled](#throttling).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be good to add that you should only be using clusters without a license key for development purposes (not prod).

@@ -149,7 +149,7 @@ 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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we should delete this. This alert will still be around and is relevant for Enterprise licenses. We are adding some more prominent banner alerts for when the cluster is at risk of getting throttled.

Copy link

@jaiayu jaiayu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rmloveland finished providing feedback to this version. Let me know if you have any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants