From For Publishers

Various topics pertaining to the technology of license management, both internal to license managers and the use of license managers in software products.

8 Software Licensing Ideas that Improve Revenues in a Slow-growth Economy

As the economy slows down, software vendors must re-think business as usual.  This post contains Software Licensing ideas that improve revenues when the economy slows down.

Every software vendor eventually encounters a slowdown at some point. When overall capital expenditures are declining it’s almost inevitable that software vendors will feel the pinch too. In addition to redoubling your efforts to improve your core products, the key to successfully riding out a recession is to adopt new software licensing programs.

Regular readers of this blog already know that the best way to stay agile in this changing world is to integrate a license manager within your software. Here are some specific Software Licensing ideas that improve revenues for your marketing/sales teams to help you grow in a softening economy.

1. New Pricing/Payment Models
Slowing sales mean that it’s time to get creative with licensing. If you are now selling only permanent licenses, consider going to time-limited licenses, both to add recurring revenue and to avoid “giving away” too much value. Try selling annual licenses to reduce the upfront cost of your licenses.  Price the annual licenses at a level that will increase your revenue over time.  Also consider a pay-per-use scheme for those customers who prefer to be billed that way.

2. License High-Value Components Separately
Some software vendors use an economic dip to decouple some of their high-worth software modules from their basic product so that prices can be reduced on the basic product while still capturing higher revenue from those customers who are will to pay for the more expensive options. The lower cost of the basic version can open up new accounts and increase your market share as well.

3. “Productize” what you used to give away for free
A lot of companies who use a license manager are not, strictly speaking, software companies at all.  Many technology companies often “throw in” software as a kind of “enabler” or loss-leader, focusing instead on collecting revenue from hardware sales or consulting fees. Wherever there is perceived value in software, there is also potentially untapped incremental revenue.

4. Increase your Maintenance Subscription Rate
License Managers are very useful tools to ensure that your customers use only the software versions for which they have paid support fees.  Try using the version number field in your licenses to encode a support-expiration date in the form yyyy.mmdd (2015.0531).  Let a license manager compare it to the “release date” of each version so that your customers must remain current with their maintenance payments in order to access newest releases.

5. Scale your Licenses by Geographical Scope
Use a license manager to restrict licenses by time zone or region to penetrate new markets at a much lower cost. Sales gains can be realized by charging a premium for licenses that allow use across wider geographies. Sell higher priced licenses to organizations whose software usage needs to span wide geographies. Allow these customers to use your licenses as their teams “follow the sun.”

6. Deepen Penetration within your Existing Customers
Often the best source of new license revenue is found within your existing customers. Not all users within a customer are the same. So try creating license classes that are specific to each user type. A license manager makes it easy to build one release image of your product that takes on different functional behaviors (“lite”, “basic”, “advanced” etc.), each one determined by the specific license key you issue. You can later sell upgrades by supplying an additional license key to turn on greater functionality. The pricing of these various classes of licenses should match the value that different user types ascribe to your software.  Examine software usage patterns to create a balanced set of licensing options that appeal to the widest audience within your best customers.

7. Lower customer cost by Hosting License Servers in the Cloud
Sales increases can also result by lowering your customers cost of ownership.  In cases where your customers prefer not to install on-premises license servers, offer them license servers in the cloud.  This may remove barriers that IT groups sometimes erect when they are asked to manage licensed software, speeding product evaluation and deployment. Once licenses are served in the cloud, customers can then expand their usage by simply adding extra licenses to their cloud-managed pool, including new releases and options.

8. Find a lower-cost Software Licensing Vendor
While you are looking for new revenue sources, you might also consider making changes on the other side of the ledger. If you are tired of paying ever higher fees to use your old third party license manager, maybe it’s time to consider a lower cost alternative. Reprise Software is in the sweet-spot in this regard – providing a world-class license management system at a much more affordable price.


JTB World adds RLM support

JTB World adds RLM support to its Usage Reporting Tools

Reprise Software is pleased to announce that JTB World has added support for RLM into its suite of license usage reporting tools.

