I'm developing in Python using Qt5 (PyQt5), which uses GPL v3 (http://www.gnu.org/licenses/gpl-3.0.txt).

I understand I need to make the source available, but if I create a separate file secret.py which contains only one line - the secret API key I use to communicate with my server (it's like a password), and that file or the API has nothing to do with the PyQt, Qt - do I need to show it in source?

Can I compile the software to executable file and attach source without the secret.py, or that is against the license?

  • 1
    Perhaps slightly-off-topic, but have you considered the security implications of the secret being embedded in the binary? Obfuscation via compilation may be sufficient for your risk appetite (i.e. a person must know how to use a disassembler before they can extract the secret), but just wondering if you'd considered it. I guess my point is that ordinarily nobody would want to do what you are trying to do, which might help shed some light on your research for you. Nov 22, 2017 at 10:50

1 Answer 1


This seems to fall under "Installation Information" according to the GPL v3 license. "Installation information" doesn't need to be provided as source code, but it must be provided in such a way that others can take the source code, modify it, and make it work with the "Installation Information" that is provided.

(Technical: At the place where the passwords and secure keys are entered in the source code, I would modify the code so that it doesn't build, followed by instructions how to create your own passwords and secure keys. So you try to build the program, it fails, it points you to instructions, you follow the instructions and change the source files, you try to build again, and it works).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .