Files
payloadcms/docs/production/licensing.mdx
2021-03-01 08:39:23 -05:00

85 lines
5.8 KiB
Plaintext

---
title: The Payload License
label: Licensing
order: 30
desc: Payload is free to use locally for development purposes. You can purchase a license when you are ready to deploy, or to receive support from Payload developers.
keywords: licensing, production, fields, config, configuration, documentation, Content Management System, cms, headless, javascript, node, react, express
---
## Try it for free
Payload is free to use locally for development purposes for as long as you like. There is no obligation to sign up for either a free or paid account until it's time to deploy to production or you'd like to receive support from Payload developers. At that time, you can sign up for a license and manage your licenses from your [Payload account](/account). For information on plans and available packages, see the [pricing](/pricing) page.
## Signing up for a license
Payload offers three license options that are meant to give you the flexibility you need for your project:
##### Personal
Completely free forever. Only one email address can be used to access the admin panel, but all other features that Payload offers are available. You still need to [sign up for a license key](/checkout) to be given a Personal license, but no credit card is required!
##### Team
Economically priced for small teams of five admin users or less. The Team package also includes automatic support for as many staging or UAT-style domains that you need.
##### Pro
Unlimited admin users, staging domain support, and dev-to-dev support directly with the Payload team. With this package, you can use the Payload Admin panel for customer-facing account management and much more.
**To sign up for a license,**
1. Complete the [checkout](/checkout) process. Choose your plan and billing period, if applicable, and you'll be provided with a license key after successfully checking out.
1. Within your project, add your license to a `.env` variable, and then add the `license` property to your `payload.init()` call.
`server.js`:
```js
const payload = require('payload');
payload.init({
license: process.env.PAYLOAD_LICENSE_KEY,
// the rest of your init options
});
```
3. All set! You can open the Admin panel of your Payload application on a public domain and your copy of Payload will be fully licensed.
## How Payload license enforcement works
Payload licensing is enforced only through its Admin panel. Each time the Admin panel is loaded, a request is made to our licensing server that evaluates the domain that the panel was loaded from. We then verify that you have a valid, active license key and that the domain being used matches the license accordingly.
<Banner type="success">
<strong>Note:</strong><br/>
Your Payload APIs will always be available, regardless of subscription status. This means you can have peace of mind that your critical operations relying on your API will not going to be hindered because of a lapse in billing issue or a network problem between systems. Only the Admin panel will be affected.
</Banner>
### How to choose the domain for your license
Payload licenses are specific to **one** domain, but you can use your Payload API from an unlimited amount of sources. However, you can *only access your Payload Admin panel from one domain*. This means that when you are selecting the domain you'd like to tie to your Payload license, you should choose the domain that you'd like to use to access your admin panel in production.
**Examples:**
- If you'd like to access your admin panel from a subdomain like `api.yourdomainhere.com/admin`, you would use `api.yourdomain.com` for your license.
- If you'd like to access via a root-level domain like `coolsitehere.com/admin`, you would use `coolsitehere.com` for your license.
<Banner type="success">
<strong>Note:</strong><br/>
Even though your Payload license is tied to one domain, you can use your Admin panel for dev purposes however and wherever you'd like.
</Banner>
#### Within the Team and Pro plans, how does Payload know if the license is being used for staging or production purposes?
Our licensing service checks for any of the following criteria to determine if your domain is regarded as `production` or `development`:
1. If your Admin panel was loaded from an `ip`
1. If it includes a port other than `80` or `443`. For example: `dev.example.com:8000`
1. If your domain includes any of these keywords: `test`, `testing`, `dev`, `stage`, `staging`, `sandbox`, `acc`, `acceptance`, `demo`, `local`, `loc`
### FAQ
1. **Why am I paying for open-source software?** Payload is not open source. You can view the code, but that doesn't mean it is free. A subscription license is required for production use you're not permitted to take parts of Payload for your own purposes. Those details aside, we are like an open-source software in that we encourage our community to participate as they see fit by exploring the code, reporting any issues to our [issue tracker](https://github.com/payloadcms/payload/issues) and you can even go as far as opening pull request if you wish.
1. **Do you have educational or non-profit pricing available?** It would make us very happy to support your organization through the use of Payload. Please [contact](/contact) us to get started. We will ask to see verification of your organization's status.
1. **Can I transfer a license?** You can change the domain name of a license in your Payload account by clicking on the license domain name, finding the "Change domain" link and following the instructions. If you need to transfer ownership to another user or organization, you can [contact us](mailto:info@payloadcms.com) for help.
### Read the full license
You can read the entirety of the Payload license directly in the distributed NPM package or in the Payload source code at [github.com](https://github.com/payloadcms/payload/blob/master/license.md)