* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!


» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)


Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

How to license a software tool?


My company is looking for alternatives and web resources about how to license a software tool.

This is a list of thoughts and concerns:
- The tool can be used by a few people on many computers in a large organization for critical tasks. Licensing it by machine where it runs is very extreme. On the other hand selling it just three licenses for a critical task is very cheap.
- A site license seems the more appropriate way of licensing, but in my opinion this license is attached to the idea of very expensive.

More licensing resources and out of the box thinking is welcomed. I am looking forward for your thoughts.

Thank You,
Sebastian Wain Send private email
Monday, March 25, 2013
Hey Sebastian,

Here's a good place to start: http://wyday.com/limelm/features/why/

It's an article we've written that covers the types of licensing and how hardware-locked licensing is designed. Obviously the article is written with the purpose of selling LimeLM, but a majority of the article is general information about properly designed licensing.

>> "Licensing it by machine where it runs is very extreme."

Hardware-locked licensing is only extreme if it's poorly designed. We cover this in the article I linked to (it's near the bottom after the "How hardware-locked licensing works" section).

Well designed hardware-locked licensing has flexibility. For instance if you want to allow customers to buy 1 license for 2 computers (or N computers) then, in LimeLM for example, you can set the number of "allowed activations" to 2 (or any number N).

Another example of flexibility of hardware-locked licensing is "fuzzy" hardware matches. In other words, LimeLM allows you lock a license of your app to a specific machine, but it is flexible enough to know when a user has changed components in their computer the computer is still the same. For example, if a customer activates on your computer then they decide to replace their primary harddrive (and thus also reinstall Windows) the user can simply re-install and re-activate again on that computer if you're using LimeLM. Our licensing is smart enough to know the computer is the same. (You'd be surprised how many licensing solutions screw up something as commonplace as replacing a harddrive).

>> "A site license seems the more appropriate way of licensing, but in my opinion this license is attached to the idea of very expensive."

This "site license" (a.k.a. floating license) is another form of hardware locked licensing. We don't cover this specific variant in our article but the basics are this:

1. A customer activates a "floating license server" somewhere on their local LAN (it uses hardware-locked licensing for the activation). This floating license server dishes out "temporary activation" measured in minutes (and renewable) to other computers on the LAN. This allows you to limit the number of concurrent instances of your app can run in the computer's network.

2. Then this customer can install your actual app to as many computers as they need. And when they start your app the app requests a "license lease" from the floating license server that's sitting elsewhere on the network.

That's a general overview. Tell me if it's helpful. If you need clarification on any point or need me to go into detail on any of the specifics then just ask. I'll be glad to help.
Wyatt O'Day Send private email
Monday, March 25, 2013
Is there a need to run the your tool on all those computers simultaneously?

If yes, I would license per machine, with volume discounts.

If no, I would consider a floating license.
Dmitry Leskov Send private email
Tuesday, March 26, 2013
Here is a article we wrote which you might find useful:

"An Effective And Hassle-Free Machine Locking Scheme For Software Copy Protection & Licensing"



Another article discusses using floating licenses using a customer deployed (LAN based) license server:

Add Network Floating License Capability To Your Software


DISCLAIMER: Both articles above refer to CryptoLicensing, which is our licensing and copy-protection tool.
ssware Send private email
Tuesday, March 26, 2013
Wyatt: thank you, I'll review your web resources, analyze them and get back with any question.

> If yes, I would license per machine, with volume discounts.
What makes me "uncomfortable" with per machine license is that the tool can be potentially be used on every machine or on a few and it is difficult to know this in advance. I think that software tools.

I found for example a discussion about the Ghost tool (disk cloning) from Symantec here http://www.symantec.com/connect/forums/ghost-license-query

Sadly the problem is similar but they license per machine. So, if you are a PC technician you need to pay for every small customer PC that you have.
Sebastian Wain Send private email
Thursday, March 28, 2013
Well, a large company such as Symantec can get away with that and many other things.

If you don't want to bother with activation, hardware locks, and other stuff that admins hate, price your tool per named user and then multiply the price by a factor that depends on the number of PCs those users manage, for instance:

1 named user $1,000
1-10 PCs x1
11-25 PCs x1.25
  .  .  .
10000+ PCs - call for pricing

BTW, you asked for resources, here is one:

Dmitry Leskov @Home Send private email
Thursday, March 28, 2013

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz