LICENSING OF DESKTOP APPS
You can find more information about the general licensing features of SLASCONE (applying to desktop/mobile/SaaS/Iot) here. This section focuses on the specific requirements of desktop applications.
Despite the exponential growth of Web/Mobile/SaaS applications in recent years, plenty of (legacy or new) desktop applications exist. It is important to distinguish between standalone desktop applications (without user management and sign-in process) and desktop applications which are just clients of an application server (usually authenticating them and giving them access to backend services). This section addresses standalone desktop applications.
Such applications are usually (but not necessarily) activated using license keys. Typical licensing requirements include:
- Easy installation activation/deactivation.
- No need for new license keys upon license change (e.g., new features, new expiration date).
- Ability to offer named and/or floating licensing models.
- Self-Service (performed by the end-customer) license migration (from installation A to installation B).
- Guaranteed compliance: the license can not be (mis)used in a non-compliant way.
- Identify suspicious activity (activations).
This is the most trivial licensing scenario: the licensee receives a license key, which can be used/activated only on one device (e.g., Windows, MAC). In this context, this license can be considered an installation license, since it requires the generation of a unique device id.
This license key can not be activated on a different installation, unless it is first unassigned from the initial installation. This ensures that a license key can be activated only on one installation at any given moment.
Floating (also known as concurrent) licensing models are based on the number of maximum installations that are allowed to be simultaneously active. Practically, this means that there is no restriction on the number of devices that the software can be installed and activated using the same license key. However, upon program start, the licensing service checks if there are available tokens. If not, then this client has to wait until another disconnects in order to use the software.
Obviously, floating scenarios require a central component/authority for session management (making sure the number of allowed sessions is not exceeded), that standalone applications are lacking. This is where SLASCONE comes into play, undertaking this role.
It is important to underline, that named and floating models are not mutually exclusive. SLASCONE allows you to create named and floating license keys, allowing you to offer both models for your end-customers.
Typically, vendors use the expiration date to prevent a perpetual usage of the software. However, there are cases in which the customer is allowed to perpetually use software Version X, but not Version X+1. Such scenarios can be implemented in SLASCONE.
A license needs to be generated automatically (API) or manually (UI). 3rd party integration with back-office systems is crucial.
The generated license has to get activated. Typically, this happens when a user enters the license code in a predefined field.
Unassignment and re-assignment of user and/or devices needs to be made as easy as possible.
After activation, the device periodically synchronizes with the license server.