Software Licensing and Pricing Strategies
Independent software companies increasingly rely on innovative software licensing and pricing strategies to create steadier revenue streams. They look for smoother and more predictable revenue growth to make financial planning easier, increase business efficiency, and maximize value to shareholders.
An essential tool to accomplish these goals is a license manager. It can enforce licensing policies that promote higher recurring revenue.
Recurring revenue is sourced from three types of fees:
|ANNUAL SUPPORT RENEWAL||PAY-PER-USE|
These fees are 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 to provide a lower initial cost to attract both new customers and customers who want 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.
With Reprise Software’s Activation Pro, subscriptions can be handled transparently from within your application. A special subscription activation key type allows you to specify a “subscription interval” within which your application can “reactivate” its license to extend the period of service for another interval, month, year, etc.
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 four to five 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
License expiration dates support the concept of term licenses. . These hard-wired dates are encoded into the license to 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 roll back 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 with access to your technical staff, plus, they 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 the license supports. 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 be denied. The denial event is 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 2018) for the current release (previously released June 2018) and signs up for one year of support. You would create a perpetual (permanent) license for this customer, but you would encode 2019.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 2019. 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. 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
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 be directly examined. Also, the log is authenticated to ensure data integrity, and is anonymized to address potential privacy concerns.