By staff

Post Use Billing

Post Use Billing – an alternative to Subscription or Permanent License Grants

There are situations where it is impossible to anticipate the level of usage of a software package before it is actually used.  In cases like this, a fixed number of permanent licenses or subscriptions may not satisfy your customer’s needs.  Many ISVs and their customers prefer a licensing option which allows the software to be used in excess of some predetermined limit, and then invoiced after-the-fact for the actual usage which exceeds this limit. This type of license model has been referred to as Pay-Per-Use, or Metered or Post Use Billing.Post Use Billing

Of course, your life is full of real-world examples of post use billing: your water bill, your electric bill, etc.  Why not adopt this common model to software as well?

RLM supports most flavors of this license model with a combination of metered licenses and an authenticated usage report log.

RLM supports metered, or pay-per-use licenses, with the METER keyword in the license line. When you create a METERed license, the license server maintains a number of meters each with an individual count. When your application runs, the license server decrements the meter after each successful license checkout, and (optionally) periodically while the application continues running.  To utilize this effectively, the license server needs to be under your control, ie. not installed on your customer’s network.  RLMCloud is perfect for this, since you control the servers and hence the meters.

Alternately, you can issue more floating licenses than your customer has purchased, then use the report log to determine usage in excess of the purchased licenses.  At the end of the month, for example, you would invoice your customer for the excess usage.   This is possible because RLM’s usage report logs are authenticated  so that you can verify that they haven’t been modified.  Even better, if the license servers are under your control in RLMCloud, you have continuous access to the report logs.

By using a Post Use Billing license model in addition to your normal permanent or subscription licenses, you can help your customers utilize your software more effectively as well as increase your revenues.

RLM and RLM Activation Pro – what’s the difference?

RLM and RLM Activation Pro

rlm-and-rlm-activation-pro

Sometimes people are a bit confused by the Reprise product line, in particular, wondering about the difference between RLM and RLM Activation Pro. The two products work together, and both products involve a server component, so that’s the basis for the confusion.

Let’s start with a couple of definitions:

  • RLM (the Reprise License Manager) is a software license manager. You (a software publisher) integrate RLM into your product, and RLM keeps track at runtime who is using your product licenses. RLM can do this entirely within the client library (linked into your application), or, more commonly, your application makes a request of the RLM License Server to “check out” a license. The license server runs either on computers in your customer’s network, or in the cloud if you are using our RLMCloud service. Your application uses RLM every time it runs to verify that the license rights are still present, thus enabling use. RLM, however, never gets involved in the issuing of the actual license files to your customers.
  • RLM Activation Pro, on the other hand, is a Software Activation product. Software Activation’s purpose in life is to generate and dispense the license files for your product to your customers with minimum fuss. Activation Pro also has a server component which 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.

So in summary, RLM provides runtime checking that your application is licensed to run and that the current usage of your application is within the limits you have set, every time your application runs. Activation Pro is used once at the time your customer purchases your software in order to retrieve the license file which is specific to that customer.

HighQSoft Moves to RLM

HighQSoft Moves to RLM and Introduces Licensing.

Previously, at HighQSoft, (server-side) software solutions were either distributed without Highqsoft Moves to RLMlicensing for trusted customers or with hard-coded user limits. Although this resulted in wide utilization of the software, it also risked a potential loss of revenue. While upgrading the products to include new and market relevant features, the decision was also made to introduce licensing.

Protecting the products and thereby increasing sales were only part of the idea. HighQSoft’s OEM customers demanded a transparent licensing process for them to adhere to internal purchase and compliance requirements. “Introducing a transparent license management solution was not only a benefit to us as a company but was also welcomed by our clients,” according to Dr. Ralf Nörenberg, HighQSoft’s Assistant Director.  As another benefit, the confidence to introduce the products to emerging markets , e.g. Asia was strengthened.

Introducing RLM licensing into HighQSoft’s products was quite seamless but also had its challenges due to server-side aspects and target environments of customers usually being cut off from their intranet. Licensing has improved the relationship with customers as well as increased their general satisfaction. The utilization of RLM through Activation Pro works well and is frequently updated by Reprise.

About HighQSoft

For over 25 years, HighQSoft GmbH is an independent and premium partner for the development of measurement data management systems. For our clients, who mostly are from the automotive industries and adjacent branches, we develop complex infrastructure solutions to manage generated test data from engine test stands, wind tunnels, crash test and even self-driving vehicles.

