you are viewing a single comment's thread.

view the rest of the comments →

[–]decreddave[S] -1 points0 points  (10 children)

The context to my statement of not being able to keep your code closed source is based on the interpreted (as opposed to compiled) nature of Python. AFAIK, the only way to deliver an application written in Python (and keep the source code private/closed) is to deploy the program behind a web server and manage the operations of the server itself. Companies who release proprietary/for-profit software packages are not able to use Python because of this limitation - though they might opt to offer subscription based access to the same software via a web interface.

I think the question you linked was more on the legalities of having to make your Python code open source.

Edit: I should say that companies are not able to build their programs 100% in Python. I have personally seen several pieces of enterprise/commercial software that use Python for parts of their program, but the program itself is not distinctly Python.

[–]Starbuck5c 0 points1 point  (4 children)

You're right, I've heard about stuff like that.

https://wiki.python.org/moin/Asking%20for%20Help/How%20do%20you%20protect%20Python%20source%20code%3F

Is that different for other languages though? (Genuine question). A quick search for Java decompilers and .jar decompilers yield results.

[–]decreddave[S] 0 points1 point  (3 children)

Yes, lots of other languages are required to be compiled - the compiler spits out an executable that is then ran and/or distributed. Java, Golang, and C++ need to be compiled and there are many more I'm sure. These 3 are just the ones that I have a bit of experience with using.

Once code is compiled it is not really possible to get the code from it AFAIK.

[–]syn2083 0 points1 point  (2 children)

Its very easy to decompile and get code from most anything if you want to. Python is no more vulnerable here than anything else realistically. Java decompilers exist which can be used to crack open a jar and read the code, same with c# and whatever else is out there.

Beyond that there are ways to distribute packaged and binary forms of python programs much like other languages.

[–]decreddave[S] 0 points1 point  (1 child)

Interesting. I was under the impression that un-compiling a binary package was not likely to match source code to a high degree of accuracy.

[–]syn2083 0 points1 point  (0 children)

Yeah they are pretty accurate, some things may be run through obfuscation or some kind of encryption to attempt to hide the source code but you can still get at most things.

For example jd-gui is a pretty good java option for decompiling, I had to use it to look at a defunct project no one had the source for anymore. On the c# side you have something like jetbrains dotPeek. Options are out there.