I have an application I have written in Python, that is being packaged with Pyinstaller.
From what I understand (and I am not a lawyer) and from the Pyinstaller FAQ bundling the source code and distributing with my own license seems like it is OK (points 1 and 2). I have no intention of modifying the Pyinstaller source in anyway, so I don’t believe there are any issues here (relating to the Pyinstaller GPL license, points 4 and 5).
My question is specifically about my dependencies, beyond the standard library. pip list
for my Virtual Environment gives
(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
Using numpy as an example 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:devtoolvenvlibsite-packages Requires: Required-by:
And if I look at the BSD license file
* 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.
Does this mean that I need to copy the numpy LICENSE.txt
file, and distribute it along with my distributed application (and the same for all other dependencies)? Does this example constitute redistribution in binary form?, or have I misunderstood the meaning here?
It seems like any project with more than a few dependencies, that was using Pyinstaller would have a very large task to keep on top of these dependencies, and so it made me wonder if I was understanding these concepts correctly.
Advertisement
Answer
Yep, that’s what it means. This is why e.g. your car, your TV, etc. have a “Open Source Licenses” view somewhere in the menus.
On a related note, I’ve written a tool, license-grep
that generates a collated list of the various licenses used by projects in various languages.