A while ago, we wrote a blog post entitled 101 license models. Since that time we followed up with posts on unrestricted license models, nodelocked license models, floating license models, and token-based license models. In this post, we explore the fifth set of license models described in that post – the Metered License Models.
Metered License Models
To review, a metered license model allow you to consume a resource when your program runs. Your customer can perform an action “N” times, or for a fixed amount of time. These licenses are usable by anyone who can contact the license server. Metered licenses can have any of the following attributes:
- computing environment limited
- customer name
- license type (beta, demo, eval)
- replace other licenses
- soft limit
- shared by arbitrary data
- shared by host
- shared by user
- software version
- timeout restrictions
- VM enabled
Ways to use Metered License Models
Metered licenses have 3 main uses:
- counting the number of invocations of a product
- keeping track of how long a product runs, or
- counting events within a product (e.g. pages printed, database lookups, etc).
In the first case, the license server decrements the meter each time the product checks out a license. For keeping track of how long a product runs, the server performs a decrement to the meter at a specified interval. Finally, for counting events, your software would perform a checkout request when the event happens.
A metered license model gives you control over the software which isn’t available with nodelocked or floating licenses. Metered License Models provide true consumptive licensing.