Managing Legacy Licenses
Many software developers turn to CodeMeter for their licensing needs, not just for the ease with which it can be integrated in a vast range of software platforms, but also for its ability to slot right into existing processes and back-office solutions. In practice, it does so with CodeMeter License Central as the universal and versatile tool for creating and managing licenses in perfect combination with established ERP, CRM, or e-commerce systems and, of course, for actually getting the licenses delivered to the end users’ systems.
Very few software developers, however, have CodeMeter integrated with their software from the very first moment of its inception. All software grows, evolves, and matures over time, and the same is true for its licensing system. Software developers might initially start out with a homegrown solution, before switching to a third-party system and discovering the many benefits of CodeMeter. But what happens with the software they had already sold with their legacy licensing system? The software on the end user’s computer has no way of knowing what is happening on the developer’s end, and it expects the same type of license to work as it has always worked. To avoid compatibility issues, the software developer needs to find the smoothest possible strategy for migrating to CodeMeter.
Simply switching over abruptly to a new software version makes life harder for many developers and end users. Users might have long-term maintenance agreements in place; they expect the amount of licenses they need to increase or decrease depending on circumstances, but they do not expect that they will have to migrate to a new version, if they simply need one more seat. Certification processes can also make the switch to a completely new software version a tough, lengthy, and costly endeavor, making this hard-cut move to CodeMeter an unpopular or even unfeasible option.
Another aspect that should not be underestimated is the simple logistics of the process: With an abrupt cut potentially affecting many different products from many different teams and departments, simply agreeing on the right date for the transition can prove nearly impossible.
Patches or Parallel Versions
A common choice of software developers is to patch their old software or to run two licensing systems in parallel. The advantages are obvious, as end users can keep using the version of the software they know. But both options have definite drawbacks that need to be considered.
Legacy software can be patched to bring it up to speed with CodeMeter, giving the end users a new version of their software without the noise” of releasing a completely new generation of it. It is a light-touch, easy-sell option, but it comes at a price: The patch has to be produced first, and existing licenses need to be migrated, requiring a change in the end users’ licenses.
Running multiple versions in parallel can break homogeneity in the data and make maintenance and support more complicated and potentially costly. The parallel processes are often not a perfect mirror image of each other, which again needs some careful finetuning with a licensing manager or activation assistant. The sheer effort involved does not seem commensurate with the idea of a short, temporary phase of parallel operations.
The Solution: Custom Licensing Adapter
Custom Licensing Adapter (CLA) is an extension of CodeMeter License Central, designed specifically for this challenge. It lets CodeMeter License Central be the one, shared license admin solution and the “arbiter of truth” in the foreground, while it takes care of the legacy licenses in the background.
One of the great advantages of the CLA is that it allows standard workflows to be used with all licenses, and all it needs is for the ERP system (e.g. SAP) to be properly integrated with CodeMeter License Central. No changes are needed on the side of the software that is already in the users’ hands, since the CLA is there to create legacy licenses. The move to CodeMeter License Central can be made with full transparency and no effort for the end users; alternatively, a license portal can be set up for users to view their licenses.
The Standard Workflow
The standard workflow of CodeMeter License Central is excellent for legacy licenses.
The ERP system would send a request to CodeMeter License Central, where a ticket is created and sent back. This ticket entitles the user to obtain their license; by contrast with the regular CodeMeter license, no CodeMeter context file is used in this case, but the binding property of the legacy license instead. Its actual form is irrelevant, as anything that can be turned into a generic byte buffer or file is fit for the purpose. The process again forks off when the license is created: The CLA accesses a part of the legacy system in the background, records, and sends back the data it needs.
CmContainer Type and Mapping
To create a legacy license in the format that the legacy software expects, CodeMeter License Central creates a special type of CmContainer, configured for the product items in question. The required license information is mapped in them to the licensing options and data used under the new CodeMeter system, so that CodeMeter License Central can then create the right licenses via the usual back-office processes. This means that the same process is used for software newly licensed with CodeMeter and software still tied to a legacy licensing system.
Licenses Going Out…
For the end users, the great benefit lies in the simple fact that they can get all their licenses by the same route. When the licenses are shipped via WebDepot / Gateways or some proprietary solution, the special legacy CmContainer would not communicate directly with CodeMeter License Central, but with the CLA interfaces, which take care of all of the relevant operations in CodeMeter License Central and make sure that all licenses are recorded correctly and are up to date, while also creating a license that has the right format for the legacy software.
…and Coming Back
If the legacy system was able to deactivate licenses, this can also be done via the CLA. In this case, the CLA would be contacted with the instruction to delete the license in question. It is even possible to send back a formal receipt for this action into the licensing system.
To enable all these functions in the simplest manner possible, the CLA uses a modular structure.
The core module oversees the provision of the right interfaces and the handling of all the communication with CodeMeter License Central. This makes sure that e.g. each license can only be sent a single time to a user and that all other processes, such as moving licenses or recovering lost licenses, are also handled correctly.
The module also stores all the data it needs to do its job in an internal database, so that e.g. a license key can be accessed again without having to call back the client’s systems.
This module contains all the internal facilities for mapping the CodeMeter licensing options and data to the legacy format of the existing software.
This is where the actual custom legacy license is created in the required format, either directly in this module or via a third-party service for producing the required licensing data.
The CLA is a perfect addition for CodeMeter License Central’s processes that enables software developers to create CodeMeter integrated licenses in the right format for the licensing system of their legacy software. For more information, please contact our Professional Services Team.
KEYnote 41 – Edition Spring 2021