


When your license management solution is too restrictive you may restrict the software use of your customer. Never implement license management against your customer. License management (this way) works against your customer.Writing license management code you spend your time on non-productive code.It can be used that way but it will have two major effects which will ruin your business: This company knows very well that license management is not to prevent the unauthorized use. Were they crazy? Why were they happy to know that their software was cracked? When the number of the days was only one single they, why did not they consider applying stronger license enforcement measure, like morphing code, hardware key and so on? The smaller the number was for their software the happier they were. Once I worked for a company where one of the success measurements of their software was the number of the days after release till the cracked versions appeared on the different sites compared to the same value of the competitor. You just never know which of the sites are funded by secret services or criminals (if there is any difference) and you never know if you install spy software on your machine using the cracked version. I do not recommend to do that and not only for ethical reasons though. On some sites hosted in some countries you can simply download the cracked version of practically any software. It is possible and there is a great source of examples for it. There are tools that help to analyze and decode the binary to more or less human readable format and thus it is possible to circumvent the license management. The ultimate “source” for the execution is there after all: the machine code. The truth is that there is no fundamental difference between closed and open source code in this respect. It is not possible to alter the program so that it circumvents the license enforcement code, and thus there is a real role for license rights enforcement. (Are they?) In that case the source code is not available for the client. The code is there and if anyone just wants to abuse the program there is nothing technical that could stop them. When you develop an open source program, there is no much you need to or can do to enforce license rights. License managers are used to enforce license rights, or at least to support the enforcement.
