One of the greatest obstacles for software vendors considering a professional licensing solutions is the migration from existing/legacy solutions. The introduction overhead of a new system might affect not only the software vendor himself, but also (and more importantly) the existing customer base.
The biggest concern in most cases is having to provide new license keys to existing customers. Ideally, the transition should be as smooth as possible, so that existing installations can continue to function seamlessly, without any manual intervention.
SLASCONE has several features facilitating the transition from legacy systems:
API for importing existing licenses: Existing licenses are typically identified by a unique license code or a customer number or a device id (hardware license). All 3 fields are available in SLASCONE when importing or creating new licenses.
API for initial activation: Initial license activation license is not only possible using SLASCONE license keys (recommended way for projects with no legacy licenses), but also using legacy license codes or customer numbers or device ids.
SLASCONE thus provides a native foundation for transitioning from legacy systems.
Software licensing solutions are usually associated with desktop or server software applications. Nevertheless, hardware and intelligent device vendors, both in industrial and consumer space, are becoming software vendors too since:
Hardware is becoming a commodity
Software has traditionally higher profit margins than hardware
Accompanying software modules enrich the offered product
Device vendors require business model flexibility
Consequently, most IoT and intelligent devices contain software modules with permanent or at least sporadic network (http) connectivity. This connectivity is a game changer and the bridge to a professional licensing and usage analytics solution facilitating:
Feature Enablement: In the majority of cases, vendors want to be capable of easily turning on/off device functionality, eliminating the necessity of physically producing different devices. This facilitates up-selling, which can be even triggered by the end-customer through a dedicated self-service portal. After such a process, the device communicates with the cloud licensing solution in order to fetch the new licensing data and accordingly turn on/off functionality.
Configuration/Parametrization: Centrally setting and changing parameters controlling the device’s behavior. This is, beyond feature enablement, an additional way to create differentiated solutions and achieve market segmentation.
Subscription or usage based models: Due to the connectivity with the cloud backend, vendors can capture billing relevant data. For example, a 3D printer vendor can charge a monthly fee or a fee pro printing job or a fee for a volume of printing jobs.
Analytics/Diagnostics: Beyond monetization and billing, the collected data can be used for analytics, e.g., gaining insights about the actual usage of the device, or for diagnostics, e.g., troubleshooting or predicting component failures.
These are usually very convincing arguments for both business and engineering departments of device vendors.
The licensing policy of the majority of (B2B) software and device vendors falls in one of the following categories:
In-house licensing solution
External/professional licensing solution
Audits (reactive): no technical licensing, terms regulated on paper
Hybrid – combination of technical licensing and audits
The challenge for every vendor is to choose the policy that best serves both him AND his customers. After covering in-house licensing, it is now time to shed some light on the case of audits.
Audits (or contractual licensing mechanisms) are particularly common in new B2B products (startups) since vendors are justifiably more focused on sales and growth than preventing revenue leakage. In such cases, vendors retain the right to perform license audits at the customer’s site. While license auditing is a great way to technically bypass the issue, let your engineering department focus on your core, and avoid licensing headaches when installing, testing or running the software, there are aspects to be considered:
Resources and Growth: Auditing is a process draining valuable resources on both sides. It can become a nightmare with a growing customer base (ask Microsoft). This is one of the reasons that Software Asset Management is a big industry, with companies specializing in the field.
Customer Relationship: Most enterprise customers not only have no intention of cheating, but do their best to be compliant. Unfortunately, sometimes they are under-licensed without even knowing. Instead of having to react, they prefer to prevent. It is crucial for vendors to realize that auditing is a reactive solution that may catch the customer by surprise and create unnecessary tensions. Any proactive solution would have prevented any potential mess.
Revenue Leakage: Lack of technical licensing facilitates (if not guarantees) revenue leakage. Few vendors have the capacity to perform regular audits. Therefore, in the long term a revenue delta is almost certain.
Lifecycle/Dynamic Entitlement: In a time in which customers demand maximum flexibility and pay as you go models, audits will always struggle to catch up with the constantly changing requirements.
Analytics: Without technical licensing, vendors squander the chance of real-time access to a synced customer database, providing valuable information about the real customer landscape.
At the end of the day, the question of audit (or any other licensing policy) suitability depends on the application and the (size of the) customer base.
A fundamental objective of most software vendors is to find partners/resellers that will help them scale their business. Resellers can be particularly beneficial, in many case the only way, for expansion and international growth.
Nevertheless, establishing successful channels is particularly challenging for software vendors:
Enablement/Attractiveness: providing resellers with the necessary support (training, material, marketing) for success. Most markets are very competitive, so you have to be attractive to your potential reseller.
Benchmarks: measuring the performance and ultimately assessing the real added value of each reseller.
Audit/Transparency: making sure that resellers comply with the rules and not jeopardize the product itself. You want to know what and how exactly your resellers are doing with your product.
Process Automation: minimizing administration effort for every closed deal.
Similarly, resellers have their own challenges:
Diverging business models: despite globalization and digitalization, every market has its own unique characteristics. Therefore, a reseller operating overseas might need adjustments in order to be successful in his local market, e.g., a different pricing or a subscription instead of a lifetime model.
Branding: customizing the design of all user interfaces (including end-user self-service portals).
Autonomous License Generation: creating end-user, internal or trial licenses without the interference of the software vendor.
Software Delivery: providing easy and fast access to the software product, its service packs and updates.
Workflow: integrating the sale process into existing back-office systems.
At the end of the day a successful partnership requires from both parties to minimize/eliminate the administration effort of every closed deal. Especially for low priced products, or with low margins for the reseller, this is absolutely crucial.
A professional licensing and analytics solution with integrated reseller support can help both parties be successful.
A surprisingly big number of software vendors rely on software audits instead of a real licensing solution in order to prevent over-usage. I call this the reactive approach. The majority does opt for a proactive approach. Nevertheless, instead of integrating a professional solution, it chooses to develop an in-house solution (let’s call this solution EasyLic). Typical arguments for an EasyLic approach are:
Our developers can handle this
We must keep this critical know how in house
A third party tool might not provide the necessary functionality and flexibility for future changes
An EasyLic approach might indeed be meaningful for B2C software without significant complexity, a fixed business model or a short lifecycle. Nevertheless, for more complex products with editions, regular updates and business customers, EasyLic typically evolves in the following way(s):
EasyLic 1.0 requires a considerable amount of development resources, but ultimately fulfils the initial requirements
EasyLic is based on license keys
EasyLic does not provide maximum protection, since the developers are not security experts and EasyLic is not their main priority
As the core product grows, so do the licensing requirements: trials, pay as you go, partner/reseller, named and/or concurrent users
Administrative and development resources are assigned to license management. Customers have to contact the vendors for trivial issues such as hardware migration or edition upgrade/downgrade
The CTO is frustrated by the fact that precious development resources are assigned to EasyLic, slowing down the progress of the core product
The CEO is frustrated by the fact that new business models cannot be unleashed due to licensing restrictions
Being responsible for our licensing, every time that a new, to be licensed feature was developed, I had to update the (master) license definition. In parallel, our engineers had to make sure that the software worked seamlessly with our licenses. While neither this process nor the subsequent generation of new licenses was a headache, existing licenses posed a real challenge:
Should existing customers be able to use the new feature or not?
Do they need a new license?
The second question is not really worth asking. ISVs cannot afford to issue new (substitute) licenses very frequently. Not only does it consume a lot of resources, but above all the end-users are not going to be particularly amused.
Similar questions arise when features are removed or bundled together. As a product manager I needed the flexibility to change things with minimal engineering effort (ideally without involving our engineers at all) and without existing end-users noticing. Otherwise, our future growth would be severely hindered by our past.
As I explained in my first post, my first acquaintance with licensing came through my analysis requirements. Since we already had an in-house solution (which experienced colleagues of mine praised, considering it superior to others) and everything seemed to work fine, I naively believed that licensing would not considerably bother me. After all, product managers are supposed to be visionaries crafting new functionality and ways to sell their product, right?
Well, not exactly… Here a (non-exhaustive) list of time consuming issues I had to cope with:
Hardware Migration: One of our products was device-bound, which meant that could be activated on maximum one device. While our mechanism did function, our customers could not self-administer hardware migration. In other words, we had to manually update the license database in order to register a new server name.
Peaks: Very often, clients requested peak licenses in order to tackle seasonality. Unfortunately, peak licenses were not part of our in-house solution, so I had to abuse our trial licenses, which resulted in a vicious spaghetti landscape.
Trials and Renewals: I had to authorize every trial license request and (even worse) it’s in many cases renewal. Since renewals were not part of our in-house solution, renewal meant a new trial license.
Partners/Resellers: It is great to have additional channels, but there are several issues to consider: how to create licenses for a partner organization and its employees. How to make sure they are not (intentionally or not) abused. How to deal with expired partner deals etc.
So, I had to learn the hard way, that the licensing could be indeed optimized. Not only in order to save internal resources, but above all in order to improve the end-user (Licensee, partner or reseller) experience.
I have never been a security guy. I have always been a business intelligence guy: data, data, data, all about data. The entire BI industry preaches: data driven decision making, trust your data instead of your gut etc…
Back in 2010, after having worked for a couple of years as a consultant for a BI software vendor, I was assigned with the company’s product management. This was a completely different field requiring a profound understanding of the company, the market and the customers. I would have to take critical decisions about the development of the product and since we were a BI ISV preaching a data driven approach, I started asking questions and seeking data:
How many customers do we have and which products/editions do they use?
Where are our customers based?
How many customers do we acquire/loose per month (churn)?
How many of them are active/inactive?
How many of them are direct/indirect (reseller acquisition)?
Which product versions (builds) are (not) used?
Which features are (not) used?
Unfortunately, there were no direct answers to these questions. We had no tool or solution for such questions, not even in Excel. Luckily, it didn’t take me long to come up with an idea: Our licensing database!!! Just as so many ISVs we had developed an in house licensing solution for product activation. This was my only chance to get some insights. So I started a small business (or license) intelligence project in order to extract and visualize the necessary information. Ultimately, I was not able to get everything, but a decent part of it. It was not an easy task but I managed to get through. Nevertheless, what happens to the poor CEO/Product Manager/Business Analyst that does not have a licensing database or the necessary BI skills?
This is how the first seeds of a licensing intelligence solution were born in my head… I started realizing that licensing is beyond copy protection and/or product activation, a very powerful tool for product analytics.