Implementing License Models

You can easily implement any licensing model using license templates, or by overriding the properties of the license template when creating a license. The latter allows you to create a variant without creating a new template.

License template configuration for different licensing models

Each licensing model you want to implement may require a different license template configuration. We will now list the license template configuration for implementing the different licensing models. You may combine different configurations to implement your licensing model.

Perpetual

A perpetual license has lifetime validity.

Property

Value

validity

0

Subscription

A subscription expires after a specific duration of time. When a license expires, LexActivator will return LA_EXPIRED status code.

Property

Value

validity

>0

Node-locked

A node-locked license is bound to a machine on which the license was activated. It means that the license key cannot be re-used on any other machine (if the license allows a single activation/seat).

If the license allows multiple activations (multi-seat), then after all the activations are used, the license key cannot be used on other machines.

Property

Value

type

node-locked

User-locked

A user-locked license is essentially a node-locked license only. It just ensures that different users (OS users) on the same machine are prevented from re-using the same license.

Property

Value

type

node-locked

userLocked

true

Hosted-floating

A floating license is temporarily bound to a machine for a specific amount of time. When the time expires the activation (seat) is automatically freed up (if not renewed), so that any other machine can use the license.

Hosting-floating option lets you implement a floating licensing model without requiring your customer to install a floating server in its network.

Property

Value

type

hosted-floating

leaseDuration

>0

leasingStrategy

per-machine

Hosted-floating (instance-locked)

Instead of temporarily locking a floating license to a machine for a specific amount of time, you can also bind it to the application instance (process).

This is useful in case your app is running inside a VM (which can be cloned) or Docker (and you want to charge your customer for each instance).

Property

Value

type

hosted-floating

leaseDuration

>0

leasingStrategy

per-instance

On-premise-floating

A floating license is temporarily bound to a machine for a specific amount of time. When the time expires the activation (seat) is automatically freed up (if not renewed), so that any other machine can use the license.

The on-premise-floating option lets you implement a floating licensing model in environments which may or may not be connected to the internet. Your customer is required to install LexFloatServer in its network. The number of floating licenses the on-premise LexFloatServer can lease is determined by the allowedFloatingClients property.

Property

Value

type

on-premise-floating

leaseDuration

0, >0

allowedFloatingClients

>0

Single-seat

The number of machines a license key can be used on is determined by the allowedActivations property.

Property

Value

allowedActivations

1

type

node-locked, hosted-floating

Multi-seat

A single key can be used on multiple machines if the value of allowedActivations property is greater than one.

Property

Value

allowedActivations

>1

type

node-locked, hosted-floating

Unlimited-seat

You can allow an unlimited number of seats for a license (site license), and restrict the site using an IP address or location.

Property

Value

allowedActivations

0

type

node-locked, hosted-floating

allowedIpAddresses

[125.67.123.43]

Named-user

A license activation only requires a license key. In case you want to enforce user authentication for license activation, you can set requireAuthentication property to true.

This also requires linking the user to the license at the time of license creation.

Property

Value

type

hosted-floating

leasingStrategy

per-instance

leaseDuration

>0

requireAuthentication

true

Last updated