Mike Meyer wrote: > There are ways to distribute > Python modules so that the user can't just open them in a text > editor. There are also ways to get cryptographic security for > distributed modules.
I know distributing as bytecode helps, but I was under the impression that the disassembers worked pretty well. With the dynamic nature of the language I expect that all the variable names are largely left intact. You win some, you lose some, I guess. As for cryptographic security, could you provide a link or reference for this? I am quite interested for obvious reasons. I'd be concerned that there's a weak link in there at the decoding stage, however. I have considered distributing my program as open source but with encrypted data. Unfortunately anyone can just read the source to determine the decryption method and password. Maybe I could put that into an extension module, but that just moves the weak link along the chain. > Yes, if you use the same methods you use in C++, > it's "much harder". But by the same token, if you tried to use the > methods you'd use in a Python program in C++, you'd find that the C++ > version was "much harder". Well, I'm not sure what you mean here. A compiled C++ program is much harder to extract information from than a compiled Python program. That's without applying any special 'methods' on top of the normal distribution process. > Of course, as Alex pointed out, all of these are just keeping honest > people honest. The crooks have all the advantages in this game, so you > really can't expect to win. No, certainly not. But if you can mitigate your losses easily enough - without infringing upon anyone else's rights, I must add - then why not do so. -- Ben Sizer. -- http://mail.python.org/mailman/listinfo/python-list