On 7 Des, 23:37, xkenneth <[EMAIL PROTECTED]> wrote: > I'll shortly be distributing a number of python applications that > use proprietary. The software is part of a much larger system and it > will need to be distributed securely. How can i achieve this?
If you provide the application as a web service there is no need to distribute anything all. That is what Google does. You don't have to distribute your Python source code. You can distribute Python bytecode (.pyc files). Python bytecode can be decompiled, but the source can not be retrieved. The same is true for Java bytecode, .NET assemblies, even native executables and library files. Reverse engineering not just an issue for programs written in Python. You can oobfuscate the bytecode further. You can build your own Python runtime and scramble the opcodes. You can device a system that encrypts and decrypts the bytecode on the fly. But there is no foolproof way of doing this. Anything you do can be cracked by an expert. But you can make it very difficult to decompile the bytecode. You can watermark the bytecode sent to each customer. It will not prevent reverse engineering, but you will know who is sharing it on BitTorrent. You can use a license manager like Macrovision's flexlm. If you build your own Python runtime from source and scramble the opcodes, you would have a rather safe licence manager if it's linked with the flexlm client library. There is no universal answer to this question. It depends on your assessment of the risks and the measurements you are willing and capable of taking. How malicious do you expect your customers to be? How technologically competent are they? How paranoid are you? Etc. -- http://mail.python.org/mailman/listinfo/python-list