Requests: can we remove the 'chardet' dependence which is LGPL license

Created on 25 Oct 2018  ·  3Comments  ·  Source: psf/requests

Requests package is dependent on 'chardet' which is LGPL, I am not sure if one can call the package "Apache License" when its dependency includes "LGPL" license. Would be nice to replace 'chardet' with something else.

thanks

Most helpful comment

FWIW Maybe at some point it could be made pluggable and allow to switch with https://github.com/Ousret/charset_normalizer

All 3 comments

3389 #4417

Hi @8key, in the future please search both open and closed issues. Thanks!

FWIW Maybe at some point it could be made pluggable and allow to switch with https://github.com/Ousret/charset_normalizer

Allowing the use of something like charset_normalizer would be really nice, as currently the only GPL-like licenses dependency in our project is chardet and that is a dependency of requests. requests is awesome and we really need to use it, but the LGPL dependency gives people on the team worries.

If charset_normalizer has feature parity, the MIT license it brings would be much appreciated.

The concern is that for a closed-source project that uses requests, LGPL imposes some extra requirements on the LGPL portions (chardet) that could be bundled by the closed-source project depending on how they distribute (pyinstaller, bundling PyPI dependencies, etc):


  1. Combined Works.

You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:

a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.
e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)

Was this page helpful?
0 / 5 - 0 ratings