我有一个用Python编写的应用程序,该应用程序与Pyinstaller打包在一起。
从我的理解(并且我不是律师)和Pyinstaller FAQ的角度来看,捆绑源代码并使用自己的许可进行分发似乎是可以的(要点1和2)。无论如何,我无意修改Pyinstaller源代码,因此我不认为这里有任何问题(与Pyinstaller GPL许可证有关,第4点和第5点)。
除了标准库之外,我的问题特别是关于我的依赖关系的。 pip list
为我的虚拟环境提供了
(venv) pip list
Package Version
-------------- ---------
altgraph 0.16.1
colorama 0.4.1
et-xmlfile 1.0.1
future 0.18.2
jdcal 1.4.1
nose 1.3.7
numpy 1.17.4
openpyxl 3.0.0
pefile 2019.4.18
Pillow 7.0.0
pip 19.0.3
PyInstaller 3.5
pywin32-ctypes 0.2.0
setuptools 40.8.0
以numpy为例pip show numpy
(venv) pip show numpy
Name: numpy
Version: 1.17.4
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: c:\dev\tool\venv\lib\site-packages
Requires:
Required-by:
如果我看一下BSD许可证文件
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
这是否意味着我需要复制numpy LICENSE.txt
文件,并将其与我的分布式应用程序一起分发(所有其他依赖项都相同)?这个示例是否构成了二进制形式的再发行?,还是我误解了这里的含义?
似乎任何具有多个依赖项的项目,使用Pyinstaller都要承担非常大的任务,以保持这些依赖项之上,所以让我想知道我是否正确理解了这些概念。
答案 0 :(得分:3)
是的,就是这个意思。这就是为什么您的汽车,电视等在菜单中的某个位置具有“开源许可证”视图。
在相关说明中,我写了a tool, license-grep
,该清单生成了项目以各种语言使用的各种许可证的整理列表。