A wonderful person with green eyes (lovely color for me) named Fink would say: "We have two chairs"
First of all, we must to provide a simple way to share our programm. Secondly, we want to prevents illegal distribution.
On this life stage i decided to use activation key, for first run. After that the licence bind to hardware data (Mac, chip, amount of cpu cores, and ram size)
All this boolshit keept in txt file, of cource. Because i use symmetric encription, to somehow hide this from prying eyes.