We've been lucky enough to be around software licensing for 20 years; combined, we have over 70 years of software licensing experience under our roof. It's safe to say that in that time we've seen it all, and then some. Whether it's enterprise end users wanting the best tools to maximize the usage of their valuable software assets, or software vendors wanting that next creative approach to licensing and selling their software, we've been there and done that.
Thrive by making changes to your software licensing programs
Some pundits have said recently that the global economy is coming out of the recession. True or not, overall business activity is still comparatively slow. We think that a sluggish, yet growing economy presents an opportunity to exploit changes in how you license your software.
Of course many software vendors’ revenues were barely affected by the slump – good for them. But not all vendors are as fortunate. Every software vendor eventually experiences a slowdown at some point. When overall capital expenditures are declining it’s almost inevitable that software vendors will feel the effects too. In addition to redoubling your efforts to improve your core products, the key to successfully riding out a recession is to support an adaptable and creative set of software licensing programs.
Regular readers of this newsletter will already know that the best way to stay flexible is to integrate a license manager within your software. Here are some ideas for your marketing/sales teams to create new programs to help you weather the storm.
Streamline your Licensing Operations
Perpare yourself for growth by setting up a more automated licensing system can help you save money on labor costs, while improving customer satisfaction and increasing sales. When a prospective customer requests an evaluation of your product, you can send out an “evaluation key” that can be redeemed for a temporary license over the Internet that will be valid during the evaluation period. The best part of this tactic is that you know exactly when that license will expire, and perhaps when to contact the user to see if your product fits his needs. You then can either extend the evaluation by issuing a new “evaluation key” or convert the trial into a sale. For paying customers, you can allow them to self-serve their license keys using the same activation infrastructure.
New Pricing/Payment Models
Slow sales mean that it’s time to get creative with licensing. If you are now selling only permanent licenses, consider going to time-limited licenses, both to add recurring revenue and to avoid “giving away” value. Try selling annual licenses to reduce the upfront cost of your licenses. Price the annual licenses at a level that will increase your revenue over time. Also consider a pay-per-use scheme for those customers who prefer it.
Modularize your High-Value Components
Some software vendors use an economic slowdown to decouple some of their high-worth software modules from their basic product so that overall prices can be reduced while still capturing higher revenue from those customers who require the more expensive options. The lower cost of the basic version can open up new accounts and increase your market share as well.
“Productize” what you used to give away for free
We’ve talked to a lot of companies recently that are not, strictly speaking, software companies at all. It turns out that many technology companies often “throw in” software as a kind of “enabler” or loss-leader, focusing instead on collecting revenue from hardware sales or consulting fees. Let me suggest that wherever there is perceived value in these software applications, there is also potentially untapped incremental revenue.
Increase your Maintenance Subscription Rate
License Managers are very useful tools to ensure that your customers use only the software versions for which they have paid support fees. Try using the version number field in your licenses to encode a support-expiration date in the form yyyy.mmdd (2009.0531). Let a license manager compare it to the “release date” of each version so that your customers must remain current with their maintenance payments in order to access new releases.
Expand your Sales into New Regions
Use a license manager to restrict licenses by time zone or region to penetrate new markets at a much lower cost. Sales gains can be realized by charging a premium for licenses that allow use across wider geographies. Encourage additional license purchases from organizations whose software usage spans geographies.
Deepen Penetration within your Existing Customers
Often the best source of new license revenue is found within your existing customers. Not all users within a customer are the same. So try creating product classes that are specific to each different user type. A license manager makes it easy to build one binary that takes on different functional behaviors (“lite”, “basic”, “advanced” etc.), each one determined by the specific license key you issue. You can later sell upgrades by supplying an additional license key to turn on greater functionality. The pricing of these various classes of licenses should match the value that different user types ascribe to your software. Examine software usage patterns to create a balanced set of licensing options that appeal to the widest audience within your best customers.
Find a lower-cost Licensing Vendor
While you are looking for new revenue sources, you might also consider making changes on the other side of the ledger. If you are tired of paying excessive fees for your third party license manager, maybe it’s time to consider a lower cost alternative. Reprise Software is in the sweet-spot in this regard – providing a world-class license management system at a much more affordable price.
What's the real purpose of software license management?
Too often folks equate Software Licensing with the prevention of software piracy. That notion really misses the point. People are often surprised to find out the real reasons for software license management.
Which is Better for Your Customers?
As license management technology has evolved, so has Internet-based networking and the ability to locate various clients and servers at physically distant locations. But are “distant” and “remote” always best for a software vendor’s customers?
Let’s look at some of the thinking that could go into the decision on how and where to locate license servers, and what that means for a software vendor’s choice of license management technology.
First off, it’s best to look at the question of server location in the context of a specific type of end user. Clearly, not all software is best managed with license servers, either local or across a WAN or the Internet from its intended users.
Software that is best deployed with license servers is typically low-volume and high-dollar-value software, such as is used in various engineering fields (mechanical CAD/CAM, chip design or “EDA”, oil and gas exploration, video production, etc.) So, it goes without saying that the nature of these software products, and their value to the organizations buying licenses for them, demands near-instantaneous, secure availability of those licenses, as well as the ability to easily report on their usage. In fact, this model is where the term “software asset management” is derived: non-tangible yet hugely valuable software licenses that are treated by end user organizations just like any other important, valuable physical asset.
Given that high-value software licenses must be always available, secure and reportable, where should the servers hosting those licenses be sited? On the end user’s Intranet? Across a WAN? Across the Internet?
At Reprise, our experience going back over 20 years leads us to think that the physically closer you can site license servers to their intended users, the better. Also, the fewer network devices you can put between the user and their license(s), the better. While it can be argued that networking has only gotten better over the years, with more capable routers, higher-speed connections and better system and network management, as of yet no one has figured out how to remove Mr. Murphy, of Murphy’s Law fame. And the last thing your poor, harried user needs is Murphy messing with license servers at the eleventh hour of a big project, when that important software license had better be available.
Besides availability, control is obviously important in deploying license servers. Large enterprise organizations dedicate individuals or even teams to keeping software licenses watered, well-fed and ready for their users. Inherent in that is the capability to tweak individual vendor servers, or the main server itself, so that license reservations for groups or projects and reporting are all set up to maximize the users’ benefit. So while moving all of this infrastructure across the Internet may seem appealing to the software vendor, be sure to ask your users what they would think of this. Would your users still have routine administrative access to stats about server and license availability? What happens when Port 80 is saturated when the next “gotta watch” video is posted?
While there’s a trade-off between configuring firewalls to handle non-Port 80 traffic and the immediate availability of Port 80, it’s our observation that most end user organizations want to dedicate ports and server hardware to serving valuable licenses, so that their users can get them when they need them. And now, with the concept of license “refreshing” and re-hosting, a good hybrid deployment model is available to end users of license managed software. Imagine–having the flexibility to easily move licenses from one server to another with the good availability of licenses served from a machine directly under the end user’s control. What could be better!
Let your License Manager build user lists dynamically
Floating licenses are the most versatile of the license types. If floating licenses are available, anyone on the network with the application software product and access to the license server can get a license to run. This is tremendously powerful for software user organizations. But, there are times when software publishers (ISVs) want to sell the convenience of floating licenses while enforcing a more restricted named_user license model.
In the named_user model, the idea is to restrict license access to only users who are on a list.
The benefit of named_user licenses to the software user community is that their regular software users will not have to contend with other users for licenses. The licenses are in effect dedicated to the group of named users. These licenses may also be less expensive than floating licenses. The ISV, on the other hand, benefits because he can sell named_user licenses, perhaps at a lower cost, that better match the spirit of his license agreement. If he chooses, the ISV can still sell unrestricted floating licenses, but at a premium to the named_user type.
Names can be Dynamically Assigned
In Reprise Software’s RLM, named_user licenses allow ISVs to require that user names be included on a list in order to use the licenses. The list can be assigned by the system administrator, or RLM can create the list “on the fly.” The number of users in the list can be less than, equal to, or greater than the number of licenses available. Once a user is added to the list, he can be deleted, but once deleted, he must remain off the list for a minimum number of hours (24 hours by default). This prevents the manipulation of the system in an effort to defeat the named_user license policy.
If the number of named users is smaller than the number of licenses, then this small group will share the larger pool (assumes that it’s feasible for a single user to consume more than one license at a time). If the number of named_users is greater than the number of licenses, then the larger pool of named_users will contend for the available licenses.
The “How To”
To deploy a named_user licensing model, the ISV does not need to modify his RLM-enabled application at all; it’s controlled in the license certificate itself. To create a named user license a named_user keyword is simply added to a standard floating license certificate, in one of the three following ways:
named_user – to require the same # of users as there are licenses
named_user=n – to require a maximum of n users to be named
named_user=”n min_hours” – to require a maximum of n users to be named, and to specify the minimum number of hours before the deleted user name can be re-added back to the list.
Managing the List
As was mentioned earlier, the license server can construct the list of users automatically as license checkouts occur, or the list can be entered via the RLM web interface by the end-user administrator. If entered manually, either individual user names or GROUP names (as defined in the ISV server options file) can be used.
Named_user licenses utilize the INCLUDE functionality of the license server, and do not need a fully populated list of users before the licenses can be used. In fact, no users need to be specified since the license server will add users who do not appear on the list if the current list size is less than the number of allowed named users.
How do ISVs license their products in library form?
Many independent software vendors (ISVs) who sell their products as complete applications also sell them as re-linkable libraries. Licensing the applications is pretty straightforward, but what about the libraries? How do ISVs tackle licensing of libraries?
RLM’s Simple API makes executing tactical adjustments to pricing and licensing policies easy
In these tough economic times it is critical to have the flexibility to address complex licensing policies quickly and easily. In a previous article RLM’s ‘Policy is in the License’ methodology was discussed, explaining how the RLM license policy is largely removed from your application. Since the license policy is defined in the license keys, a single binary can support many license policies.. Once RLM is implemented, you can address ever-changing business rules by simply varying the type of keys that you issue. RLM can support a wide range of licensing options and policies. Many of these policies have been covered in previous articles and are summarized here (with link to original article):
- Trial and Evaluation Licenses are implemented using a license with an expiration date, and possibly a “demo” flag, to make your product accessible to would-be buyers. Since eval/demo/trial licenses can also be easily turned into full, “purchased” licenses, a trial version of your product is the logical first step in a successful sales process. Well-designed eval/demo/trial licensing programs will reduce your cost of sales, increase customer satisfaction and productivity, all while expanding your reach into wider geographies and attracting new types of users.
- Floating and Node Locked Licenses can be implemented as needed and depend largely on how your software is intended to be used, shared or unshared. Floating licenses are free to “float” across the network to users who need them. The license manager controls access to these floating licenses via a central server that enforces the maximum license count that you have set for this site. Node-locked licenses, on the other hand, are usually uncounted, allowing an unlimited number of copies to run on a specified host.
- NAMED_USER, or USER_BASED Licenses are a class of floating licenses that must be assigned to user names so that they cannot be used as widely as unrestricted floating licenses. With a named_user license, the license server can construct the list of users automatically as license checkouts occur, or the list can be entered/modified via the RLM web interface by the end-user administrator. Gives you more pricing depth.
- Token Based Licenses are among the more-advanced features that provide a license model to your customers to enable license alternates. This is the case where you sell a single product that consists of many separately licensable components (product and sub-product model). If you sell product bundles at a special discounted price, then customers can purchase a combination of both the bundles and the components of the bundles in order to match their requirements. Token based licensing allows you to define product rights in terms of relative value between your products, or allow a user to consume a mix of your products up to a pre-determined level of value. This model also allows you to introduce new products into your customers easily since the new products consume the same licenses (tokens) that are already installed.
- WAN/Time Zone Licenses use time zones in the license file to increase your pricing options. Your biggest customers usually connect their geographically dispersed sites via a WAN. When they do that, they can potentially share your floating licenses across the globe. For a variety of reasons you may want your licenses to be used only within a particular time zone.
- Subscription based Licenses are supported using the start and expiration dates in the license file. 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.
- Version based Licenses can be implemented to support versioning control by either version number or version release date. License requests beyond the version number or release date would be denied, presenting an opportunity to remind the customer that access to that version requires a new license obtained only via a support contract extension, again providing an avenue for maximizing ongoing revenue.
- Licensing on Virtual Machines is supported in RLM via a parameter in the license itself that controls whether it will or will not run under VM. Vendors can deliver both kinds of licenses to their customers – disabled and enabled – allowing them to, for example, issue short-term VM-capable licenses for testing and evaluation purposes, but disabling other licenses for long-term production deployment, or allow certain customers, but not all, to run their licenses on VMs.
The remainder of this article will briefly discuss a few other 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:
- License Options field specification is used to encode options for the product. Do you have the need to restrict information access or usage within you application? Do you want to limit the number of database records that can be created or accessed, the number of accounts that can be open, the number of portals that can be accessed, etc.? This information can be entered into the ‘Options’ field and extracted by your application to further limit or define the applications internal processes.
- Contract field 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 field would be used to identify the organization which issued the license, such as a third party distributor etc.
- Customer field can be used to identify the customer of the software and can be displayed by your application to the end-user. This can be an added incentive to keep honest users honest. It is unlikely that Mega South-East Airlines would want to use a license that was issued to Main St. Bank.
Even though it is wise when starting out to keep the implementation relatively simple, it is very important to have options to address the changes due to market pressure, economic stress or customer feedback. RLM’s licensing methodology gives you the flexibility to address the ever-changing business rules. Reprise Software’s experts can help you plan your optimal approach. Please feel free to contact us to discuss.
Consider your end user and long term support implications when designing your licensing implementation
In this article we attempt to provide a framework for how well-behaved applications use RLM. Adherence to these guidelines will be greatly appreciated by your end-users who will see more consistent implementations across their RLM ISVs. This will also translate into support savings for you, as applications from different RLM ISVs will behave in a more consistent fashion.
How do I harness the power of the license manager? What rights should I give to my customers? Let's first look at basic elements of a license that you can control, then look later at some other important parameters that can further refine your licensing policies.
Since software license keys contain entitlement information, it makes sense to protect those data from tampering and corruption. It would be tempting for an unscrupulous user to change a license count from 10 to 100 by simply tacking on an extra zero, or to upgrade your v2.0 licenses to v5.0 with a similarly simple edit.