Software licensing is a legal agreement between an organization and a software vendor that grants permission for the installation and use of software on a workstation or network. The terms of usage are specified in the details of the license agreement and are unique to each vendor. Over time, vendors have established a number of different types of licensing arrangements that vary in terms of how the licenses are counted, the way the licenses are distributed, and, most importantly, cost. This note reviews the most common software licensing models. The usage scenarios and the advantages and disadvantages of each arrangement are informed by Dinesh Bettadapur’s IEEE article, “Software Licensing Models in the EDA Industry.”
User or Device Licensing
User or device-based licensing ties a software license to a particular workstation (hardware-locked) and/or a specific user (user-locked). With hardware-locked licensing, the software is installed on a single machine with a specific hardware configuration and can be used by multiple users. User-locked licensing ties the software licensing to a specific named user, granting the user permission to use the application. In some scenarios, user licenses may enable the use of multiple devices that the named user can utilize.
Most commercial desktop software is licensed using this model (e.g. Microsoft, Adobe). However, cloud-based software deployments are changing the licensing landscape. Device-based licensing is typically the most inexpensive license for organizations purchasing small quantities of software and remains the most dominant software licensing model in the market.
When to opt for device- or user-based licensing:
- In the early phase of tool deployment (i.e. when piloting an application).
- If the base of users is calculable.
- If users require dedicated access to the application (1:1 license/user ratio is needed).
- If device-based licenses are of particular use when shared devices are being employed.
Table 1. Pros and Cons of Device- or User-Based Licensing
Source: Dinesh R. Bettadapur in “Software Licensing Models in the EDA Industry”
Pros |
Cons |
|
|
Server-Based Licensing (or “Floating” Licensing)
Server-based (or “floating”) licenses are indexed (or assigned) to a particular server. They allow a complete network of workstations to access the application by “floating” between workstations based on use/need. This assumes a finite number of CPUs per server. The main limitation is the operational impact of having too many workstations accessing the system.
The advent of multi-core processor servers has led to interesting shifts in the server-based licensing model. Some organizations calculate cost based on each additional processor (counting by core), while others charge per connection (counting by socket). Counting by processor assumes that each core has the same computing potential, which isn’t always the case. In response, some of the larger vendors have opted to treat multi-core technology as a single processor or to calculate each core as a percentage of a processor.
When to opt for server-based licensing:
- There are a large number of users at a single site.
- You only need a small set of licenses to be shared by a large set of users (e.g. 1 license per 5+ users).
- You have both dedicated-user and batch-user scenarios.