Tuesday 1 July 2008

Improving Shareware Unlock Code Mechanisms

On my software I initially had an unlock code scheme where the user's email address was used to generate an unlock code. The user entered their email address and unlock code into the software's registration dialog and bingo they were up and running.

I then became a bit paranoid about people sharing unlock codes. The situation really is that other people became paranoid for me and thought I should tighten things up. In the second version of the software I switched to a code that was generated using specific features of the user's PC. A different unlock code was then used for each PC. I knew this was unadvisable but went ahead and did it.

The inevitable has now happened of course: when users change PCs they need a new code and email me. As the user base grows this is getting somewhat tiresome.

The other aspect that make this scheme undesirable is that whenever anyone asks for a new unlock code, I almost always give them one. There's no way I can distinguish between a genuine PC change and the user wanting to run a second copy. In any case, if someone wants to run a second copy I've no problem giving them a code - I just don't want them sharing codes with their friends.

I can easily change the software unlock mechanism in a future release and make it backward compatible with the present method. Question is: what's the best thing to do?

by ML

1 comment:

  1. Perhaps I was just a genius from the start.

    But I planned out my unlock strategy and my main worry, as you say, was people sharing the codes. I figured that if people were going to crack my software, they would and there wouldn't be much I could do about it.

    So I did put a lot of effort into producing some good functions after reading some articles on it.

    Anyway, I find my approach works well.
    My license code is 50 chars wide by about 15 lines long.

    It contains the users full name, email address and postal address. These details are shown on the about screen and in ideaspad in the splash screen.

    I believe this approach stops people from sharing their license code as they are effectively proving that they (by name and address) have given away their code, their personal information.

    I haven't really found any problems with this approach. I use ShareIT who hosts a key generator I developed, which produced the codes at the end of the cart.

    I have thought about creating 30 days keys for people who request a further trial, but in about 3 or 4 years with this strategy only one person has asked me. And I didn't believe that they were genuine anyway.

    Thoughts?

    ReplyDelete