Author: admin

101 License Models – Nodelocked Licenses

Restricting Usage: Nodelocked Licenses

A while ago, we wrote a blog post titled 101 license models, and a followup on unrestricted license models.  In this post, we explore the second set of license models described in that post – Nodelocked Licenses.  To review, the Nodelocked Licenses we described are:

  • uncounted
  • computing environment limited
  • customer name
  • detached demo
  • expiring
  • single
  • license type (beta, demo, eval)
  • maintenance-thru-date
  • options
  • permanent
  • platform-limited
  • software version
  • timezone-limited
  • upgrade other licenses
  • user-locked
  • VM enabled

Because these licenses are locked to a machine or user, they are more restrictive than the previously-described unrestricted license models.

You use nodelocked licenses when you want to restrict how and where your software is used.  Since nodelocked licenses do not require a license server, your customer is up and running with a minimum of fuss.

What you can do with Nodelocked Licenses

With nodelocked licenses, you have quite a bit of flexibility – you can:

  • allow any user running your software on the nodelocked machine access,
  • allow only a single copy of your software to run on the (specified) machine,
  • provide an expiration and/or a start date for the license,
  • create options so that you have an opportunity to upsell to your customers,
  • specify that the license is not usable on a virtual machine,
  • include the customer name, for use in a startup screen.  This often deters software theft.

Sometimes our customers use user-locked licenses, which are locked to an operating system’s notion of the user name rather than the computer’s hostid.  While it is possible to have multiple humans logged in as the same user name, this can be inconvenient for certain applications.

In addition to all these options, you can also upgrade a license to a newer version when a customer stays on maintenance.

We will explore the other main License Model categories in future blog posts.

Maintenance-Thru-Date Licenses

Creating Maintenance-Thru-Date Licenses

Many software publishers wish to issue a license to their customers which allows the customer to run (forever) any version of the software which is released before a particular date.  We call this a “maintenance-thru-date” license.  A typical example is that the customer is allowed to run any software released up to 12 months after their original purchase of the software.  If the publisher releases a new version in 11 months, the customer can use this version as well, but they cannot use any version which is released more than 12 months later.

A “maintenance-thru-date” license is implemted with a “date-based” version.  Briefly, you request a version of your software which encodes the release date, and you generate licenses with versions that specify the last release date which can be used.

To implement this in your product, do the following:

  • set the version field of the license to a date, in the format,
  • specify the version in your call to rlm_checkout() in the same date format, with a date corresponding to the date of release.
  • When you issue licenses, issue them with a version number corresponding to the expiration of their support.

For example, if you want to issue a one-year supported license in May of 2016, you would issue a license of version 2017.05 to your customer. When you release your software in December of 2016, you would request version 2016.12 and the 2017.05 license would work for this version of your software.  When you release again in July of 2017 (with a requested version of 2017.07), your customer will not be able to run that release of your software.

It is certainly possible to use other date formats, however, the format above is used by RLM Activation Pro and it seems as good as any.


Software License Management and The Dongle

Software License Management and The Dongle.

Dongles have had a long and checkered past when used for Software Copy Protection and Software License Management. In the 1980’s and 1990’s ISVs selling high-value desktop and/or workstation class software to scientific and engineering customers needed to “lock” their software so that it can’t be shared with others.  If even a single unlicensed copy is used,  a serious revenue hit would result.  What to do?

Dongles provide serial number to lock licenses
Along came the dongle.  Well, it wasn’t originally called a dongle. It was a “hardware key” or “security key” or “security block”, and many other names including product names like hasp. In any case, the dongle, as it is now commonly known, was a solution to the software locking problem. It was a primitive physical device consisting of some simple electronics that, when queried through software, returned a factory-preset serial number to which a software product could be tied. This was a boon to software developers who at the time were experimenting with using, of all things, floppy disks as keys.

Weaknesses soon found
But, as soon as the use of dongles became more widespread, inherent problems surfaced.  Early dongles used parallel printer ports of the PC (remember those?).  Dongles were designed to allow printers to connect pass-thru style, but since these ports often had non-standard electrical characteristics including power differences, dongles sometimes failed in the field.

Failed dongle == failed software.  Not good.  So, ISVs kept FedEx and UPS busy, sending overnight dongle replacements – the cost of the overnight trip exceeded the cost of the dongle. Other problems surfaced too: dongles were lost or stolen, users failed to install updated software drivers to keep up with OS revisions, the dreaded dongle-snake appeared (so many dongles chained together that they literally fell off the PC), etc.

Along comes PC networking
But the biggest factor in the dongle’s demise was the arrival of PC networking.  Once networks became popular, software could be tied to the hardware address of the ethernet communication card. Licenses began to be shared over the network as software license managers (like RLM) exploited the power of interconnected users to allow even casual users access to valuable software licenses.

Dongles still solve license mobility problem
So, dongles waned in popularity as a general solution for licensing software, but they found a new use – to lock the license manager’s license server to a computer.   Dongles allow the license server to be moved by the end-user without involvement from the software publisher.  Also, today, dongles are much cheaper, more reliable and are usually connect via USB ports – making them easy to attach to a modern PC.

Today’s floating license management and dongles
Floating licensing provides a mechanism for licenses to be shared among networked users. The whole license pool can be locked to a single server using either the server’s host ID or a dongle acting as a proxy for the server’s ID. In this way the license manager encodes the dongle’s serial number as part of the pool of licenses

Software License Management and The Donglethat it serves. By using advanced functionality in license managers, like the concept of “roaming” in the Reprise License Manager, the user can disconnect his laptop, and take his licensed software on the road temporarily while the licenses appear to be “in use” back at the office. When he returns to the office, his license is put back into the pool for all users to share once again.


Supporting Virtual Machines
In addition to the mobility advantages of dongles, virtual machine software dedicates the USB port to a single VM instance, so using a dongle is a good way to lock a license server to an instance of a virtual machine, without worring about the license server being replicated across the network.

Dongles are still an important part of a complete software license management strategy, and will likely remain so for some time.

GiGa Infosystems Selects RLM

GiGa Infosystems selects RLM to Simplify Licensing


Without much experience in the field of software licensing, ISV GiGa infosystems evaluated several commercial license server suppliers in 2012. The main goal was, and still is, to issue licenses easily and also be able to create licenses for evaluation purposes to our customers.

The ease of implementation and flexibility of the RLM solution compared to the competitors made the decision easy for the staff.

RLM allows us to issue licenses, as we need them within seconds: limited in time (e.g. evaluation), limited seats (floating licenses) or a combination of both.

Our customers who are using RLM are pleased by the simple steps, which are required to install RLM within their infrastructure. All issued licenses are transparent to the end user.

GiGa infosystems is start-up from Germany providing a database solution for 3D geology. This innovative software solutions brings several benefits to its users: possibility of format conversion, coordinate transformation, simultaneous multi-user access, management of large scale 3D models as well as versioning of the data. Furthermore the stored data can be viewed within a web browser front-end making it possible to communicate the results.

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.

Drillscan uses RLM to Increase Efficiency

Drillscan uses RLM to Increase Efficiency and Overcome the Limitations of Dongles


DrillScan was using an in-house software licensing library since 2004 based upon a commercial hardware dongle solution.

Although functional, this solution lacked flexibility due to limited storage space on the dongle. In addition, special knowledge was required to prepare dongles to send to customers. It was especially cumbersome for trial versions that required sending physical packages all over the world.

After testing various commercial software-based licensing solutions in 2012, we chose the Reprise License Manager for its performance, feature set, price and extensive API, allowing us to tailor it to our needs.

Using the generic RLM license server alone saved us months of development time and testing on multiple platforms. We were able to quickly implement RLM within our software while maintaining the degree of flexibility we were hoping for.

Through a custom web interface, creating an RLM license is quick and easy, and costs for license renewal and sending trial versions are reduced to almost nothing.

Nearly all of our customers now use the new RLM software licensing scheme and the feedback was very positive both in terms of ease to set up and the flexibility to create licenses tailored to customers needs.

About DrillScan
DrillScan is a French company founded in 2001 with the goal of providing expert services and innovative software to the drilling industry. Our expertise is based on the results of 25 years of research carried out with French Institutions, and extensive laboratory and field validations in collaboration with operators. DrillScan provides solutions in the fields of directional drilling, torque & drag & buckling, and drill string mechanics.

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.