Licensing model, A or B?

I got tow options for licensing model:

A: Our software will have trial version and full version. Trial version can not be converted to full version. After purchasing, user will get a serial number and then he/she can download the full version on our website with the serial number. Besides the full version downloading, a license code will be generated and user have to use it to activate the license on their PC. No machine binding. User can use it on any machine or limited number of machines.

B: Trial version can be converted to full version. After purchasing, user get a serial number and then have to activate the license with the serial number, automatically or manually. The activation will use the machine’s information and user can install the software on limited number of machines. For offline users, we can provide a floating license server, which has to online and be activated. User can get the activation code on our website and then activate the license by hand if his/her machine is offline.

What do you think about these two? Any comments are welcome!


I’m not sure why, as well as a serial number, they would need a separate license code for A.?

yes, we can setup a public/private key signing schema to make much more security.

My point is that a separate file sounds like it will be hardware locked, which puts people off, yet you say it won’t be? So you would risk discouraging sales with zero benefit.

Regarding A or B, it’s hard to say without knowing more about the product and the market you’re selling to. For example a trial version that can be converted can also be pirated with greater ease, though that is far less of an issue in some markets than in others.

Can you tell us more about the project?



From past experience and having work with a large customer base, the most common approach is option B because having the user install another software after buying is just another hurdle your customers will have to jump through to use the software. You’ll want to make the process as friction less as possible.

If they’re offline, you can have them email you the hardware ID and then you can send them back a license file. If there’s no hardware locking, then just send them the license. I’m not sure how a floating license mechanism can work in this scenario if the customer is offline.

We provide a software that can help you with this in case it’s needed: LicenseSpot

Our software is sort of file viewer. User just open it, view some files and then close it. And also the software doesn’t need to connect to the internet so we can not force a online activation. May a machine locking schema is a good idea. Thanks for your information.

Floating license is provided by our competitors. User likes this model because they can install the software on all their machines and their employees can use it on any machine within a limited seats. It costs less money. This model also solve the offline issues. User can active the software by the internal licensing sever.

If the licensing server is internal then you shouldn’t have any issues and the offline process should work as you’ve stated.


To say well-designed licensing has zero-benefit is ill-informed. The benefit of well-designed hardware-locked licensing is to increase revenue.

Well, serial-only licensing has the main benefit of being dead-simple to implement (so no need to buy from a third party with real experience in developing licensing solutions).

The obvious downside is that you have absolutely no control over who uses your software; i.e. lost revenue.

Obviously, I would recommend that. We cover the advantages and disadvantages of hardware-locked licensing vs. serial-only licensing, how properly designed hardware-locked licensing works, etc. in this article:

You can certainly do that, but with well designed hardware-locked licensing, offline-activated customers don’t need to use floating licensing. We actually cover this in our "Types of software licensing" article.

A customer can either activate online or activate offline and you don’t need to use floating licensing (or force customers that want to activate offline to use floating licensing). Don’t get me wrong, floating licensing is great (part of LimeLM is our high-speed, low-resource, highly-accurate floating license server: TurboFloat Server). But for the “normal” customer, it requires more steps and can be hassle.

It sounds like for your product you’d be best off using online activation for customers that are normally connected to the internet (the majority of B2B customer base), and for those on restricted networks just use offline activation (which is different than floating licensing).