We're evaluating a couple of Python libraries for Graph manipulation. We tried 'networkx' (http://networkx.lanl.gov/) and 'igraph' (http://igraph.sourceforge.net/).
While both are excellent modules, igraph is faster due to its nature - it's a Python wrapper over libigraph - a blistering fast graph C library (uses LAPACK etc).
Now, the igraph library is GPL licensed. My question is: Can I import igraph and use it in my commercial Python script?
(This is a general question, not just limited to igraph. Apologies if the answer is obvious - I'm a license-newb!)
Thanks, Raj
EDIT: More specifically, does simply importing a GPL Python module make my commercial code liable to be released to the public?
Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use.
The Python Software Foundation License (PSFL) is a BSD-style, permissive software license which is compatible with the GNU General Public License (GPL). Its primary use is for distribution of the Python project software and its documentation.
Use import to load a library module into a program's memory. Then refer to things from the module as module_name.
IANAL, etc etc, but:
The Free Software Foundation has consistently claimed that software linked to a library covered by GPL is a derived work, and thus needs to be covered by GPL itself (indeed, that's the main difference of the LGPL license). I don't know how the situation stands in court precedents in various jurisdiction, &c, but if you don't want to risk having to litigate on the issue [which would no doubt bring costs and bad PR even if it were to ultimately succeed], it may be more prudent to avoid linking to GPL libraries (including dynamic linking) if you don't want to distribute the sources to your code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With