Search
Close this search box.

Reprise Blog

Reprise Software Blog – Your Hub for Licensing Solutions Insights
Stay informed about our products including Reprise License Manager (RLM), RLM Cloud, and Activation Pro. 

 

Learn from our customer success stories, understand the intricacies of different licensing models, and keep up with our ongoing service upgrades.

Comprehensive Guide on Commercial License Types for Software Publishers

As a software publisher, managing your product licenses is crucial to ensuring revenue and protecting your intellectual property. Commercial license managers, such as Reprise License Manager (RLM), provide you with the tools to control the use of your software licenses through various license types. 

 

From node-locked and floating licenses to metered and token-based models, this comprehensive guide will explore the most popular commercial license types and how they can be leveraged to meet the unique needs of your business and customers. Read on to unlock the full potential of your software licensing strategy.

 

Popular Commercial License Types for Software Publishers

The most popular license types offered by commercial license managers include:

 

Node-locked Licenses

A node-locked license is a license grant which allows the software to be used on a particular computer, and on that computer only. Most typically, this license is uncounted, meaning that if the software is running on the specified computer, any number of instances are allowed to execute.

 

In The License File:

Set the count field of the license to “uncounted” or “0” and specify the hostid of the computer in the actual license. Typically, node-locked uncounted licenses do not require a license server, so they are very simple to deploy.

 

Example License:

  LICENSE isvName productName versionNumber expiration count hostid=XXXXXXXX

 


Node-locked, Limited License

A variant of the node-locked uncounted license, it is sometimes desirable to allow only a limited number of instances of the software to run on a particular computer. This is a counted license which is also node-locked.

 

In The License File:

Set the count field of the license to a non-zero value (or “single”) and specify the hostid of the computer in the actual license. This license requires a license server (HOST and ISV lines), unless you use a “single” license.

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName versionNumber expiration count hostid=XXXXXXXX


Floating Licenses

Floating licenses, also known as concurrent-use licenses, allow your software to be accessed and used by multiple users or devices simultaneously, up to a predefined concurrent usage limit. This model provides flexibility for your customers while maintaining control over license usage.

 

Sometimes it is desirable to modify the behavior of a floating license so that all invocations of your product on a single computer use only one license. Or all invocations by the same user. Or all invocations from a particular process tree. In this case, license managers provide a method of sharing a particular license among multiple instances of the product.

 

This shared license approach ensures that your software can be used efficiently, without unnecessarily consuming multiple licenses on the same machine or by the same user. License managers like Reprise License Manager (RLM) offer configurable options to control this shared license behavior, allowing you to optimize the user experience while maintaining the integrity of your licensing model.

 

In The License File:

Set the count field to a non-zero value—this is the number of instances of your application that may be run concurrently. This license requires a license server (HOST and ISV lines).

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName versionNumber expiration count


Named-User License

A named-user license allows a limited number of users access to a floating license. This provides you with a more granular approach to managing your software licenses, enabling you to sell a number of instances to a specific subset of users at the customer site, without having to identify the users at the time you create the license.

 

In The License File:

  • Use a floating license and specify the `named_user` or `named_user=n` attribute in the actual license. 
  • If you specify `named_user`, then your customer can assign as many users as there are licenses available.
  • Specifying `named_user=n` will allow you to set a lower (or higher) limit for the number of users.

 

This license type requires a license server to manage the named-user assignments and enforce the license restrictions.

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName versionNumber expiration count=10 named_user=5 hostid=XXXXXX

In this example, the license allows for a maximum of 10 concurrent users, but restricts the number of named users to 5. This provides flexibility for your customers while maintaining control over the license usage.

 


Metered Licenses

Metered licenses provide a flexible way to allocate and consume software usage based on specific metrics within your application. This allows you to offer more granular pricing and usage models to your customers.

 

For example, you could meter the number of times your program is run (as opposed to the concurrent limit of execution in a floating license). Or you could count the number of pages printed in a word-processing application. Metering also allows you to create a license which will run for a predetermined amount of running time (program running time, as opposed to an expiration date – expiration dates are usually available for all license types).

 

In The License File:

  • Set the `count` field of the license to `meter`, and specify the metering parameters in the actual license. 
  • The metering parameters control how usage is consumed when you call `rlm_checkout()` and subsequently as the application continues to run.

 

This license type requires a license server (HOST and ISV lines) to manage the metering and enforce the usage restrictions.

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName versionNumber expiration count=meter max_prints=1000 max_runtime=3600 hostid=XXXXXX

In this example, the license allows the software to be used for a maximum of 1,000 printed pages or 1 hour of runtime, whichever limit is reached first. The metering parameters are specified in the `max_prints` and `max_runtime` attributes of the license.

 

By leveraging metered licenses, you can offer your customers more flexible and tailored pricing models, while maintaining control over the usage of your software.

 


Token-Based Licenses

Token-based licenses provide a flexible way to define your software licenses in terms of other “primary” licenses that have been issued to your customers. This approach offers several key benefits:

 

Allows you to define several licenses in terms of a single, common primary license. Your customers can purchase many copies of the primary license, then they are allowed to run whatever products are defined to use that license. A big advantage is that as you release new products which use the same primary license, your customers can use these products immediately, creating more contention for the licenses, and additional sales for you.

 

Enables you to create product bundles or packages, where a single token-based license grants access to a collection of your software offerings.

 

Provides a mapping from a particular license request to one or several equivalent licenses. Typically, ISVs are happy to allow more expensive licenses to be used to satisfy the request of a lower-cost product. This allows your customers to keep working while increasing contention for the higher-priced licenses.

 

