By staff

Licensing a multi-featured product with RLM

Recently we received a common question from one of our customers looking for some advice.

Q: My application is a suite of programs that can be licensed in various combinations.  What’s the best way to design the licenses in this case?

The answer depends on whether the components are always released on separate schedules or as a group.  If the former, then use a separate LICENSE line for each one.  This allows them to have different attributes, such as version and expiration.

If the components are always released as a group, then they can be licensed with a single LICENSE, with the specific set of components authorized expressed in the “OPTIONS=” attribute of the license (example below).

If you choose the OPTIONS field route, then the value of the OPTIONS attribute can be retrieved using the RLM api call rlm_license_options(). This call returns the contents of the OPTIONS string so that your application can parse it to determine which features should be enabled.

Example: OPTIONS=”pie bar scatter max_points=1000″

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 Sidwell Company selects RLM

Summary: RLM provides the foundation for a modularized floating license and pricing model for Parcel Builder from The Sidwell Company.

Parcel Builder includes several modules which can be licensed separately in order to provide a scalable application for customers with a variation of software requirements and budgets. Traditionally, Parcel Builder modules were licensed by a unique identifier generated at the time of the first install and was stored in the registry. This type of licensing system had some vulnerabilities and limitations, such as ghosting, virtual machine usage, etc. If clients required a reinstallation of the software, or a reconfiguration of installed modules on different workstations, they needed to contact Sidwell to provide new licenses.

RLM Introduced

In order to provide a more flexible solution, Sidwell sought to include concurrent licensing capabilities in Parcel Builder 4. Concurrent licensing would give enterprises with multiple installations the ability to utilize different modules from their current workstations without issuing additional licenses. After thorough research, Sidwell found that the Reprise License Manager (RLM) offered the best solution for providing the enterprise-class license management required by Parcel Builder. Sidwell’s software developers found RLM to be the best solution due to its affordability, ease of customization, and exemplary technical support throughout the entire software development cycle.

About The Sidwell Company:

The Sidwell Company, located in St. Charles, Illinois is an industry leader in the development and implementation of GIS solutions for cadastral mapping, land records management, aerial photography, photogrammetric services, and software development for local governments across the United States. Sidwell has become a recognized name on a national scale with the success of their Parcel Builder™ software suite, which is an extension to ESRI®’s flagship GIS software, ArcGIS® 10. Parcel Builder has been adopted by over 160 counties across the country as their land records-based GIS maintenance solution. Parcel Builder has undergone three major updates since its inception in 2004, and is now at Version 4.

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

Reprise License Manager (RLM) Selected by SDL


FOR IMMEDIATE RELEASE: February 8, 2011,  San Jose, CA

Reprise Software Inc, a leader in software license management solutions for independent software vendors announced today that SDL, the leading provider of Global Information Management  solutions, has selected the Reprise License Manager (RLM) as the software license manager for their SDL Structured Content Technologies division’s SDL Contenta®, SDL XML Professional Publisher™ (SDL XPP™) and SDL LiveContent™ products.  RLM represents a robust, and more easily maintainable licensing platform on which SDL Structured Content Technologies can support its future licensing capabilities.

“We chose RLM because it allows us to stay current with evolving licensing technologies while providing a familiar structure for our existing customers,” said Jennifer Goodman, vice president of product management for SDL’s Structured Content Technologies division. “We particularly like the possibility of implementing new business models by making changes in the license file without requiring a recompile or new release of our software.”

“SDL SCT’s license management requirements demand a robust, powerful, yet affordable license manager,” stated Matt Christiano, CEO of Reprise Software. “We are proud that SDL’s Structured Content Technologies division recognizes the flexibility, simplicity, power and value of the Reprise License Manager .”

###

About SDL

SDL is the leader in Global Information Management. Global Information Management enables companies to engage with their customers throughout the customer journey –from brand awareness, to sales and after-sales support– and across languages, cultures and channels.

