PythonOT/POT

Upstream Licencing conflict with GPL: POT and CVXOPT

Closed this issue · 3 comments

Describe the bug

POT uses MIT, but has a requirement for CVXOPT, which uses GPLv3 (Likely because it uses GLPK). This means that any upstream code cannot use an incompatible license with GPL (e.g. Apache).

Additional context

This arose in the context of exploring the possibility of having POT as a requirement for xclim. We can't downgrade our licenses due to branding issues, so as a result we cannot use POT without licensing violations.

https://opensource.stackexchange.com/questions/1640/if-im-using-a-gpl-3-library-in-my-project-can-i-license-my-project-under-mit-l (specifically: this answer suggests that until the CVXOPT is imported, POT is MIT, but after that, it is GPLv3. )

An option for fixing this might be making CVXOPT an optional requirement. It already seems to be optional in the codebase, given the try-catch on the import, but it is not in requirements.txt

CVXOPTis already a optional requirement and run perfectly without it (albeit slower on some functions), it is in the requirement.txt but we are pkaning on making a requiremenat_all.txt with all optional dependencies. Optional depenencies are imported only if available so you can instal POT without CVXOPT and remain full MIT

This Issue is solved by #627 so I'm closing it