- What are the parameters of the new Iodine electrical rocket engine developed by RSC Energia?
- Does any site track the mass of the ISS?
- ISS' change in mass over time; might there be a fairly high cadence plot?
- ISS mass gain or loss due to meteorites and the solar wind?
- is there a way to lock everything so settings won't get changed between rendering sessions?
- How to activate an action after another action happens
- How can I export a character animation using constraints and IK in FBX Format?
- How do you access and set a specific bone animation fcurve in python ? e.g. set pinky02_L z rotation = 8 degrees
- Cisco 220 Switch fail over
- Reverse Engineering OLD DOS Programm
- what is COERCE_FLOAT in ida Hex-Rays' C++ pseudocode?
- Should I say “laundry poles on the veranda” or “laundry poles in the veranda”?
- “bigger” vs. “more big”
- meaning of the verb “model” in context
- “Bring them back to society” vs “bring them back in to society”
- I will ring you in the evening
- meeting on a weekly-basis
- Make a question of this sentence
- `it` is a typo or something else?
- Give airspace to do something
Can a non-GPL python program use GPL Python module?
Suppose I have a Python library which is distributed under the GPL license. I would like to use that library in my program, that I may eventually want to distribute under non-GPL terms.
The library itself is not pure-Python: parts of it core functionality is written in C/C++. The Python interpreter calls those C parts an "Extension", compiles as dynamically-linked library (.so or .dll), and loads during the runtime when I'm importing the library.
My concern arises from reading the GPL FAQ, where they state the following:
If a programming language interpreter has a license that is incompatible with the GPL, can I run GPL-covered programs on it?
When the interpreter just interprets a language, the answer is yes. The interpreted program, to the interpreter, is just data; the GPL doesn't restrict what tools you process the program with.
However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries),
I am not a lawyer, and this is not legal advice.
I'm importing the library.
Importing the library essentially means you are linking to the GPL library. Hence, your program must also be GPL.
Obviously, this site generally prefers if you release all of your software under and open source license, but we realize this is not always feasible. Depending on your use case, there may be a way to use the library without licensing your entire project under the GPL. For example, you could create a wrapper for this library and then have your main program execute the wrapper via a python os.system() or subprocess.Popen() call. In this case, you would be required to release the wrapper under the GPL, but the main program could be released under a license of your choice (assuming no other licensing restrictions by the software stack you are using). Remember not to import your wrapper or the third party library in your main executable if you go this route.