Skip to content

Commit

Permalink
More updates
Browse files Browse the repository at this point in the history
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
  • Loading branch information
IanMadd committed Oct 6, 2023
1 parent b6d7d66 commit 7767df2
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 59 deletions.
36 changes: 14 additions & 22 deletions content/licensing/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,22 @@ aliases = ["/chef_license.html", "/chef_license/", "/license/"]
weight = 10
+++

Either the [Chef End User License Agreement (Chef EULA)](#chef-eula) or your commercial agreement with Progress Software Corporation governs commercial distributions of Chef products. The [Apache License, Version 2.0](#apache-20) governs the reuse of source code of open-source Progress Chef projects.
This document gives an overview of Chef product licenses and license tiers.

Chef licenses come in [three different license tiers](#license-tiers) depending on your use case.
Before you can use distributions of Chef products, you must [accept the Chef End User License Agreement (Chef EULA)](accept).

Before you can use distributions of Chef products, you must [accept the Chef license](accept). You must also [add a license key](add_license) if you use the following products:
The following products also require a [license key](license_key):

- Chef InSpec 6 or greater

Licensing is available for non-profit, research, and academic organizations through a special, free, or highly discounted commercial license in [Progress Chef's Non-Profit Entitlement Program](https://www.chef.io/nonprofit-entitlement-program).

## Licenses

All Chef products are governed by the [Chef End User License Agreement (Chef EULA)](#chef-eula) or the [Chef Master License and Services Agreement (Chef MLSA)](#chef-mlsa). The source code of open-source Chef projects is governed by the [Apache 2.0 license](#apache-20).

Third-party software included in our distributions may have individual licenses which are listed in the `/opt/<PRODUCT-NAME>/LICENSE` file. You can find individual copies of all referenced licenses in the `/opt/<PRODUCT-NAME>/LICENSES` directory.

### Chef EULA

The [Chef End User License Agreement (Chef EULA)](https://www.chef.io/end-user-license-agreement) or your commercial agreement with Progress Software Corporation
Expand All @@ -38,7 +42,7 @@ The [Chef Master License and Services Agreement (Chef MLSA)](https://www.chef.io

### Apache 2.0

The [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) governs the reuse of source code of open-source Progress Chef projects--including Chef Infra Client ("chef"), Chef InSpec, and Chef Habitat--unless specified otherwise in the project's repository.
The [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) governs the reuse of source code of open-source Progress Chef projects---including Chef Infra Client ("chef"), Chef InSpec, and Chef Habitat---unless specified otherwise in the project's repository.
Source code is released publicly through repositories in these organizations:

- [Progress Chef](https://github.com/chef)
Expand All @@ -53,22 +57,10 @@ For further questions, please contact [Chef Developer Relations](https://communi

## License tiers

Progress Chef offers three license tiers that have different entitlements: free, trial, and commercial.

| License | Duration | Features | Intended environment | Support Model | Intended uses |
|------------|------------------------------------|--------------------------------|-----------------------------------------|-----------------------------------------------------------|----------------------------------------------------|
| Free | Perpetual requiring annual renewal | Basic | Non-production workloads | Community support in Slack | Personal and non-commercial use |
| Trial | 30-days, renewable up to 90 days | Advanced functionality enabled | Non-production workloads | Community support in Slack and solution architect support | Evaluate products in a non-production environment. |
| Commercial | Renewable and upgradable | Advanced functionality enabled | Production and Non-production workloads | Support by contract | Enterprise workloads |

## Usage data

The Progress Chef EULA requires that basic license information be transmitted to Chef for all products.
The basic license information collected includes which Chef applications are in use, their versions, and the license(s) that govern those products.

Licensed customers may opt to send additional telemetry and usage data to Progress Chef.
This telemetry is used to tailor recommendations to customers, develop new features, and optimize the customer experience.
Progress Chef offers three license tiers that have different entitlements: Free, Trial, and Commercial.

<!--
Can the customer see this data? Can they opt-in / out regularly? Link to another article on what this is, maybe the telemetry service?
-->
| License | Duration | Environment | Support | Uses |
|---|---|---|---|---|
| Free | Unlimited | Non-production workloads | Community support in Slack | Personal and non-commercial use |
| Trial | 30 days | Non-production workloads | Community support in Slack and solution architect support | Product evaluation in a non-production environment |
| Commercial | Renewable | Production and non-production workloads | Support by contract | Enterprise workloads |
64 changes: 48 additions & 16 deletions content/licensing/accept.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
+++
title = "Accepting the Chef License"
title = "Accept the Chef License"
draft = false
gh_repo = "chef-web-docs"
aliases = ["/chef_license_accept.html", "/chef_license_accept/"]

[menu]
[menu.overview]
title = "Accepting License"
title = "Accept License"
identifier = "overview/licensing/Accepting License"
parent = "overview/licensing"
weight = 20
+++

This page aims to document how to accept the Chef license and set a license ID for all Progress Chef products.
For an overview of the license, see the [Chef license](/licensing/) documentation.
Progress Chef has two licenses: MLSA and EULA. The MLSA applies to customers with a commercial contract with Progress Chef, and the EULA covers all other cases.
This document describes how to accept the Chef license.

For an overview of Chef's license, see the [Chef license](/licensing/) documentation.
Progress Chef has two licenses: Master License and Services Agreement (MLSA) and End User License Agreement (EULA).
The MLSA applies to customers with a commercial contract with Progress Chef, and the EULA covers all other cases.

## Accept the Chef MLSA

Expand All @@ -37,28 +39,58 @@ Products below are split below into two categories: workstation and server. Affe
- Chef InSpec \>= 4.0
- Chef Habitat \>= 0.80

These products are typically installed on a user's workstation. Two common methods for accepting the license are:

1. `--chef-license <value>` argument passed to the command line invocation.
1. `CHEF_LICENSE="<value>"` as an environment variable.
`<value>` can be specified as one of the following:
1. `accept` - Accepts the license and attempts to persist a marker file locally. Persisting these marker files means future invocations don't require accepting the license again.
1. `accept-silent` - Similar to `accept` except no messaging is sent to STDOUT
1. `accept-no-persist` - Similar to `accept-silent` except no marker file is persisted. Future invocation will require accepting the license again.
These products are typically installed on a user's workstation. You can accept the Chef EULA using a [command line option](#command-line-option) or [environment variable](#environment-variable).

If no command line argument or environment variable is set, these products will attempt to request acceptance through an interactive prompt. If the prompt can't be displayed, then the product will fail with an exit code 172.

If the product attempts to persist the accepted license and fails, a message will be sent to STDOUT, but product invocation will continue successfully. In a future invocation, however, the license would need to be accepted again.

Please see [License File Persistence](https://github.com/chef/license-acceptance#license-file-persistence) for details about persisted marker files.

The `--chef-license` command line argument isn't backwards compatible to older non-EULA versions. If you are managing a multi-version environment, we recommend using the environment variable as that's ignored by older versions.

Products with specific features or differences from this general behavior are documented below.

### Command line option

Use the `--chef-license <value>` argument to accept the Chef EULA.

```sh
inspec exec profile_name --chef-license <value>
```

Replace `<value>` with one of the following options.

`accept`
: Accept the license and attempts to persist a marker file locally. Persisting these marker files means future invocations don't require accepting the license again.

`accept-silent`
: Similar to `accept`, but no messaging is sent to STDOUT.

`accept-no-persist`
: Similar to `accept-silent`, but no marker file is persisted. Future invocation will require accepting the license again.

### Environment variable

Use the `CHEF_LICENSE="<value>"` environment variable to accept the Chef EULA.

```sh
export CHEF_LICENSE="<value>"
inspec exec profile_name
```

Replace `<value>` with one of the following options.

`accept`
: Accept the license and attempts to persist a marker file locally. Persisting these marker files means future invocations don't require accepting the license again.

`accept-silent`
: Similar to `accept`, but no messaging is sent to STDOUT.

`accept-no-persist`
: Similar to `accept-silent`, but no marker file is persisted. Future invocation will require accepting the license again.

#### Chef Workstation

Chef Workstation contains multiple Progress Chef products. When invoking the `chef` command line tool and accepting the license, users are required to accept the license for all the embedded products as well. The same license applies to all products, but each product must have its own license acceptance. `chef <command> --chef-license accept` will accept the license for Chef Workstation, Chef Infra Client, and Chef InSpec. For example, `chef env --chef-license accept`.
Chef Workstation contains multiple Progress Chef products. When invoking the `chef` command line tool and accepting the license, you must accept the license for all the embedded products as well. The same license applies to all products, but each product must have its own license acceptance. `chef <command> --chef-license accept` will accept the license for Chef Workstation, Chef Infra Client, and Chef InSpec. For example, `chef env --chef-license accept`.

#### Chef Infra Client

Expand Down
20 changes: 0 additions & 20 deletions content/licensing/add_license.md

This file was deleted.

49 changes: 49 additions & 0 deletions content/licensing/license_key.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
+++
title = "Add a Chef License Key"
draft = false
gh_repo = "chef-web-docs"

[menu]
[menu.overview]
title = "Add License Key"
identifier = "overview/licensing/Add License"
parent = "overview/licensing"
weight = 30
+++

This page describes how to add a license key to a Chef product.

You can find your license key on the [customer support portal](https://community.progress.com/s/products-list).

## Products

The following products require a Chef License key to run:

- [Chef InSpec 6 or greater](/inspec/license/)

## Add license key

Chef products accept a license key with either an environment variable or as a command line argument.

License data is stored locally in configuration file at `$HOME/.chef/licenses.yaml`.

### Command line option

Use the `--chef-license-key` command line option to add a license key.

For example

```sh
<CHEF_PRODUCT_COMMAND> --chef-license-key <LICENSE_KEY>
```

### Environment variable

Use the `CHEF_LICENSE_KEY` environment variable to add a license.

For example

```sh
export CHEF_LICENSE_KEY=<LICENSE_KEY>
<CHEF_PRODUCT_COMMAND>
```
2 changes: 1 addition & 1 deletion content/licensing/terms.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ gh_repo = "chef-web-docs"
+++

Node
: An individual component of your system, physical or virtual (for example, a server, workstation, IP router, virtual machine, or another device or component) that's assessed, installed, configured, updated, scanned and/or managed using any Chef product.
: An individual component of your system, physical or virtual (for example, a server, workstation, IP router, virtual machine, or another device or component), that's assessed, installed, configured, updated, scanned and/or managed using any Chef product.

Scan
: A rules-based inspection of a target. There can be many scans applied to a target.
Expand Down

0 comments on commit 7767df2

Please sign in to comment.