From Business

Discussion of the business of license management, ranging from whether to buy or build a license manager to various pricing models.

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
Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

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.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Shared Floating License

Count unique users of your application with the Shared Floating License.

We’ve discussed the floating license in a previous blog post.  A floating license allows a specified number of independent instances of your application to run anywhere on your customer’s network so long as that number does not exceed the predefined limit specified in the license.  But what if you want to allow each user to run multiple instances of your product, while still limiting the number of users who can access the product at the same time?  The Shared Floating License works well in this situation.

shared floating licenseWith a shared floating license, separate program invocations from the same user (or the same user on the same host) consume only a single license.

To implement a shared floating license in RLM, specify a license server with the SERVER line, and set the count field of the license to a positive integer.  The license itself has no associated hostid, meaning that it will run anywhere. The license should also have a “share=” attribute, and the value is any combination of the letters “u”, “h”, and “i”.

With a shared floating license, you have a good bit of control over the actual sharing of the license.  You can share the license across invocations of your product that have the same:

  • username
  • hostname
  • isv-defined string

or any combination of those 3 parameters.  So, for example, you can share a license requests from the same user on the same host by specifying the share= parameter of the license as “share=uh“.

In addition, you can limit the amount of sharing that is allowed.  For example, if you want to allow up to 5 invocations from the same user to share one license, but the 6th invocation to consume an additional license, specify “share=u:5“.

Shared Floating Licenses work well for interactive applications where the user will naturally bring up multiple copies to get a job done.  In this case, consuming a single license for multiple invocations seems like a natural and fair way to license your product.

 

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Named User Licenses

named user licensesNamed User Licenses – Let your License Manager build user lists dynamically

Floating licenses are the most versatile of the license types. When available, anyone on the network with access to the license server can get a license to run. This is tremendously powerful for the software user, but there are times when software publishers want to sell the convenience of floating licenses while enforcing a more restricted license model. Named user licenses do just this by restricting access to users who are on a list.

Business Benefits
The benefit of named user licenses to the software user community is that their regular software users will not have to contend with other users for licenses. The licenses are in effect dedicated to the group of named users.  These licenses may also be less expensive than floating licenses. The publisher, on the other hand, benefits because he can sell named user licenses, perhaps at a lower cost, that better match the spirit of his license agreement.  If he chooses, the publisher can still sell unrestricted floating licenses, but at a premium to the named user type.

Names can be Dynamically Assigned
In Reprise Software’s RLM, named user licenses allow publishers to require that user names be included on a list in order to use the licenses. The list can be assigned by the system administrator, or RLM can create the list “on the fly.” The number of users in the list can be less than, equal to, or greater than the number of licenses available – all at the publisher’s option. Once a user is added to the list, he can be deleted, but once deleted, he must remain off the list for a minimum number of hours (24 hours by default). This prevents the manipulation of the system in an effort to defeat the named user license policy.

If the number of named users is smaller than the number of licenses, then this small group will share the larger pool (assumes that it’s feasible for a single user to consume more than one license at a time).  If the number of named users is greater than the number of licenses, then the larger pool of named users will contend for the available licenses.

The “How To”

To deploy a named user license, the publisher does not need to modify his RLM-enabled application at all; it’s controlled in the license certificate itself.  To create a named user license the named user keyword is simply added to a standard floating license certificate, in one of the three following ways:

named_user – to require the same # of users as there are licenses
or
named_user=n – to require a maximum of n users to be named
or
named_user=”n min_hours” – to require a maximum of n users to be named, and to specify the minimum number of hours before the deleted user name can be re-added back to the list.

Managing the List
As was mentioned earlier, the license server can construct the list of users automatically as license checkouts occur, or the list can be entered via the RLM web interface by the end-user administrator. If entered manually, either individual user names or GROUP names (as defined in the server options file) can be used.

Named user licenses utilize the INCLUDE functionality of the license server, and do not need a fully populated list of users before the licenses can be used. In fact, no users need to be specified since the license server will add users who do not appear on the list if the current list size is less than the number of allowed named users.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

The Floating License

The Floating License – The most common license model

Last time we discussed the nodelocked and nodelocked counted licenses, which are license grants that allows your software to be used on a particular computer, and on that computer only.  A far more common license is the floating license.  The floating license is what mfloating licenseade license managers famous, and it is supported by all major license managers. A floating license allows a specified number of independent instances of your application to run anywhere on your customer’s network so long as that number does not exceed the predefined limit specified in the license.

The floating license was originally made popular when we developed FLEXlm at GLOBEtrotter Software; in particular, Sun Microsystems’ use of floating licenses for their compilers made most software developers aware of the power of this license model. 

As we discussed in our blog post describing the nodelocked license, having several license models in your price book allows you, as a publisher, to price differently depending on your customer’s situation, which allows you to capture the optimal amount of revenue for a particular customer.  Nodelocked uncounted licenses may be appropriate for some of your products, while floating licenses are more appropriate for others.  A mixture of floating and nodelocked licenses can help maximize revenues depending on your customer’s situation.

If your application is meant to be used collaboratively, you might want to use floating licenses.  If you support both nodelocked and floating licenses, then you can usually charge a price premium for the floating license because its usage terms are less restrictive.  Price premiums can range from as little as few tens of percent to a factor of three or more, depending on the usage profile of the software and how it is shared. In general, it’s best to offer multiple license types because it helps you to expand your account penetration by reaching more users.

To implement floating licenses in RLM, specify a license server with the SERVER line, and set the count field of the license to a positive integer.  The license itself has no associated hostid, meaning that it will run anywhere. The license server (specified by the SERVER and ISV lines) keeps track of the number of instances in use.  A floating license always requires a license server, so it is the next step up in complexity from nodelocked licenses.   Neither RLM-Embedded nor RLM-EZ support floating licenses.

Next time:  token-based licenses.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Licensing Solution – Build or Buy?

Should you Build or Buy a Licensing Solution?

Independent software vendors face the question of whether to build or buy a licensing solution.  Build or Buy a Licensing Solution

At first, you may need only a simple licensing model.  You’ll say, “Hey, we’re a software company.  We’re smart. We know what we need, and my guys can whip this thing up over the weekend.”  OK, if you limit the scope of the development project to only the functionality that you know you need initially, then you could build a passable licensing solution. But that approach ignores future needs. Ultimately, “build or buy” is more a business question than a technical one. Do you want to set out on a course to build and maintain in-house solution as your customers and markets change?

Future-proof your licensing

To paraphrase a popular bumper-sticker – “Change Happens.”  A home-brew license manager must be designed to account for change – not just changes in operating systems and development environments, but also changes in end user preferences for licensing models and deployment platforms. For instance, did you envision the proliferation of tablets ten years ago? Did you predict the increasing use of software in-the-cloud? How about license subscriptions?

Breadth Matters

Widely used software license managers, like RLM, are designed to address a wide set of platforms, languages, vendor licensing policies and end user deployment preferences. The added breadth of a commercial license manager helps you to respond quickly to competitive pricing threats and to address sales opportunities that require “funky” licensing terms – without waiting for your development team to enhance your home-grown software licensing solution to accommodate the necessary changes.

Crowd-testing

When you design your own license manager, your customers are the sole “guinea pigs.”  They are the only ones who can help you find bugs and improve performance of your licensing software.  By using a third party license manager, you benefit from a huge user community banging away on the licensing software, ensuring maximum reliability across a more varied set of usage conditions.

Who’ll draw the short straw?

If you decide to build your own software license manager, who on your team will write it?  We often see software engineers eagerly take on the challenging task only to discover that it’s not as easy as it looks. Even more common is the dilemma of the “pigeon-holed” engineer who, after completing v1 of the licensing software, desperately wants to move on to a more interesting project.  But instead he is stuck maintaining the licensing system he wrote because he is the only one on staff who knows how it works.  Argh!  I wonder how long he’ll stay at his company?  Who wants to inherit his code knowing that newly introduced changes could cause unintended consequences that could be disastrous to your reputation?

Licensing Experts are truly Rare Birds

The Reprise License Manager (RLM) was designed by experts who have been in the trenches for over two decades. They know what works and what doesn’t forBuildor Buy a licensing solution ISVs and their customers. They are passionate about this technology niche, and take pride in solving difficult licensing challenges with relative ease. If you “buy” rather than “build,” these guys become your in-house licensing experts… who won’t leave you high and dry.

Buzzword Alert!

Core Competencies – Time-to-Market – Opportunity Costs. These well-worn phrases remind us that we should stay focused on what we do well. Your development effort should be directed toward making your innovative products more robust and competitive. Developing your own license manager distracts from that focus – it will slow your progress and will result in longer release cycles causing you to potentially miss some important sales opportunities. When you choose a 3rd party license manager, the time you save could be used to widen your competitive lead and to integrate licensing more tightly into your CRM or Order Management system.

Street Knowledge

You want to support not only standard licensing models, but you also want to leverage your customers’ knowledge of licensed software to minimize their learning curve with yours. End customers are willing to tolerate a few different license managers, but not dozens.  If your license manager is significantly different from others, your prospective customers may reject your solution.

Conclusion

Stay nimble. Stay focused. Choose a software licensing solution provider who knows what works well, and will remain your long term trusted partner.  Don’t be lured by the hope of saving money by writing your own. Today, 3rd party software license managers are affordable for companies of all sizes. In the long run, a third-party solution is the best business choice.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Software Trials without the Internet

Creating Software Trials without the Internet

Most software vendors offer trial copies of their software to potential customers for short-term evaluations.  The trial may run in full or reduced-functionality mode, but only for a short time, 30 days or so.  Sometimes, they want to create software trials without the Internet being available.

Ideally, the evaluation/trial starts when the user is ready, not when he/she first requests the evaluation.  While it’s possible to use an on-line activation system to implement the “start when I’m ready” functionality, that of course requires an Internet connection.

Commonly, vendors use an Internet activation system such as Reprise’s Activation Pro to authorize trials. This works well when the customer has an Internet connection, but what do you do when there is no Internet connection? For instance, what happens if the user is flying at 35,000 feet, or simply has no Internet connection?

RLM offers a capability called “detached demo” to handle this case. Through RLM, your application creates a short-term license that authorizes your product to run for ‘n’ days… without an Internet connection. After the demo period ends, RLM ensures that the user can’t reinstall the demo on the same machine. It allows one demo period only.

The benefits to this approach are clear – when the user is ready to test your software, he gets access for the full n-day period, even when disconnected from the Internet. This experience creates higher customer satisfaction, reducing the common claim: (“I couldn’t find the time to test, can you please send me a new eval key?”) and should result in a increased sales.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Licensing vs. Activation

Licensing vs. Activation

When software companies investigate licensing solutions, they sometimes get confused by terms such as “licensing” and “activation.”

To be clear, “licensing” and “activation” have very specific meanings, although they are sometime used interchangeably. The two concepts are very different. Let’s define “licensing” first.

Licensing = Authorization
Licensing is the process of checking whether a software application or feature has a valid license available to it at runtime. Licenses are usually stored on disk as text files (with a .lic extension) with an encoded digital signature to prevent tampering with the parameters that describe the licensees rights. A single license file may contain multiple features and product licenses.

A license consists of at least the following parameters:

  • Product or feature name
  • Version number, the maximum version this license can support
  • Date for expiring licenses, could be permanent
  • License count (“uncounted” for single-seat licenses)
  • Machine ID or “host ID” to which the license is “locked”
  • Encoded digital signature (sig) to prevent tampering with the license

A Sample License:

LICENSE demo sample 5.7 permanent uncounted HOSTID=00a0d150a3b7 sig=”license signature goes here”

Enterprise-class license managers, such as RLM, allow the software vendor to define other license attributes that further define the conditions that must be met at runtime for a successful license authentication or checkout. Some of these other attributes include:

  • time zone ranges
  • license sharing parameters
  • platform restrictions (eg. Windows only)
  • start dates
  • soft limit counts
  • named user license type
  • etc.

This license can be local (read directly from the user’s file system) or it can be “served” by a license server installed on a server machine or virtual machine in the cloud. It is important to note that license servers are only required when you deploy concurrent or floating licenses – also known as counted licenses.

Software developers interact only with the licensing API. It is the library of licensing routines that is called from within an application to:

  • initiate a license activation session (see below),
  • check-out/check-in application or feature licenses, and
  • query license attributes, if necessary

Every time a licensed application runs, a license “check-out” call is made to determine whether this application is authorized to run – in other words, “is it licensed?”  The application developer decides how to handle cases where no licenses are available at runtime.

When a license is not found, the application may try to “activate” itself by trying to obtain a license from an activation server, such as Reprise’s Activation Pro, as described below.

Activation
A Sample Activation key: 6556-5465-8997-0379

“License Activation” is the process of successfully obtaining and installing a valid license file for a licensed application. A simple approach might be the following:

  1. End user installs the licensed application (from media or via an Internet download)
  2. End user runs the licensed application for the first time, no valid license is found (not yet activated)
  3. The licensed application pops up an “activation dialog box” to prompt the user to enter the “activation key” which was sent to him as a result of the ordering process
  4. The licensed application connects to a pre-determined activation server URL using an API call (via standard http)
  5. The activation key plus host id of the user’s machine are transmitted to the activation server. (Note that this step is done by the activation routine in the software, not by the user)
  6. The activation server validates the activation key, generates the corresponding license, then records the transaction in its database.
  7. The newly minted license file is then transmitted to the licensed application where it is written into a folder on the user’s disk
  8. License check-out operations will now succeed. The application is now both “activated” and “licensed”

Activation is typically done only once – when the application is first installed, but a “phone home” call to the activation server may be made periodically to check whether a user’s activation key is still valid. This technique comes in handy for decommissioned machines, or for lapsed subscriptions. See more here.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website

Supporting Resellers with Activation Pro

Supporting resellers with Activation Pro can be accomplished quite easily. Let me share with you how to set up Activation Pro so that you can sell directly to end users, while also supporting a reseller channel.

With RLM Activation Pro you create activation keysSupporting Resellers with Activation Pro for orders from your customers. When you create a key, you can assign that key to a contact at the customer.  Usually, the contact is your direct customer, but if you support resellers, you can set up each reseller as a “contact” within your Activation Pro site.

Activation Pro lets you generate keys in bulk. So when you set up a reseller, you will generate batches of activation keys that correspond to the product licenses that your resellers are allowed to sell, assigning those keys to the contacts at each reseller. As your resellers make sales, they will issue an activation key from the list that they received from you, until they exhaust their supply, and need more. To replenish their supply, you simply generate new batches of keys as before.

The activation keys can be in the standard form that Activation Pro supports (nnnn-nnnn-nnnn-nnnn ), or you can assign a prefix to each to indicate that the activation is a reseller key. The prefix could be generic, the same for all resellers, or it could be different for each reseller.  This would allow you to know at a glance which reseller was assigned which key.

With the Activation Pro administration interface, you will be able to see the detailed fulfillment data saved as a result of sales made by your resellers. If you want to retrieve the contact information of the ultimate end user customer, you can prompt the user for this information at activation time.  This data can be stored as “logged data” within each fulfillment record. This logged data can be retrieved and imported into CRM or business systems for use there.

Importantly, you can set up an activation web portal for your customers, including one for each of your resellers. This will give your resellers a way to check the status of their assigned activation keys and fulfillments online via the web.

Help for RLM license administration

- view the RLM License Administration Manual here
- Visit our license administration help page here

Written by Reprise Software - Visit Website