I recently made a few programs and I can't come up with a mechanism that allows me to prevent people copying my program while allowing me to give it to certain people.
There's no global variables I can use to detect if the program has been manually 'activated' by me or not. The closest thing to it is defining a function (each time I give the program) that returns a specific value and then making my programs call the function to check if it exists.
But then people can just copy the function along with the program to make it work.
Also, many programs I've downloaded from the Internet have hidden source code, so I can't just open the documents in MyLib and look at all the code. Instead there's an information page in the document or something. How do they do that?