-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
GPL license Pillow/XZ/FreeType #7061
Comments
Liblzma is an optional sub-dependency of LibTiff, no other parts of XZ are used. As stated in the note, FreeType is generally available under the FreeType license, but because that is incompatible with GPLv2, it is dual-licensed under that, so that you can use it in GPLv2 projects also. FreeType has been included in Pillow wheels for a long time now, nothing has changed with that. Liblzma was omitted for Windows in a few recent releases, but it has also been included in wheels for a long time. Note also the following from https://pillow.readthedocs.io/en/stable/installation.html#external-libraries:
Pillow wheels can load LGPL-licensed FriBiDi at runtime, but this does not make Pillow wheels fall under LGPL due to the linking exception in LGPL. |
Thank you for your valuable feedback. Is there a part in the documentation, license text or anything else which I can reference, to clarify that only liblzma is used? |
On Windows, only the Pillow/winbuild/build_prepare.py Lines 154 to 166 in 4f7070e
Either way, as noted in the XZ readme you quoted above, |
Thank you for your support. |
It's not clear to me if the above applies w.r.t how Anaconda miniconda installs Pillow for Linux and MacOS. The Pillow LICENSE.txt file installed by miniconda includes the freetype 2 notice (with choice of license). However, the libzlma notice portion states: (1) xz, xzdec, and lzmadec command line tools are in the public domain unless GNU getopt_long had to be compiled and linked in from the lib directory. The getopt_long code is under GNU LGPLv2.1+; (2) The build system contains public domain files, and files that are under GNU GPLv2+ or GNU GPLv3+. None of these files end up in the binaries being built. Wondering if there is a way to verify for (1) that getopt_long has not been built info the 10.0.0 version of Pillow installed by miniconda. I assume that (2) is not an issue that would GPL encumber distributing a miniconda image with Pillow installed. |
You can see a list of the wheels that Pillow distributes at https://pypi.org/project/Pillow/#files. In my limited understanding, I don't think that conda pulls from there, but instead uses wheels created by https://github.com/conda-forge/pillow-feedstock. So you may wish to go there to ask after their build process. |
It seems that pillow wheel on pypi.org lists xz/freetype and therefore GPL as third party license in the pypi wheel at least since b8fc734. xz had been added to the
winbuild/build_prepare.py
.Judging from the wheel license file alone, I have to assume, that latest versions of pillow are GPL...
I know that the GPL remark in xz refers to "different files in this package", but there is no statement if they were used or not. And I'm not sure if that is relevant.
The license text used for freetype is not as mentioned here using the custom license text, but rather refers to the "wrapper" suggesting you have to choose between GPL and BSD. The content of the two license files FTL.txt and GPL.txt has been placed below the freetype license. It is not obvious to a reader if the GPL license applies to pillow, or that those two files have been placed after the "wrapper" license text,
The text was updated successfully, but these errors were encountered: