From Business

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

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.

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.

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.

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.

Intergraph SG&I Switches to RLM for Flexible License Management

INGR_Color_CMYK_Logo_480pxAfter years of license management issues with another technology provider, Intergraph Security Government & Infrastructure (SG&I) decided to evaluate a new solution that was easy to use, flexible enough to fit our evolving licensing models, and capable of supporting our clients’ diverse licensing needs. With these criteria in mind, Intergraph SG&I has made the switch to Reprise Software’s RLM.

In early 2014, Intergraph SG&I approached Reprise Software to evaluate RLM. During our evaluation period, we found RLM to be everything that we needed in an enterprise-class license management technology. With an elegant graphical user interface, RLM delivers an intuitive user experience for our team. RLM has the flexibility to fit our changing licensing models and business needs. Reprise also has a customer support team that is eager to meet our requirements, friendly to work with and experts on the technology’s capabilities. With RLM, we hope to achieve:

  • Better security for us and our clients
  • Easier license management across our portfolio of products
  • Easier license authentication process for our clients
  • Shorter custom development cycles
  • Lower licensing management and operation costs
  • Easier product and customer transitions

Over 2015, Intergraph SG&I will begin migrating its product portfolio and customers to RLM. Based on the success of its initial RLM implementation and migration, Intergraph SG&I plans to transition its entire product portfolio leveraging RLM over the next few years. The first products using RLM will be released in late 2015.

About Intergraph

Intergraph helps the world work smarter. The company’s software and solutions improve the lives of millions of people through better facilities, safer communities and more reliable operations.

Intergraph Process, Power & Marine (PP&M) is the world’s leading provider of enterprise engineering software enabling smarter design and operation of plants, ships and offshore facilities. Intergraph Security, Government & Infrastructure (SG&I) is the leader in smart solutions for emergency response, utilities, transportation and other global challenges. For more information, visit www.intergraph.com.

Intergraph is part of Hexagon (Nordic exchange: HEXA B; www.hexagon.com), a leading global provider of design, measurement, and visualization technologies that enable customers to design, measure and position objects, and process and present data.

© 2015 Intergraph Corporation. All rights reserved. Intergraph is part of Hexagon. Intergraph and the Intergraph logo, are registered trademarks of Intergraph Corporation or its subsidiaries in the United States and in other countries. Other brands and product names are trademarks of their respective owners.

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:

http://blog.jtbworld.com/2014/04/jtb-flexreport-80-adds-reprise-license.html

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?

RLM

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.

RLM-Embedded

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

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.

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.