-
Notifications
You must be signed in to change notification settings - Fork 71
Description
It would be good to remove GPL-3 licensing ambiguity. I have bolded the two suggested action items.
The GPL-3 license requires any derivative software to also be distributed under a GPL-3 license (i.e., "copyleft"). This causes two types of issues for pyfixest adoption in industry:
- It can't be in code that will be commercially licensed.
- Even for internal analytic work, the legal departments in larger companies may prevent its usage to eliminate licensing risks.
There are two potential issues.
First, based on a regex search of GPL in the repo, I can see four scripts with this in comments:
- src/collinear.rs - this notes that the author granted an irrevocable, written permission to redistribute and re-license the relevant code under the MIT License
- benchmarks/data_generation.r - same as above
- pyfixest/estimation/numba/find_collinear_variables_nb.py - same as above
- tests/test_ccv.py - this contains a comment stating it "has also benefitted from Daniel Pailanir and Damian Clarke's implementation in Stata available at https://github.com/Daniel-Pailanir/TSCB-CCV and published under GPL3 License."
The final script is the one that can be seen as problematic. It's not clear what it means for the implementation in that file to have "benefitted" from another piece of code. If the original Stata code was under GPLv3, its Python reimplementation might be a derivative work that would also need to be under the same license. Suggestion: get MIT license permission like was done with Laurent's code.
Second, pixi.lock shows packages in the lockfile under GPL-3. As far as I can tell, none of these are in the core package. Suggestion: create a separate core = [] environment in pixi.toml to readily demonstrate this.