Our leading products are utilized world-wide to be the backbone of quality assurance to have vehicle innovations become high quality series products. We are specialized in the development of software server applications to preprocess, store and manage, access and analyze measurement or test data. Next to distributing our software products, we offer a variety of IT consultancy to our customers in the main markets of Germany, USA and Japan.

Our customers value our consequent focus on the domain of Technical Computing (CAD).

101 License Models – Unrestricted License Models

Unrestricted License Models

A while ago, we wrote a blog post titled 101 license models.  In this post, we will explore the first set of license Unrestricted License Modelsmodels described in that post – the Unrestricted License Models.  To review, the Unrestricted License Models we talked about are these:

  • any
  • customer name
  • demo
  • expiring
  • license type (beta, demo, eval)
  • maintenance-thru-date
  • options
  • permanent
  • serial number
  • software version
  • user-locked

These licenses are not locked to any machine or license server.  In other words, they work anywhere.  So, given that a customer can use as many of these licenses as they want, why would you ever want to use one of these?

One reason may be that you want to restrict how a license is used, as opposed to how many copies of that license can be used.  At Reprise, we license RLM to an ISV, but we do not restrict how many develpers can use the development kit, nor do we restrict how many copies of their application that can be used.   We do this by using an unrestricted license model – we lock the RLM license to the ISV’s short name (what we call the ISV name).  Once “out in the world”, a customer can only have software from one ISV of a particular name, so multiple companies would not use the same ISV name to license their software.  This provides sufficient licensing protection for our software.  A customer who has purchased an RLM license would get a permanent license with this ISV name, whereas a demo customer would get an expiring license with an ISV name of “demo”.

Another Reprise product that is licensed in this way is our Activation Pro product.  This is a server-based product, and the real value comes from having a single server that activates the licenses for an ISV’s customer, but we allow our ISVs to run multiple copies of this server, primarily so that they can do testing on a second installation.

Similarily, a product could display a customer’s name in a splash-screen.  Most legitimate businesses would not want another company using software that was licensed to them by name.

Frequently, our customers use user-locked licenses, which are locked to an operating system’s notion of the user name.  While it is possible to have multiple humans logged in as the same user name, this becomes inconvenient.

Also, ISVs might license their main program using floating or node-locked lienses, while some ancillary program or utility uses one of these unrestricted license models so that there is some amount of control, but provides convenience to their customers.

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

Engineering Technology Associates (ETA) Upgrades to the Reprise License Manager (RLM)

ETA switches to RLM

ETA switches to RLM

ETA had used an in-house proprietary license solution for many years. With a growing customer base and increasing complexity of its product portfolio, there is new demand for a more flexible and more reliable license system.

After evaluating several licensing products, ETA found that RLM met all of its requirements:

  • Cross platform (Windows, LINUX/UNIX and Mac OS)
  • Advanced network license server (failover, roaming and token)
  • Convenient tool for users to manage the license server
  • Flexible license policy to fit various users

The integration of RLM into ETA’s software products went smoothly. With an extensive API and a very responsive support team, ETA streamlined its licensing system with RLM quickly and easily. Several helpful new licensing features were added to ETA’s newest releases using RLM’s enriched functions.

About ETA

Advanced product development engineers working as structural analysts for the world’s largest automotive manufacturers established Engineering Technology Associates, Inc. (ETA) in 1983. ETA’s expertise in the areas of vehicle durability, NVH, metal forming, crashworthiness, occupant safety and product design have provided an intimate knowledge of the challenges and needs of the product development engineer. Proactive in the creation and implementation of new analysis methods and solutions, ETA is also the developer of the Inventium Suite, PreSys, VPG and DYNAFORM software solutions.

Using a License Manager as a Load Balancer

(or, if all you have is a hammer, everything looks like a nail)

Introduction – The ProblemUsing a License Manager as a Load Balancer

At Reprise Software, our main product, the Reprise License Manager (RLM) runs on many different platforms (19 at last count). Since our product is a client-server product with an API, we have a set of regression tests that we run both during development and at each release.

One issue of testing a license manager is the desirability to run tests that both succeed in checking out licenses from a license server as well as tests that fail. Given that our product (RLM) is inherently a network-based product, and also given that clients can broadcast to discover a license server, our experience is that running regression tests on multiple machines on the same network at the same time will result in some number of checkouts succeeding that should have failed.

In the past, we have worked around this problem by timing the starts of our regression tests suites so that the individual tests would not overlap each other and yield incorrect results (in this case, incorrect results from the test environment, not from software faults). While this works fine in a development environment, it is extremely awkward during a release cycle when the goal is to build and test many platforms simultaneously.

The Solution – License Management

Since the regression tests are primarily run by a single user, the solution was to create a set of licenses, one per test, then use the License Manager as a Load Balancer to serve them with a single instance per license, nodelocked to the username of the person running the test. Each test checks out it’s own license, and if the license request is queued, the test waits until granted. Now, the tests synchronize across all platforms with the same test never running on multiple platforms at the same time. Different sets of licenses are served for different network segments.

We serve the licenses using RLMCloud, so that the license server is always available, even when development machines go down.  An extra benefit is that our normal regression tests also test the RLMCloud servers at the same time. Win win.

Remembering Daniel Birns

Daniel Steven Birns, Jan 18, 1954 – July 28, 2016

It is with great sadness that we have to say goodbye to our dear friend, Daniel.Remembering Daniel Birns

Some of you may know Daniel as “the FLEXlm support guy”.  Others may know him as the lead FLEXlm developer.  Many more (outside of GLOBEtrotter and Reprise) know him as an extremely talented musician, one who never seemed to find an instrument that he couldn’t master quickly.

We knew him as a dedicated, enthusiastic co-worker, a good friend, and a dedicated husband and dad.

I first met Daniel in 1993, when we were porting FLEXlm to the 88k processor.  Daniel worked for 88open, the industry consortium, and when I contacted them for help with the port, he said “I’ll just come over and help you”.   Well, he did, we went to lunch, and during lunch I realized that I needed to hire him to support FLEXlm.

Within 3 weeks of Daniel’s arrival, it was clear that it was a waste to have him only supporting the product, so I made him the lead developer, and the 2 of us continued to support FLEXlm.  Daniel remained the lead developer from 1993 until 2000.  During this time we had many, many good-natured knock-down, drag-out fights over the direction of the product, but the result in every case was an improved product.  When we sold GLOBEtrotter to Macrovision in 2000, Daniel remained lead developer for a year or two, at which point, he left to spend more time with his music.

While Daniel never worked at Reprise, we always stayed in touch and of course, many of us saw him at several of the GLOBEtrotter reunions.

Daniel, we’ll always love you and miss you, and we hope you are in a better place.

Matt Christiano

101 License Models

101 License Models – a license model for everyone.101 License Models

License Managers are known for providing flexibility in how you price and license your software.  This blog post discusses 101 license models available to you with the Reprise License Manager.   These models fall into 5 main categories – Unrestricted, Nodelocked, Floating, Token-Based and Metered License Models.  We have discussed some of these in the past, and will talk about others in future blog posts.

So here we go…

Unrestricted License Models

These license models are not locked to any machine or license server.  In other words, they work anywhere.  Often these are appropriate for demo licenses or if you want to be able to display something about the license in a startup dialog, but allow it to run anywhere. Unrestricted licenses can have any of the following attributes:

  • any
  • customer name
  • demo
  • expiring
  • license type (beta, demo, eval)
  • maintenance-thru-date
  • options
  • permanent
  • serial number
  • software version
  • user-locked
  Nodelocked License Models

These license models lock the license to a particular computer, and in addition provides other restrictions.  Nodelocked licenses can have any of the following attributes:

  • 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
    Floating License Models

Floating licenses are the most common usage of a license manager.  These are usable by anyone who can contact the license server.  The floating license models provide the richest set of license control.  Floating licenses can have any of the following attributes:

  Token-based LICENSE MODELS

token-based licenses are a special case of floating licenses which allow aliasing of a license or multiple license checkouts per request.  These are usable by anyone who can contact the license server.  Token-based licenses can have any of the following attributes:

  Metered license models

Metered licenses provide a “postage meter” type of licensing model. Metered licenses work either with pre-paid or post-use payment.  Metered licenses can have any of the following attributes:

  • per-hour
  • per-invocation
  • per-event
  • computing environment limited
  • customer name
  • expiring
  • license type (beta, demo, eval)
  • maintenance-thru-date
  • options
  • password-protected
  • permanent
  • platform-limited
  • replace other licenses
  • software version
  • timezone-limited
  • user-locked
  • VM enabled

License Management as a Pricing Tool

Using License Management as a Pricing Tool

Do you want to maximize revenue while pricing your software in ways that make sense to your customers? A software license manager, such as the Reprise License Manager (RLM), is an indispensable pricing tool that can help you to design and enforce pricing models that are right for your customers, while giving you the flexibility to quickly adapt to new sales opportunities.

A License Manager Gives you Flexibility and Control
When a license manager is properly integrated into your software, it is able to interpret and enforce virtually an unlimited number of licensing and pricing schemes. You implement your licensing polices primarily by:

  • specifying parameters in your licenses, and
  • deciding how to handle unsuccessful license requests (to deny or permit use).

These two levers allow you to customize your license policies by product, customer type, location, etc.  You don’t need to maintain unique software builds for each case because licensing is mostly controlled by the license manager.  This also means that you are poised to quickly revise your policies to react to new business opportunities that crop up – without having to re-release your software.

What should I license?

First, you have to decide what to license. Usually applications are licensed as a whole using a single license, but in some cases you may want to license additional extra cost features. This helps to keep the price of your basic product low, while collecting extra revenue from the customers who value the advanced functionality. You may want to take this concept a step further to create multi-product “bundles” that correspond to common user types, or even support a tiered pricing model with “Basic”, “Advanced” and “Pro” versions to add greater pricing depth.

Which types of licenses?
Determining the right licensing model requires an understanding of how your customers use your products.  If your application is dedicated to a specialized niche purpose, you can use a named-user or node-locked license.  On the other hand, if the product is meant to be widely shared or used collaboratively, you might want to use floating or concurrent licenses.  If you support both types of licenses, then you can usually charge a price premium for the floating license, since it provides more value to your customer.  Price premiums can range from as little as 10-20 percent to a factor of three or more, depending on the type of software and how it is used. In general, it’s best to offer multiple license types because it helps you to deepen your account penetration by reaching more user types.

What is a “user?”
Defining the term “user” may sound like a strange exercise, but its meaning may have a profound effect on the scope of your licenses.  Getting it right means that your customers will use your software precisely as intended.  Question: should the same user on the same machine consume only one license of your software regardless of the number of copies he uses concurrently? Also, should a floating license that is used for only a short duration be allowed to return to the license pool immediately, or should the license manager force a delay to encourage the sale of more licenses.  As you can see, defining a “user” accurately is extremely important.  When defined properly in both your software license agreements and within your technical implementation you avoid confusion with customers about the scope of your licenses.

Should licenses expire?
Obviously, if you settle on using a subscription licensing scheme, you’ll want your licenses to reflect the paid license period, butPricing Tool even if you sell perpetual licenses, you may want to limit the duration of the license (start and end dates) so that licenses require periodic refreshment in the field. This can come in handy when you make wholesale changes to your pricing/licensing model at some point in the future (including switching license management vendors) – knowing that at a certain date, all old licenses will eventually expire.

Should licenses match a specific product version?
Although version numbers in licenses can restrict which application version can run, most publishers prefer allowing older versions of software to consume newer licenses, but not the reverse. Some publishers creatively use license version numbers to manage support contract periods.  For instance, a license that specifies a version of “2018.0101” would support any version of the application released before January 1, 2018. New licenses (with new “version dates”) are issued only to customers who renew their maintenance. Used in combination with a license expiration date, a license could permit permanent access to the latest version released during the user’s most recent paid maintenance period – without the license itself ever expiring.

“Post-use” licensing model
Another new source of revenue might be aimed at those customers who would rather pay for your software based on their actual measured usage. Again, a license manager is the perfect pricing tool for this because it can capture the details of the customer’s usage history allowing you to build accurate invoices weekly, monthly, or quarterly.  You could use a “post-use” model on a customer by customer basis, maintaining it as a revenue-positive alternative to your traditional licensing models used for the majority of your customers.  Perhaps you could sell a base level count of floating licenses to a customer, then use “post-use” billing to handle peak over-usage situations.  This creates extra revenue for the publisher and allows the customer to continue working during unusually busy times.

We’ve only scratched the surface here, so if you would like to discuss how license management can address your particular requirements in more detail, please contact us.