This time around, with NCT Compliance Search the license key problem is a little different. With a product like NCT Search I'm happy to give away full functionality for 30 days -- and extend that for people who ask. Its the kind of tool that really isn't valuable for you unless you decide to deploy it in a production application. Compliance Search is different. To begin with, there was a lot more work involved in making the thing run fast and stable. That doesn't really matter on the eval question, but it sets the tone a bit.
NCT Compliance Search is the kind of product that I really suspect there are some companies who will need it, and need it badly, but only once in while. Its most common use is for responding to court orders to turn over "all email related to.....". In a situation like that, if I give away full functionality in the beta, I really think I'm open to abuse of the sort where someone can download the tool, use it for a few days to meet the requirement, and then let it expire and hope by next time it'll be cheaper or he'll have more budget.
What supports this, sadly, is the number of <@#@()*&$> users who download NCT Search in demo form and lie outright or just fill in garbage on the registration page despite very clear language up front and center assuring them that they will not be bugged by salespeople (I don't have any).
The funny thing about keys like this, is you need to plan ahead. Once the product is out there, anything you didn't design into the key system can't be changed without a product revision.
My thought is to have four modes of operation with Compliance Search.
Fully Licensed -- All features work as expected
Evaluation -- All features work fully and all work is performed (so that the time it takes can be fairly evaluated) but after the first 10 result documents, all the results are obscured and unusable. This is the key you'd get from the download site.
Final Evaluation -- This is a key which can only be given out by me after a real conversation and a commitment from a customer that if it really does work like I say, they'll purchase it. They just need to be sure it does what it says it does in the evaluation mode. I really don't expect to give these out very often, if at all. Perhaps they can also be used for customers who pay through purchase orders. These keys will work exactly like a fully licensed key, but will self destruct in "n" days. Since I can set "n" to any value I want when I produce the key, it gives me flexibility.
Invalid or Expired Key -- The keys have built in recursive safeguards so that if someone does attempt to change part of them, they self-validate. There are a couple of parts in the key where a decent cracker could figure out (if he had a few different keys to look at) what appears to indicate some of the restrictions. Changing those reasonably easy to find parts however, would be detected and would invalidate the key. In this case, operation is just like in the Evaluation mode, but you don't get 10 real results first, and the obfuscation is a bit less kind.
Comment Entry |
Please wait while your document is saved.
and every time that you give an "obscured and unusable" result why you are
doing so. People are stupid... and distracted... and don't read much of
anything they are supposed to read, so you can't assume they will know why it
is happening.
Aside from that, you might want to consider pre-vetting. I don't send any
evaluation license without actually reading it. When people put in gibberish,
I write and tell them we need real information. Of course, the smartest ones
put in non-gibberish that looks real, and I can't usually detect that, but most
seem to tell the truth if I write and ask them to and assure them again that no
salespeople will call. I just tell them the product is too valuable to be
handed out without knowing who is getting it. It imposes a delay on when they
get a license, but my gut feel is that that does more to eliminate the window
shoppers who would never have bought anything than it does to turn off real
buyers.
One last thing. Make sure each license has a serial number and do not feel
constrained to give these strictly sequentially. I have changed the key
process a few times over the years, generally to make it more restrictive, and
I skip to some discontinous place and start making keys from there. That way,
I can change the rules and internally say "If the serial number is between
23000 and 25000, this restriction is in place". While it sounds complicated,
it allows me to do various special restrictions as circumstances require. It
also, in extreme circumstances, allows me to forbid certain serial numbers, so
a large customer that has not paid can't use any future upgrades (that would
usually be free).
Good luck with the new product. I hope it goes well.