Requests 包依赖于 'chardet',它是 LGPL,我不确定当它的依赖项包括“LGPL”许可证时是否可以称它为“Apache 许可证”。 用其他东西代替'chardet'会很好。
谢谢
嗨@8key ,将来请搜索开放和封闭的问题。 谢谢!
FWIW 也许在某个时候它可以是可插拔的,并允许使用https://github.com/Ousret/charset_normalizer进行切换
允许使用charset_normalizer
类的东西会非常好,因为目前我们项目中唯一的类似 GPL 的许可证依赖项是chardet
,这是requests
的依赖项。 requests
很棒,我们真的需要使用它,但是 LGPL 依赖让团队中的人担心。
如果charset_normalizer
具有同等功能,那么它带来的 MIT 许可证将不胜感激。
令人担忧的是,对于使用requests
的闭源项目, LGPL对可能由闭源项目捆绑的 LGPL 部分( chardet
)强加了一些额外要求,具体取决于它们的方式分发(pyinstaller,捆绑 PyPI 依赖项等):
您可以根据您选择的条款传送组合作品,如果您还执行以下每项操作,则综合起来,实际上不会限制对组合作品中包含的库部分的修改和用于调试此类修改的逆向工程:
a) 在组合作品的每个副本中给出显着的通知,说明在其中使用了图书馆,并且图书馆及其使用受本许可证的保护。
b) 将组合作品与一份 GNU GPL 副本和本许可文件一起提供。
c) 对于在执行期间显示版权声明的组合作品,在这些声明中包括库的版权声明,以及将用户引导至 GNU GPL 副本和本许可文件的参考。
d) 执行以下操作之一:
0) 根据本许可的条款,以适合并允许用户将应用程序与链接版本的修改版本重新组合或重新链接的形式传送相应的应用程序代码和相应的应用程序代码,以生成修改后的组合作品,按照 GNU GPL 第 6 节指定的方式传送相应源代码。
1) 使用合适的共享库机制与库链接。 一种合适的机制是 (a) 在运行时使用用户计算机系统上已经存在的库副本,并且 (b) 将使用与链接版本接口兼容的库的修改版本正常运行。
e) 提供安装信息,但前提是您需要根据 GNU GPL 第 6 节另外提供此类信息,并且仅在安装和执行通过重新组合生成的组合作品的修改版本时需要此类信息或将应用程序与链接版本的修改版本重新链接。 (如果您使用选项 4d0,安装信息必须随附最小对应源代码和对应应用程序代码。如果您使用选项 4d1,您必须按照 GNU GPL 第 6 节指定的方式提供安装信息以传达对应源代码。)
最有用的评论
FWIW 也许在某个时候它可以是可插拔的,并允许使用https://github.com/Ousret/charset_normalizer进行切换