Skip to content
Advertisement

Licenses for dependencies with Pyinstaller

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.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement