Supporting multiple license types within one product

We would like to license our product using multiple license types. In particular:

  • NL licenses with online and offline activation
  • FL on-prem
  • (optionally) FL hosted

Our first use case is as follows:

  • Our customers in 80% of cases run our software in air-gapped environment.
  • We issue NL licenses for their pilot implementation.
  • As they adopt our product and purchase more and more licenses, managing NL licenses becomes a hassle and we transition them to FL licensing model with on-prem licensing server embedded in our management solution.
  • We want just to be able to issue them FL license after their NL licenses expire and they continue using same software uninterrupted.

Our second use case is similar to first with these differences:

  • we can start with FL Hosted license for the pilot
  • we transition customers from FL Hosted to FL on-prem for the mass deployment.
  • this is rather niche case and can be always always covered by use case 1 but it make user experience more better :slight_smile:

Is there a way to achieve all of this with one product?

PS, I’ve implemented all these use cases with solution from Reprise in the past and it covers all these use cases but their management interface sucks and I’m exploring alternatives.

PPS, I used Cryptlex before Reprise but those were your early days and your solution was lacking many features it has now.

Hello @dtoubelis-qbt

I’m glad to hear you are reconsidering our service. Within a product, it is possible for you to utilize all licensing models with no limitations.

However, once issued, a license type cannot be changed, for example, you can not update a Node-Locked license to be a Hosted Floating license. Therefore, in both use cases, you would have to issue a new license to the user, the workflow for which can be automated easily.

For the second use case, you would have to switch client libraries from LexActivator to LexFloatClient to be able to support OnPremise Floating Licenses.

Let me know if that answers your question.