-
-
Notifications
You must be signed in to change notification settings - Fork 364
Description
To whom it may concern,
We noticed that ZarrV3 introduced the following (non-optional) dependency: numcodecs[crc32c]
The Python package crc32c is licensed under LGPL. In general, I consider (L)GPL to be a license that is not well-suited for Python packages and it may create issues with MPL 2.0 which can be incompatible with (L)GPL based on how it is instantiated. Other problematic contexts are, e.g., redistribution of a software with closed-source extensions or plugins, where at least the distributor of the software is at risk of inadvertently making a mistake w.r.t. to having included (L)GPL licensed software. To the best of my knowledge, the exact scope or extent of LGPL within the context of Python is unclear, which is why it should be avoided.
Due to these reasons, I propose to:
- As a first step, to include numcodecs[crc32c] only as an optional dependency, such that it is convenient to not include crc32c. Note that crc32c itself is only an optional component within numcodec and it appears that numcodecs (without the optional crc32c) could be used instead.
- As a second step, to potentially drop the dependency on numcodecs altogether, see: a codec simplification planย #3162
Thank you for your attention.