SDL’s best-of-breed Web Content Management, eCommerce, Structured Content and Language Technologies, combined with its Language Services drive down the cost of content creation, management, translation and publishing. SDL solutions increase conversion ratios and customer satisfaction through targeted information across all customer touch points.

Global industry leaders who rely on SDL include ABN-Amro, Bosch, Canon, CNH, FICO, GlaxoSmithKline, Hewlett-Packard, KLM, Microsoft, NetApp, Philips, SAP and Sony. SDL has over 1500 enterprise customers, has deployed over 170,000 software licenses and provides access to on-demand portals for 10 million customers per month. It has a global infrastructure of more than 60 offices in 35 countries. For more information, visit www.sdl.com.

About SDL Structured Content Technologies

SDL’s Structured Content Technologies division is the worldwide leader in Component Content Management and Dynamic Publishing software. Leveraging XML standards such as DITA and S1000D, the division’s suite of products empower global companies to efficiently create, share, manage and publish technical information that is up to date and tailored to the interests of their global customers.

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

RLM License Generation Options

With the release of RLM v9 in December 2010, there are now three basic ways to generate licenses for your customers.  Let’s examine your options in order from the simplest to the most comprehensive.

RLMgen program

RLM v9 introduces a new graphical, web-based program for generating RLM licenses called RLMgen.   RLMgen simplifies license generation by allowing your staff to interactively define products in terms of the kinds of licenses you want to enable them. Separate definitions can be created for eval/trials, periodic pricing models, and permanent licenses. License parameters that are common to most licenses can be defined to apply to all license definitions. Once defined, licenses can be generated by entering the number of licenses, an expiration date, and the customer’s hostid.

RLMgen is especially useful for simple products were there is only one feature per product.

RLMsign Utility

If your products consist of multiple features per license, or if you need to incorporate license generation into your existing automated processes, then using the standard license generation tool provided with RLM could be right for you. This utility program called RLMsign, parses stored license templates then inserts a digital signature into each license that it finds.  The result is a license file that is ready to send to your customer.

Since RLMsign can handle arbitrarily complex licenses in each template, it is particularly well suited to support modular products that are sold in an array of different configurations.

API call rlm_sign_license()

RLM also offers a call in the standard RLM SDK called rlm_sign_license() that signs individual licenses in memory. This call is useful when you need to create a custom application that generates licenses, or to integrate license creation into your existing back office infrastructure, when access at the source code level is required.

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

TexEDA selects the Reprise License Manager (RLM)

LayTools Upgrade includes the Reprise License Management

Summary: TexEDA smoothly transitions to the Reprise License Manager and away from an exclusively dongle-based licensing solution.

The Past
TexEDA has been offering Integrated Design solutions for almost sixteen years. Until recently, the licensing of that software was managed using hardware keys (dongles) – parallel port varieties in the early days and USB versions in recent years. Although effective and secure, dongles are generally unpopular with customers. They also pose problems during evaluations, particularly when a customer in a remote part of the world needs to run a fully licensed version rather than one with reduced capability. Further, dongles have been known to be damaged, fail to function, and, since software prices are an important consideration, dongles can become a significant part of the software cost.

The Present
Despite the advertised benefits of a software licensing solution, there was reluctance based on security concerns, cost, effort to include the license manager lines in the code of the various application programs, and backward compatibility. The decision was taken, however, to move to software licensing when TexEDA embarked on a major software update. TexEDA identified Reprise as a possible partner and discussions with them resolved the perceived barriers in the past. Today, with RLM’s support, all the applications in LayTools software tools set are licensed with or without hardware keys. The  transition was seamless to the customer even though it was introduced at the same time as a major software re-organization and as a new installation approach was introduced.

About TexEDA IC Design Products – LayTools
TexEDA (formerly Catena Software) has enhanced its comprehensive IC design product, LayTools, over the past sixteen years. LayTools is a professional-grade custom IC development suite optimized for complex analog, digital, and mixed-signal IC design and offering the same sophisticated features as other high-end products on the the market. The applications include such key packages as schematic capture, a sophisticated simulator, a layout editor, physical verification, and automatic place and route. All the products operate under a design manager framework. LayTools is available on a range of platforms (including Windows, Sun-Solaris Unix, and Linux).

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

RLM Version 9 is Released

Reprise Software is pleased to announce that RLM v9 was officially released on Thursday Dec. 16th, 2010.

RLM v9 contains several significant product improvements. Some highlights:

  • includes an interactive, graphical license generator.
  • allows you to set up an internal license server farm to deploy your applications in the cloud.
  • has a license checkout debugging capability.

Of course, RLM v9 contains much more.  Please contact Reprise Software for more details.

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

GeoStation Corporation Selects Reprise License Manager (RLM)

Summary: Geostation Corporation selected the Reprise License Manager (RLM) based on its complementary design, functionality, ease-of-use and value characteristics. RLM helps Geostation customers optimize their usage of licenses.

Geostation Corporation, a trusted provider of geographical information systems (GIS) to the upstream petroleum industry, announced today that it has selected Reprise Software, Inc.’s ‘RLM’ as the multi-user, networked environment, License Management System of choice, and that GeoStation 5.2 and future releases of GeoStation will ship with RLM.

Commenting on the selection and process, Bruce Keffer, GeoStation Corporation President, said, “We selected RLM for GeoStation® for reasons of fit, functionality, reputation and value.” Bruce added, “Our focus has always been on design, functionality, ease-of-use and value, and our feeling is RLM perfectly compliments the philosophy.”

RLM tracks and provides GeoStation user community administrators with valuable user and usage metrics, which in turn facilitate the management of application availability and optimal sizing of shared GeoStation license pools.

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

RLM ISV Settings File – Easier Server Upgrades

Summary: The RLM settings files provides a convenient method of upgrading license servers in the field. The settings file consists of the ISV-specific information in the RLM license server making it easier to upgrade your customers. Read on about the example use cases and benefits of using RLM ISV settings files.

The Basics

The server side of RLM consists of two programs: the rlm server and the ISV server.  The rlm server (rlm[.exe]) is generic – in other words, it contains no executable code that is ISV-specific.  The ISV server, on the other hand is specific to an ISV, as it encapsulates at a minimum, the ISV’s name and its public encryption key.  The ISV server’s file name is <ISVname>[.exe].

Settings Files Introduced

Starting with RLM version 6.0, an alternative to the traditional packaging of the ISV server as an executable file became available.  This alternative is the settings file, a small data file (several hundred bytes) containing the ISV’s unique server settings.  The platform-independent settings file is built automatically during the RLM build process and is encrypted and authenticated.  When a settings file is present at server startup instead of an executable ISV server, the generic rlm server spawns a copy of itself.  The spawned copy reads the settings file and takes on the “personality” of the ISV server – it becomes a 100% functional equivalent of the old-style executable ISV-specific ISV server, but with one caveat. If you use ISV-defined hostids, then the actual ISV server binary program must be used – not the settings file.

The Benefits of Settings Files

As we mentioned above, the settings file externalizes the unique elements of the ISV server executable, making the ISV server completely generic.  Consequently, these generic programs are always available on all supported RLM development platforms.  When a server upgrade is necessary, the ISV can more quickly deploy the generic server than ISV-supplied programs because they don’t have to go through the ISV’s usual development/QA/release cycle.  A couple of additional benefits accrue:

  • Because the settings file is platform-independent, the ISV can support server platforms that they do not have in-house.  The ISV still needs to purchase a license for RLM on non-inhouse platforms, but they do not need to actually have those development platforms. This allows ISVs to support server platforms that are requested by their end users without having to actually build RLM on these platforms.
  • Because by default the ISV’s settings file works with any RLM version after v6, the process of upgrading RLM versions on the server side in the field becomes almost trivial. End users simply download and install the latest generic rlm server version.

