Closed rabernat closed 3 years ago
Just to chime in since I opened the upstream issue. The reason we can't use it is mostly because we would LIKE to open source our code under MIT so that others can freely use it without restriction. For us, GPL only becomes a problem once we distribute our code to others, for example by open sourcing it.
Thanks for the clarification Noah. It's a subtle point.
hey @rabernat and @nbren12! Glad you hear that docrep
helps your project! I must admit that I am not a license expert, so please correct me when I am wrong. To my knowledge, GPL only makes a problem when you want to include the source code of docrep in your own package or software and redistribute it further. There should not be a problem if you just use it as a dependency. Isn't the latter an option for you?
There should not be a problem if you just use it as a dependency.
I believe that any library code links against (imports) GPL code is considered a "derived work" and subject to the copyleft restrictions. Our lawyers certainly see it this way. There are ways around this (e.g. we can call ffmpeg, a GPL code, from a python script under MIT because ffmpeg runs as a separate process). See this stack overflow thread. The key quote is:
If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means that combination of the GPL-covered plug-in with the non-free main program would violate the GPL.
This is the main difference between GPL and more permissive licenses like Apache or MIT, and is why most python packages avoid GPL.
oh wow, thanks for the lesson and the explanation @nbren12! @geyerb and @tobstac, this might be interesting for you, too.
I'll change the license of docrep to Apache then and close this issue when it is done.
Thanks so much @Chilipp!
Amazing! Thanks @Chilipp! 🏆
Hello and thanks for providing this excellent and useful package! We use it in xgcm: https://github.com/xgcm/xgcm
Some users of xgcm conducted a license audit and found that docrep (a xgcm dependency) is licensed under GPL (https://github.com/xgcm/xgcm/issues/308). These users can't use GPL-licensed code. Many commercial users can't use GPL-licensed code at all, which is why most of the scientific python stack avoids it.
Was GPL with its "copyleft" attributes a deliberate choice for docrep? If not, I was wondering if you would be open to changing your license to a "permissive" license like MIT or Apache.
Thanks for considering this question.