These tools can be used by you or by your customers to monitor historical usage for departmental charge backs or usage-based pricing models.

You can find out more here:

Please contact JTB World directly for more information.

Which RLM Edition is best?

Three Editions of Reprise Software Licensing Toolkits – which RLM Edition is best for you?

Reprise Software now offers three licensing toolkit editions addressing the software licensing needs of cost-conscious ISVs.  This article compares the three editions to help you decide which RLM edition is best for you.

Reprise Software offers “RLM”, “RLM-Embedded”, and “RLM-ez.”  Each edition is a complete solution with tools for integrating license enforcement  into your applications, and for generating licenses to enable them. They all are based on a common set of licensing apis. How do they compare?


Reprise Software’s flagship product is RLM.  It contains all of the bells and whistles that users have come to expect from the best in enterprise class software license management.  RLM was designed by the same team that brought you FLEXlm, so in a sense RLM is the next generation of software licensing solutions.  RLM is used by hundreds of independent software vendors who deliver millions of licenses to users, worldwide.

RLM supports a wide array of software licensing models including floating or concurrent user, named user, and many others. RLM includes the RLM License Server that supports a full built-in admin interface.  The RLM License Server produces reports logs that are easy to parse into usage and billing reports using 3rd party tools, or tools that you write using the well-documented, open report log format specification. Reprise Software’s Activation Pro product supports Internet activation for RLM licenses.

First introduced in May of 2006, RLM supports the widest selection of platforms.


Like RLM-ez, RLM-Embedded as a toolkit that supports node-locked licenses only, but with a rich api to support an unlimited number of products, and optional Internet activation via Activation Pro. RLM-Embedded uses the very same api as RLM, so if you upgrade to RLM, then you need to make no source code changes.

As you would expect, RLM-Embedded is offered at a much lower price point that the full RLM product.  In addition to supporting Windows, Linux, and Mac, RLM-Embedded supports some Unix platforms as well.

RLM-Embedded was first released in September, 2009.


RLM-ez addresses simple node-locked licensing styles only.  If you simply want to make sure your software can run only on authorized computers, then RLM-ez is a good choice.  It uses industry standard digital signature technology so that you can deliver tamper-proof text-based licenses that are locked to your customer’s computer.

The RLM-ez API is very simple, with only a handful calls.  A typical use case for RLM-ez is when you want your customers to freely download your application for a trial period without you having to get involved.  This works well for low cost software where special hand-holding for licensing would be cost prohibitive.  When your customer wants to buy, he sends you his hostid, you generate a license, and email it back. Done.

RLM-ez pricing is a small one-time fee, per product, per platform. RLM-ez is supported on all the major desktop platforms, including Windows, Linux, and Mac.

RLM-ez was first released in March, 2014.

Please contact the Reprise Software Sales Team for more information and detailed pricing.

Reprise Announces RLM-EZ

RLM-EZ – An Entry-Level Licensing Kit

Reprise Software’s RLM-EZ is an entry-level, easy-to-use software licensing kit that allows software developers to enforce a node-locked licensing model from within software applications. RLM-EZ is aimed at developers who are looking for a reliable, low-cost software licensing system from a trusted, experienced vendor.

Software publishers integrate RLM-EZ into their products by calling a simple programming interface. RLM-EZ is not a wrapper. To “checkout” a license, you simply specify your product’s version. RLM-EZ looks for a valid license and either grants or denies the license request. If denied, the RLM-EZ API returns the reason why so you can take the appropriate steps in your product.

RLM-EZ includes a simple license generator for making secure, digitally-signed licenses.

RLM-ez supports applications written in C, C++, .Net and Java, and any other languages that can call a DLL or shared library.


  • Secure licensing library linked into your applications, not a wrapper
  • Easy to understand api
  • Supports applications written in C, C++, .Net and Java
  • Available on Windows 32bit, Windows 64bit, Linux 32bit, Linux 64bit, Mac 32bit, and Mac 64bit.


  • Node-locked licenses
  • Various HostID choices to lock licenses
  • Pre-integrated dongles available
  • Short text license file with digital signature
  • Public-key/Private-key security
  • Expiration dates
  • Version numbers
  • n-Day Demo/Trial/ Evaluation licenses
  • Clock wind-back detection