In The License File:

  • Set the `count` field of the license to `token`, and specify the primary license(s) which are used to satisfy the request for the product. 
  • The token license is generally the same for all your customers, and you issue licenses of the primary license when they purchase your software.

 

This license type requires a license server to manage the token-based license assignments and enforce the usage restrictions.

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName versionNumber expiration count=token primary_license=isvName primaryProduct versionNumber

In this example, the token-based license for “productName” is defined in terms of the primary license for “primaryProduct”. Customers who have purchased the primary license can use the token-based license to access “productName” without the need for additional license purchases.

 

By leveraging token-based licenses, you can offer your customers more flexibility and choice, while streamlining your own license management and product bundling strategies.

 


Maintenance-Thru-Date Licenses

Many software publishers wish to issue a license to their customers that allows the customer to run (forever) any version of the software, which is released through a particular date, e.g., one year into the future. If the publisher releases a new version in 11 months, the customer can use this version as well, but no version which is released more than 12 months later. This is accomplished through a “date-based” version licensing approach.

 

In The License File:

  • Set the `version` field of the license to a date, in the format `yyyy.mm`, and specify the version in your call to `rlm_checkout()` in the same release date format.
  • When you issue licenses, issue them with a version number corresponding to the expiration of their support. So, for example, if you want to issue one-year supported licenses, in May of 2023, you would issue licenses of version `2024.05`. When you release your software in December of 2023, you would request version `2023.12`.

 

Warning: While it is possible to use other date formats, the format above is used by RLM Activation Pro.

 

Example License:

  HOST localhost ANY 5053
  ISV isvName
  LICENSE isvName productName 2024.05 expiration count=uncounted hostid=XXXXXX

In this example, the license allows the customer to use any version of the software released up to and including May 2024. This provides the customer with the flexibility to use the latest versions of the software, while giving the publisher control over the supported release timeline.

 

The “maintenance-thru-date” licensing approach is a powerful tool for software publishers to balance customer needs with their own product release and support strategies.

 


Reprise License Manager (RLM)

In addition to these core license types, commercial license managers like Reprise License Manager (RLM) often provide various license attributes that further restrict the use of your software. Some common attributes include expiration dates, hardware or IP address restrictions, and the ability to revoke or transfer licenses.

 

By leveraging the flexible licensing options offered by RLM, including a variety of commercial license types, you can tailor your software licensing to meet the unique needs of your business and customers. From node-locked and floating licenses to metered and token-based models, RLM provides the comprehensive tools you need to ensure compliance, maximize revenue, and protect your valuable intellectual property. 

 

Take the first step towards smarter, more effective software licensing. Explore the capabilities of RLM and discover how it can transform your business with its advanced commercial license types.

 

Learn More About Reprise Software

Other Posts

New RLM Release (v16.0)

The latest major release of RLM is finally here! Version 16.0 brings an all new web interface with many enhancements over the previous interface, and fixes multiple vulnerabilities related to the web interface. New Features Include: All-new Redesigned UI/UX Most server functions now available directly

Upgrading Our Service: Transitioning to Amazon Web Services

As part of Reprise Software’s ongoing commitment to providing top-tier service and experiences, we are excited to announce a significant upgrade to our hosting infrastructure. In our constant quest for improvement, we have decided to migrate our hosted services to Amazon Web Services (AWS), a

New RLM Release (v15.2)

We are excited to announce the release of RLM v15.2! Version 15.2 adds new platform support and fixes a number of bugs. We have also introduced a new online documentation platform on our website.   Added platform support ensures your customers can run RLM on

RLM Maintenance Release (v15.1BL2) 

We have released a maintenance update to RLM v15.1BL2. This release primarily addresses a critical security vulnerability in the Mongoose web server.   If you have already updated to v15.1, we strongly recommend updating to v15.1BL2.   In addition to addressing this vulnerability we have

New RLM Release (v15.1)

We are excited to announce the release of RLM v15.1, which provides a number of security enhancements, simplifies service installation, and fixes multiple bugs.   Significant improvements, such as the introduction of the Mongoose web server make RLM more secure, while also simplifying installation for

Man types on keyboard to update his software

New RLM Release (v15.0)

We are happy to announce the first production release of RLM v15.0. It fixes multiple bugs, improves workflows, and adds functionality.   After working tirelessly for months to improve our software, we know this RLM release will make license management easier and more streamlined for

RLM and RLM
Activation Pro

What’s the difference?

Reprise License Manager (RLM)

Software License Manager

RLM provides runtime checking that verifies that your application is licensed to run and that the current usage of your application is within the limits you have ser every time your application runs.

As a Software publisher, you integrate RLM into your product, and RLM keeps track at runtime of who is using the licenses of your software.

RLM can do this entirely within the client library (linked into your application), or, more commonly, your application makes a request of the RLM Lincese Server to check out a license.

The lincese server runs either on your customers network, or in the cloud if you are using our RLMCloud™ service.

RLM provides runtime checking that verifies that your application is licensed to run and that the current usage of your application is within the limits you have ser every time your application runs.

RLM Activation Pro

Software Activation Manager

Activation Pro is
used once when your customer purchases your software in order to retrieve the license which is specific to that customer.

Software Activation’s purpose in life is to get the licenses for your product to your customers with a minimum of fuss.

Activation Pro also has a server component wich we call the activation server.

Your application contacts the activation server and supplies a short text activation key, and in exchange, the activation server returns the license which enables your product.

Generally, this is done once, right after your customer purchases your software, not every time your software is invoked.