Independent software companies are increasingly relying on innovative software licensing and pricing strategies to create steadier revenue streams. They are looking for smoother and more predictable revenue growth to make financial planning easier and to increase business efficiency and to maximize value to shareholders.
An essential tool to accomplish these goals is a license manager. It can enforce licensing policies that can promote higher recurring revenue.
Recurring revenue comes from three main sources:
- License subscription fees
- Annual support renewal fees
- Pay-per-use fees
Each of these can be addressed by a license manager in several powerful ways.
Increasingly, software vendors are offering both perpetual licenses and license subscriptions. Usually an annual term, subscription licenses are priced so that they provide a lower initial cost in order to attract both new customers and those customers who are trying to preserve short term cash. Subscriptions often seem less risky to customers too. If the product doesn’t live up to expectations, then the customer has only limited financial exposure.
Prices for annual licenses, which usually include support and update services, are set at some fraction of the perpetual license alternative. Many companies aim for a crossover point of 4 to 5 years after which the costs for the annual license begin to exceed the perpetual license fee plus the annual support costs.
The License Manager’s Role
Supporting the concept of term licenses are license expiration dates. These are hard-wired dates encoded into the license that mark the end of the term. Days before the license expires, your software can query the license to display a reminder to the user that the license is about to expire. This technique improves customer satisfaction because the user is prepared for the renewal event. When the customer signs up for another term, new licenses specifying the new expiration date can be sent to replace the expiring license. License managers check for customers attempting to rollback the system clock to gain extra time on the license term.
Annual Support Renewals
Software vendors who rely primarily on perpetual licenses need to maximize support renewal rates to build their recurring revenue stream. Support payments provide your customers not only with access to technical assistance from your staff, but they also determine which releases they are entitled to run. Customers are encouraged to renew their support agreements when license managers restrict access to desirable new releases. License managers have two ways to enforce access policy: version numbers and release dates.
All licenses encode a version number into the key. The version number specifies the highest version that the license will support. So for example, if the version number is specified as “5.3” in the license, then requests for version “5.3” and lower will be granted. A request for a version “5.4” or higher license would denied. The denial event presents an opportunity to remind the customer that access to that version requires a new license obtained only via a support contract extension.
Release Dates – “Born on Dating”
Perhaps a more flexible approach is not to encode a version number in the license at all, but instead to encode a “maximum release date.” This date represents the maintenance coverage period. In other words, it specifies the latest software release date that can be supported by this license. Of course, applications must be programmed to request licenses consistent with the “born on date” of its release. Let’s look at an example.
A “Release Date” Scenario
Suppose a customer buys a product license today (December 2008) for the current release (previously released June 2008) and signs up for one year of support. You would create a perpetual (permanent) license for this customer, but you would encode “2009.12” in the version field of the license to represent the maintenance contract expiration date in the format “YYYY.MM”. This license would provide perpetual access to the current release and any future version that is released before the end of December 2009. License requests for releases after that date would be denied, again presenting an opportunity to remind the customer that access to that version requires a new license obtained only via a support contract extension.
Partial Version Upgrades
Regardless of whether you use conventional version numbers or version dates, you can upgrade licenses in the field using a special license type for your products – an UPGRADE license. This allows you to upgrade some or all installed licenses at a customer site. So, when customers decide to upgrade, they can do so on a few licenses at a time, without affecting the total number of licenses available.
Pay Per Use Pricing and Post-Use-Billing
Some software vendors are offering yet another payment approach – pay per use or post-use billing. What better way to stabilize your revenue stream than by charging based on actual usage.
License managers produce detailed report logs of license activity, recording data such as: product name, number of licenses granted, user name, host name, and duration. With this information, you can periodically produce invoices that reflect your customers actual use. Popular license managers, like RLM, write the log in plain text so that it can examined directly. Also, the log is authenticated to ensure data integrity, and is “anonymized” to address potential privacy concerns.