Usage Example

As an example of easy server upgrades, consider an end-user site running a v7 rlm server and settings file for ISV “abc”.  They run into a bug (P188), which is a case-sensitivity problem with RLM_PROJECT.  This bug is fixed in RLM v8.0.  Since the fix is implemented entirely on the server side and the server side executable is entirely generic due to use of a settings file, the end user can get the fix simply by downloading and installing rlm[.exe] from www.reprisesoftware.com.  There is no need for the end user to wait for the ISV to adopt RLM v8 – the fix is accessible to the end user the same day as v8 is released.

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

Integrating the Reprise License Manager (RLM) with Salesforce.com

Several customers have recently asked us if any software vendors who use RLM for licensing have extended Salesforce.com to handle licensing information.  The answer is yes. One of our customers who uses both RLM and other older licensing technologies has written an integrated web service and activation API that ties into Salesforce.com.

Here’s a quick summary of what one of our customers does:

  • create a new sale in Salesforce.com
  • send download instructions to customer with a unique activation code
  • customer downloads/installs software, enters activation code into the application
  • activation server returns generated license, stored locally
  • generated license also stored in transaction record in Salesforce.com

This RLM ISV has extended Salesforce and created a new License object (or table) which is associated with a Salesforce Account. When they make a license sale they create a new License record in Salesforce and populate it with parameters pertaining to the product license (node locked / floating, count, licensed modules, expiry etc). When this information is saved an “activation code” is generated and saved along with the rest of the licensing options. The activation code is something unique that can identify this record in Salesforce.

Their support desk sends the activation code to the end customer and he/she downloads and installs the application program.  This activation code can then be entered into the application which connects to the ISV’s own internet license activation service. The information submitted includes the activation code along with hardware information, or HostID. The license service is responsible for connecting to Salesforce and generating the RLM license. For transactional purposes they also store this generated license in Salesforce. The license is returned to the application and saved locally on their machine.

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

Options and More Options

Using ‘Vendor Defined’ Optional Keywords

Since license policy in RLM is defined largely by license keys, a single binary version of your RLM-based application can support many different license policies. Once RLM is implemented, you can address ever-changing business rules by simply varying the type of license keys that you issue. RLM can support a wide range of licensing options and policies, many of which have been covered in previous articles on this blog under the “technology” heading.

This article briefly discusses a few optional license fields. The following license keywords can be classified as ‘vendor defined’ options as they are not used by RLM to determine policy, but can be accessed by your application to further restrict usage rights or present information to the end-user, such as in a start-up splash screen. These optional fields are factored into the license’s digital signature, so they are not editable by your customers. The fields are described below:

  • Options= if your product has many separately-purchasable sub-features,
    you can list the ones which are licensed in this string. Some examples of how this might used include:  limit the number of database records that can be created or accessed, or the number of accounts that can be open, or the number of ports that can be accessed, etc.? This information can be entered into the ‘options = options_list‘  field and it must be parsed by your application.
  • Contract= can be used to hold the customer’s purchase information or software agreement number. This can be displayed to the end-user to validate a support contract, etc.
  • Issuer= could be used to identify the organization that issued the license, such as a third party distributor, or reseller, etc.
  • Customer= used to identify the name of licensed customer and can be displayed by your application. Displaying this information in an “about box” or splash-screen can be an added deterent to unauthorized use. It is unlikely that Mega South-East Airlines would want to use a license that was issued to Main St. Bank.
  • Type= used to identify the type of license and is a string containing one or more of the values:
    • “beta”
    • “demo”
    • “eval”

For example, type=”beta eval” or type=”eval”. The contents of the license type field are then used by your application to put your software into the appropriate mode of limited operation or usability.

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