RLM-EZ is our entry level product.  There are no annual fees, no royalties, and no per-license charges.

Please contact Reprise Sales for more information about RLM-EZ and how it compares to Reprise’s other licensing solutions, RLM, and RLM-Embedded.

Using Software Activation to hande Decommissioned Computers

Did your customer’s computer really crash? – using software activation to verify.

Here’s the picture:  A software publisher’s support hot-line rings. The caller reports that his computer has crashed, and that he needs another software license for a new replacement computer right away. What to do?

Software publishers strive to ensure that their customers are not inconvenienced by software licensing issues. When a computer crashes, users scramble to find a new one.  They re-install their applications and contact their vendors to obtain new licenses. Software publishers provide a new license as quickly as possible, but how do the publishers know that the old license will be permanently retired and not put back into service if the old machine is repaired someday.  This is an especially important issue for software publishers who sell perpetual licenses.

Many software publishers handle this scenario by asking their customers to sign a form that certifies that the old license has been destroyed and that it will not be put back into service.  This provides a modest hurdle to dissuade customers from taking advantage of the software vendor’s easy license replacement policy.  Other publishers require a license transfer to be associated with an order, so that there is a paper trail that the company agrees that the old license is not to be used, verified by a purchase order coming from the company.  But, today software vendors who use an Internet software activation service, such as Reprise’s Activation Pro, have better methods to handle this case and others like it.

With Activation Pro, software applications are “activated” over the Internet.  Activation performs two important jobs: delivering licenses to users 24×7, and leaving behind a record of each fulfillment. Each fulfillment record contains:

  • activation key that was used
  • user’s computer hostid to which the license was issued
  • user’s IP address
  • date and time of the first and last fulfillment using that key
  • other data that the application wishes to associate with the activation event, and
  • a copy of the license that was delivered to the user

So, how do you use RLM and Activation Pro to handle a crashed or decommissioned computer?  Using RLM and Activation Pro, applications can periodically request the status of the fulfillment from the Activation Pro database.  If the fulfillment is valid, the application runs as normal. But, if the ISV deletes the fulfillment record from the Activation Pro database because the computer was reported to be crashed or decommissioned, the application can know to deny service.

When using this model, the license should include the activation key used to fulfill the license.  This way the application can check out the license at runtime to determine if it is valid, retrieve the activation key and the hostid from the license, then check the status of the fulfillment. The application will find out whether the license is still valid, or whether the fulfillment has been deleted.

Implementation details of the method described here can be found in the RLM and Activation Pro Reference Manuals on the Reprise Website.

Using RLM Activation Pro to Support Subscription Licensing

Subscription Licensing

Software publishers are adopting subscription licensing models at an increasing rate. Subscriptions help to smooth license revenue from recurring fees while attracting customers with lower entry costs.

Using RLM Activation Pro, an ISV can sell subscription licenses that have expiration dates years into the future. When users are connected to the Internet, applications can periodically request the status of the subscription from the Activation Pro service.  If the subscription is valid, the application runs as normal. But, if the user cancels his subscription or fails to renew, the ISV marks the activation key as “disabled” so that the application can know to shutdown.  The activation record can be re-enabled if the customer reinstates his subscription later.

This method minimizes the ISV workload because action only needs to be taken when the user cancels the subscription, or fails to renew.

RLM licenses that support a subscription model should include the activation key in the license itself.  This way the application checks out the license at runtime to determine if it is valid, retrieves the activation key and the hostid from the license, then checks the status of the subscription. The application will find out whether the license is still valid, or whether the activation key is disabled.

Implementation details of the method described here can be found in the RLM and Activation Pro Reference Manual.

Integrating License Activation with an Ecommerce System

Integrating license activation with an ecommerce system using RLM Activaiton Pro

Software vendors, especially those selling low-cost products that require little tech support, often want to know about integrating license activation with an Ecommerce system.

