Program License Basics
Previous Topic  Next Topic 

The purpose of issuing licenses for your applications is usually to discourage illegal copying and sharing of your software by issuing each user with their own license key, usually paired with some personal information, such as the user's email address.

 

Also, a license key can be used to restrict the application to a limited trial period, so that users can try out software without any obligation to purchase, but are nevertheless obliged to purchase if they wish to continue using the software. Providing free trial periods is an almost essential selling aid.

 

Unlimited-time licenses

 

These give the user after purchase unlimited use of the software. The license key never expires. License Generator can generate this type of key.

 

Renewable licenses

 

These are common for subscription based services like anti-virus programs, where the user is expected to pay a license fee each year to renew their license. These keys are effectively the same as time-limited trial licenses, except their expiry is usually 365 days or more, rather than the typical 15 - 30 days of a trial license. License Generator can generate this type of key.

 

Time-limited trials

 

There are two types of time limited trial. 

 

In the first type, the user gets, say 30 days usage of the software from the date of installation. The disadvantage of this type of trial is that the user can simply reinstall to get more time, and this involves the programmer to create hidden flags that prevent a reinstallation from being runnable after the initial trial expiry.

 

In the second type of time limited trial as provided by License Generator, the trial start date is secretly encoded in the license key. The user gets, say 30 days usage of the software, from this start date, which is usually the date of download of the software from the web site. It doesn't matter how many times the user reinstalls the trial still expires 30 days after the download date. The user can change the date on their PC to circumvent this type of license. For date sensitive software such as accounts programs, this is not a practical option. For programs that are not particularly date-sensitive, the program should include date change detection code at startup, so that it can disable the application, if the user reverses the PC date from what it was formerly.