How to Implement Flexible Trial Versions and Licensing Options into Applications
Management has asked us to look into implementing licensing features into some existing applications. Up to this point these apps were simply paid for and customers could install them as they please. We need to implement a new licensing model to generate more revenue because our older products work well enough that people do not have a reason to upgrade. So our new customers will have to pay licensing fees and/or be limited to how many installations they can have. I have never dealt with this stuff before, so please pardon my ignorance. I need as much guidance as possible (steering me in the right direction would be great!). We need the following...
- Time limited demo versions. When they install the software, it works with full features for a fixed amount of time. After that, when they try to run it, it tells them their license has expired.
- Licensing option that limits the app to run on a par开发者_StackOverflow社区ticular machine.
- Licensing option that limits the app to being run by a particular user.
- Licensing option that limits the app to a certain total number of users or concurrent users.
Number one is pretty simple to figure out, but I have no idea how to go about implementing the other three. Any advice is greatly appreciated.
I would look at 3rd party solutions for this honestly. There are a lot of concepts intrinsically involved in licensing, and for the cost of one week of development time you can buy a fully featured licensing product to integrate into your stuff. This is a case where writing your own is probably not worth the hassle.
I've previously used the Desaware licensing system for user and machine based licensing. Works well enough, no complaints. I believe their framework will be robust enough to handle all 4 of your requirements. http://www.desaware.com/products/licensingsystem/index.aspx
All these scnarios can be pretty complicate to implement and get just right (and hassle-free). Instead of wasting your time on this, consider using a commercial licensing solution like CryptoLicensing. It supports all the scenarios you want including trials, machine-locked, user-locked and floating/concurrent.
DISCLAIMER: I work for LogicNP Software, the developers of CryptoLicensing.
精彩评论