-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License may not be properly implemented? #209
Comments
Thank you very much for bringing this up! |
@banesullivan I spent some time investigating details of licenses and their implications and there are some remaining questions where I was not able to find a definitive answer:
Any insights from your side on this would be highly appreciated! To get an idea of what my dependencies are using, I checked with the nice pip-licenses tool: Here are some results (using dependency-groups from #216). minimal dependencies (e.g.
|
Name | Version | License |
---|---|---|
packaging | 23.2 | Apache Software License; BSD License |
python-dateutil | 2.8.2 | Apache Software License; BSD License |
click | 8.1.7 | BSD License |
colorama | 0.4.6 | BSD License |
contourpy | 1.2.0 | BSD License |
cycler | 0.12.1 | BSD License |
descartes | 1.1.0 | BSD License |
kiwisolver | 1.4.5 | BSD License |
numpy | 1.26.2 | BSD License |
scipy | 1.11.4 | BSD License |
shapely | 2.0.2 | BSD License |
Cartopy | 0.22.0 | GNU Lesser General Public License v3 or later (LGPLv3+) |
Pillow | 10.1.0 | Historical Permission Notice and Disclaimer (HPND) |
pyshp | 2.3.1 | MIT |
fonttools | 4.47.0 | MIT License |
pyparsing | 3.1.1 | MIT License |
pyproj | 3.6.1 | MIT License |
six | 1.16.0 | MIT License |
certifi | 2023.11.17 | Mozilla Public License 2.0 (MPL 2.0) |
matplotlib | 3.8.2 | Python Software Foundation License |
full set of dependencies (e.g. pip install eomaps[all]
)
Name | Version | License |
---|---|---|
importlib-metadata | 7.0.0 | Apache Software License |
requests | 2.31.0 | Apache Software License |
rioxarray | 0.15.0 | Apache Software License |
tzdata | 2023.3 | Apache Software License |
xarray | 2023.12.0 | Apache Software License |
packaging | 23.2 | Apache Software License; BSD License |
python-dateutil | 2.8.2 | Apache Software License; BSD License |
cligj | 0.7.2 | BSD |
llvmlite | 0.41.1 | BSD |
multipledispatch | 1.0.0 | BSD |
partd | 1.4.1 | BSD |
OWSLib | 0.29.3 | BSD License |
affine | 2.4.0 | BSD License |
cairocffi | 1.6.1 | BSD License |
click | 8.1.7 | BSD License |
click-plugins | 1.1.1 | BSD License |
cloudpickle | 3.0.0 | BSD License |
colorama | 0.4.6 | BSD License |
contourpy | 1.2.0 | BSD License |
cssselect2 | 0.7.0 | BSD License |
cycler | 0.12.1 | BSD License |
dask | 2023.12.1 | BSD License |
datashader | 0.16.0 | BSD License |
descartes | 1.1.0 | BSD License |
fiona | 1.9.5 | BSD License |
fsspec | 2023.12.2 | BSD License |
geopandas | 0.14.1 | BSD License |
idna | 3.6 | BSD License |
joblib | 1.3.2 | BSD License |
kiwisolver | 1.4.5 | BSD License |
locket | 1.0.0 | BSD License |
lxml | 4.9.4 | BSD License |
mapclassify | 2.6.1 | BSD License |
networkx | 3.2.1 | BSD License |
numba | 0.58.1 | BSD License |
numpy | 1.26.2 | BSD License |
pandas | 2.1.4 | BSD License |
param | 2.0.1 | BSD License |
pycparser | 2.21 | BSD License |
pyct | 0.5.0 | BSD License |
rasterio | 1.3.9 | BSD License |
scikit-learn | 1.3.2 | BSD License |
scipy | 1.11.4 | BSD License |
shapely | 2.0.2 | BSD License |
threadpoolctl | 3.2.0 | BSD License |
tinycss2 | 1.2.1 | BSD License |
toolz | 0.12.0 | BSD License |
webencodings | 0.5.1 | BSD License |
colorcet | 3.0.1 | CC-BY License |
CairoSVG | 2.7.1 | GNU Lesser General Public License v3 or later (LGPLv3+) |
Cartopy | 0.22.0 | GNU Lesser General Public License v3 or later (LGPLv3+) |
PyQt5 | 5.15.10 | GPL v3 |
Pillow | 10.1.0 | Historical Permission Notice and Disclaimer (HPND) |
PyQt5-Qt5 | 5.15.2 | LGPL v3 |
pyshp | 2.3.1 | MIT |
snuggs | 1.4.7 | MIT |
PyYAML | 6.0.1 | MIT License |
QtPy | 2.4.1 | MIT License |
attrs | 23.1.0 | MIT License |
cffi | 1.16.0 | MIT License |
cftime | 1.6.3 | MIT License |
charset-normalizer | 3.3.2 | MIT License |
fonttools | 4.47.0 | MIT License |
netCDF4 | 1.6.5 | MIT License |
pyparsing | 3.1.1 | MIT License |
pyproj | 3.6.1 | MIT License |
pytz | 2023.3.post1 | MIT License |
six | 1.16.0 | MIT License |
urllib3 | 2.1.0 | MIT License |
zipp | 3.17.0 | MIT License |
certifi | 2023.11.17 | Mozilla Public License 2.0 (MPL 2.0) |
defusedxml | 0.7.1 | Python Software Foundation License |
matplotlib | 3.8.2 | Python Software Foundation License |
PyQt5-sip | 12.13.0 | SIP |
Just noticed that cartopy is also in the process of switching from LGPL to BSD-3: SciTools/cartopy#2285. This stripps the question for the EOmaps license down to using either |
I think MIT and BSD-3 are both fantastic, permissive licenses and either would be a solid choice here. In practice, I don't think there would be much difference between these two licenses here. In my mind, I typically equate the MIT and BSD 3 clause licenses, but since I'm not a lawyer/expert, I'd like to point you to this great answer: https://opensource.stackexchange.com/a/582 Typically, I go with the MIT license for everything, but in this case I think following the precedent set by the core upstream dependency of using BSD-3 would be a sound choice here. |
Thanks for your insights on this... they very much align with my opinion! I'll start to implement relevant changes to switch to BSD-3 as soon as possible! Since there have been no substantial contributions so far (only 1-liners and typos and most of them are no longer in the code), |
There is now a PR to implement the switch from GPL to BSD-3 (#220) |
@banesullivan The change to BSD 3-clause has now been merged into the dev-branch to be included in the upcoming v8.0 release (#205)! In addition I also added a section on Licensing to the FAQ to clarify that some upstream dependencies
The good thing is that once the switch to BSD for In my opinion this should address any Licensing concerns for EOmaps mentioned in this issue. Please let me know if you see any further issues that should be addressed. (otherwise, I think this can be closed) |
This all looks excellent and sounds good to me! Glad you found a compatible license and are happy with the implementation! |
Please reference the instructions from the license itself on how to apply it to your work. My impression is that you are not correctly following this at this time and technically it is unclear who the copyright is held by.
EOmaps/LICENSE
Lines 623 to 674 in 7136149
I also want to highlight a note from @jhkennedy in pyOpenSci/software-submission#138 (comment) that I second greatly:
Major +1 from me.
I want to ensure that you have deeply thought about your choice of license here and feel confident in using and applying that license to your work as well as understanding the tradeoffs that license may provide:
The text was updated successfully, but these errors were encountered: