There’s a lot of FUD and misinformation floating around about product activation right now. There are claims that product activation is somehow a bad or unnecessary solution:
To get people to pay for your software, you need to put some barrier in place that impresses on them that they are expected to pay for the product, and then forces them to consciously choose between honesty and dishonesty…. [activation] is not a necessary part of this equation.”
This is quite simply a naive opinion. The only alternative to “network-mediated activation” is to furnish the user with an serial number or unlock code of some sort. This is, as everyone knows, a ridiculously weak barrier. One malicious user can post their code on a website and the scheme is broken forever. I did experiment with unlock codes back in the day and came to the unfortunate realization that for every legitimate user, there were 10 others who were using a pirated code. Clearly offline unlock codes aren’t a viable solution at all. Relying on “honesty” is a huge mistake.
What activation allows is for reasonable limits to be placed on licenses. One has to realize that people will try to pirate software, and that in cases of rampant abuse it must be possible to stop the bleeding. The use of activation means that while honest users are given very liberal boundaries, rampant and excessive abuse can and will be stopped. 99.99% of users will never have an issue. In the few cases where the liberal boundaries are broken, there’s probably something suspicious happening. Sure, false positives can happen, but simple cooperation and open dialog are usually enough to fix those situations.
I’m writing this because indie developers are especially sensitive to piracy. Margins are so thin that piracy can easily make a project unsustainable. Are anti-piracy mechanisms bad for the user? Of course not. The honest user should never have an issue and the dishonest users are kept from ruining a project. After all, software that has been abandoned due to lack of financial support isn’t good for anyone.