Introduction to License Management

If you have used other license management products, you can skip this chapter. If you are new to license management, however, we have included an overview of how license management products operate.

The purpose of a license manager is to allow a software vendor (ISV) to flexibly price and license their product(s) for delivery to their customers. At their most basic level, license managers like RLM allow an ISV to deliver concurrent-use (floating) or fixed (node-locked) licenses to their customers. In the case of node-locked licenses, no license server is needed with RLM and other advanced license managers. Most license managers offer many other license types for delivery to customers, and these vary from license manager to license manager. The next chapter, License Models, describes the various ways you can license your software with RLM.

License managers differ from Copy Protection because license managers give advantages to the ISV’s customers as well. License managers allow your customer’s organization to know that they are using purchased software within the license limits set by you, their ISV. In addition, license managers collect usage information (at the customer’s option) for later reporting and analysis. If your license manager is open and transparent, this usage information is provided in a fully documented report log format.


First, a few definitions

Definitions

Terms

How used in this manual

license manager

A software component which keeps track of the right to use a software product

product

Your software.

product name

The name used by the product to request its license.

license

The right to use a product, incorporated into a short text description. Referred to by the product name.

check out

The act of requesting a license for a product.

check in

The act of releasing the license for a product.

node-locked (license)

A license which can be used only on a particular specified computer.

floating (license)

A license which can “float” on a network, in other words, one which can be used by anyone who can access the license server.

license server

Part of the license manager which controls access to licenses. The License Server is an optional component, typically only required when floating licenses are used.

ISV

Independent Software Vendor, i.e., your company.

Hostid

An identification for a particular computer used by the license manager to either node-lock a particular application, or to specify where the license server can run.


License Manager Overview

License managers control the allocation of licenses to use software products. They do this by allowing a product to check out and check in a named license. The license manager keeps track of which users and computers can use these licenses, and, if the license is a floating license, the license manager keeps track of how many copies of the license are in use.

Most license managers provide APIs with calls to control many of the aspects of licensing behavior. In addition, license managers provide license administration options to control the behavior of the license servers. These options are specified in server option files or via command-line or web-based administration tools.

First-generation license managers took the approach of providing extremely complex APIs and internal license server options to control license policy, with relatively less control contained in the licenses themselves.

Unlike the first-generation license managers, the design philosophy of RLM is to preserve the simplicity of the system for both ISVs and license administrators by avoiding all unnecessary options in the client library and the license servers and moving as many of these options to the license file as possible, where they are visible and understandable by everyone.

In general, even when API calls are available to control it, it is good practice to keep license policy out of the application and the license server, and place it into the license itself, to the extent that the license manager allows this to be done. This makes for a more understandable licensing system for both ISVs and license administrators. This results in much more standard behavior of application licensing from ISV to ISV. The Reprise team learned this the hard way when we supported thousands of customers in the past, and we applied these lessons to the design of RLM.


License Types and Attributes

Commercial license managers will allow an ISV to control the use of their licenses using various License Types. The most popular license types are:

  • node-locked (runs on a specified node only)

  • floating (available anywhere on a network, up to a concurrent usage limit)

  • token or package-based

Another common license type is metered (i.e., a limited number of executions or limited time of execution).

In addition, most licenses will contain various attributes which further restrict their use. Some common attributes are:

  • expiration date

  • start date

  • highest available software version

  • named-user (i.e., the license can only be used by a particular user)

  • allowed platform for the application


License Manager Components

Most commercial license managers consist of 3 components:

  • A client library (or wrapper)

  • A license server, and

  • A license description repository (typically a license file)

RLM is similar in structure to most popular license managers. RLM uses the client library, rather than the wrapper approach. The RLM license servers consist of a pair of servers – the generic rlm server along with an ISV-specific server. Finally, RLM uses a license file as the repository for license descriptions.

While some license managers require the license server in all cases, RLM node-locked licenses do not require a license server – only your application and the license file.


How To Deliver Licenses To Your Customer

Typically, licenses are delivered in text form to license administrators. Long ago, this was done via phone/fax/magnetic media. Today, the most common license delivery mechanism is the internet, either via email or automatic activation from an activation server at the ISV site.

RLM licenses are always 100% ASCII text, and can be delivered by any convenient means, however email and activation are by far the most common delivery mechanisms.