1

What is the best way of connecting some installed software with a certain computer via internet? I guess each install package (disk) should have its unique serial number. And the serial number should be connected to the computers unique parameters during installation, isn't it? As I know there are some approches that take from computer CPU ID and send to the server. Others recomed to use MAC address. So I am kind of confused and what to know what specialists do and recomend today.

Please share your experience and hint me the right flow of this process.

Narek
  • 38,779
  • 79
  • 233
  • 389
  • Why you want sell it? Why don't try any closed source license for free software and ads in program to buy it? Everything will be cracked :) – kravemir Aug 15 '10 at 07:47

1 Answers1

6

The best way is to not do that. It will only cause trouble for you and your paying customers.

That said, if you still want proceed the best practices today involves quite complex schemes. The best way to get an ID is to use multiple ID:s, like CPU ID, Hard drive ID, MAC address, etc. To identify a computer you have to match 3/5 ID:s or something like that. Then the license number will not break even if a user changes a broken network card or CPU.

You still have the problem if a users completely replaces his/her computer.
To handle that problem you need a licensing server on the internet where your software has to revalidate its license at given intervals. If a new computer ID tries to validate a license previously given to another ID the new computer gets the license and the old ID will be blocked when revalidating. You have to enforce a reasonable limit of how often new computers can "take over" an existing license.

Try to look at other commercial software how they do it. Take Windows for example. While you can not study the exact implementation you can study the end user experience and end user documentation to find your required use cases for how users can change hardware and move licenses to new computers.

If you don't want angry users calling your private cell phone at 2 AM asking why your software suddenly has locked it self you have to think this through and test a lot of use cases properly.

Albin Sunnanbo
  • 46,430
  • 8
  • 69
  • 108
  • "The best way is to not do that. It will only cause trouble for you and your paying customers." What you suggest instead? And by the way thanks for your reasonable arguments and +1 for that. – Narek Aug 15 '10 at 11:38
  • @AlbinSunnanbo why need multi-ID when MAC address is uniqe??? – AminM Dec 15 '15 at 18:36
  • 1
    @AminM, what if you change network card? Then it breaks. What if you change your MAC to the same as your friends computer, then you can share the license. Btw, I have 4 different MAC, one for the cable, one for WiFi and two for virtual interfaces for virtual machines. Which one to use? Which one is persistent? Multi-Id handles replacement of hardware components without breaking the license. – Albin Sunnanbo Dec 16 '15 at 15:44
  • @AlbinSunnanbo so what if change whole hardware?? – AminM Dec 18 '15 at 04:05