On 5/4/19 8:35 AM, nathan tech wrote:
> It has to be said, after extensive research, and responses here, it 
> seems python was just not designed to be a commercial product.
> Licenses are all well and good, but if you're hacking a product, you're 
> just not going to be stopped by a lisence.
> Furthering to that, if I ever sold products it would be £5, or $7, and 7 
> bucks just isn't worth all the effort to make python difficult to hack.
> Nothing is impossible, but, deterring the average user just for $7? Not 
> worth it.
> Thanks anyway guys.
> Nate

A few more comments to add, this is philosophical and business model
territory, not coding, thus not necessarily the space we here are good at :)

As Alan observed, the purpose of "compile" in Python is not to
obfuscate, it is to improve the chances that the program works right as
delivered  without running into dependency and path problems.
(especially on Windows, a tricky target anyway and you should have
limited confidence any given system has Python installed)

There are people who have been working for years on "protecting" code
written in Python. Some claim to have technologies with very good
success. Personally, I tend to take those claims with a grain of salt,
and won't provide any links; some internet searching should turn up some

If you feel you have secrets to protect, or indeed simply want to
prevent people from using your code without paying there are several
different general approaches:

Licensing means - tell people they can't do that.
Technical means - the use of license keys, code obfuscation (*), etc.
Software as a service - put the "meat" of your technology as a web
service, give the application the user runs away for free but use some
sort of API/license key scheme to restrict who can actually use the service.
Better value - just make it not worth the time for people to cheat -
your product is so cheap the work to steal it costs more; you keep
adding new value such that reverse-engineers have to start over
frequently, etc.

There's a page on the Python wiki about this, which really doesn't have
that much information, but I will include anyway:


* Note on code obfuscation: people can do surprisingly sophisticated
things here.  One approach that has been used is to change the bytecode
emitted so it can only be read by a custom interpreter which you supply.
Dropbox did this.  Of course, researchers figured out how to decode it
anyway. I didn't realize this was so old, time passes...


This stuff definitely falls in the catgeory of "is it worth doing all
this to protect an inexpensive app"?
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:

Reply via email to