Here are 4 simple steps to integrate RLM Activation Pro with a typical Ecommerce system.

1. With RLM Activation Pro, interactively define your products in terms of the licenses that you want to issue. You will need to do this only once for each different license type that you plan to issue to enable your product. In this step you will decide the duration of the license (some number of days, a fixed date, or permanent), and license type (node-locked, single, etc), and any other licensing options.

2. With RLM Activation Pro, interactively generate a batch of activation keys that correspond to the product that you defined in step 1. You must specify how many activations are allowed for each activation key, usually “1”.  Optionally, you can set an expiration date for each key which will disable the key after that date. By default, RLM Activation Pro creates activation keys that look like 16-digit credit card numbers. If you wish to add some context to each key, you can provide a prefix for the batch which will result in each key being preceded by the prefix, as in the “prod1” sample set below. You can create up to 9,999 activation keys per batch.

3. Export the batch of keys you just created to a tab-delimited or comma-separated file.  Sample set of keys below:

4. Import the activation key list into your ECommerce system as a set of “external, pre-generated” serial numbers.

When your customer orders and downloads your software from the Ecommerce system, it will assign the next unused activation key to this transaction and send it to the customer in an email message.  When the customer runs your software for the first time, it will prompt for the user for this key.  The RLM api used to activate the application will take care of the rest by connecting to the RLM Activation Pro site to retrieve the right license, and store it locally for the user.

ECommerce systems will let you know by email when the count of unused activation keys is running low, at which point you will repeat steps 2-4 above.

Recommended RLM Installation Steps

Reprise Software’s Recommended RLM Installation Steps

[Note: This information is in the RLM Reference manual, in the “End-User Installation” chapter, but we felt it was important enough to repeat here.]

Installing your product with RLM should be very straightforward, and should require no configuration of environment variables, etc.


On the client side, ie, on the machines where your application is going to run, place the license file in your product hierarchy. For nodelocked licenses, this should be the actual, signed license file, and nothing needs to be done to this license file. For floating, this license file will be used only to locate the license server host.

If you ship floating licenses, install the server binaries and license file on the server node. The server license file doesn’t need to be modified.

Nothing in this set of recommendations requires the use of environment variables, and the install-time editing of license files is kept to a minimum (No editing of license files for nodelocked licenses, and only the server hostname needs to be set on the client side for floating licenses).


During development:

  • establish a directory in your installed product tree for license file(s). This could be the same directory where your product is installed.
  • Pass the directory from the step above as the first argument to rlm_init().

When you ship a nodelocked license:

  • If you are shipping uncounted or single node-locked licenses, put the actual licenses into the license file. Install in the default directory. You’re done.

When you ship a floating license:

  • If you are shipping floating licenses, use a single HOST line in the license file for the client side. Use the default RLM port (5053) – which means you do not need a port number in this license file, and fill in the hostname with the name of the server computer at installation time. This license file should look like this:

HOST server-hostname

  • On the server node, place the rlm binary, your ISVsettings file (or ISV server binary), and the license file in a directory. This license file should have the real, signed licenses. The server hostname in this file can be “localhost”, meaning that it doesn’t have to be edited by the end-user. The server license file’s first two lines should look like this:
    • HOST localhost hostid
      ISV your-isvname

By configuring the license file this way, it does not need to be edited by your customer. These lines tell RLM to:

  • use the default port (5053)
  • use the ISV server settings or binary from the same directory as the rlm binary

Of course, you would include all your signed LICENSE lines in this file as well.

  • Start the rlm server from the directory in the step above

If your customer already has another RLM server running:

  • Install your ISV settings or server binary and the license file in the same directory as the other product’s copy of the server binaries and license files, and do a “reread” operation on the running rlm. That’s it, however:
  • If your version of RLM is newer than the installed version, update the installed version to your version, then shut down the running rlm and start the new one.

If you ship new, additional licenses to your customer:

  • Put the new license file in the same directory as the old one. If they are nodelocked licenses, put them on the client system. If they are floating licenses, put them into the directory with your other licenses and do an rlmreread on the license server.