pypa / distlib

A low-level library which implements some Python packaging standards (PEPs) and which could be used by third-party packaging tools to achieve interoperability.
http://distlib.readthedocs.io/
Other
49 stars 38 forks source link

License of the Windows Executables #192

Open hrieke opened 1 year ago

hrieke commented 1 year ago

@vsajip I noticed in the source code of launcher.c that you have placed the code under the BSD 2-clause "Simplified" License.

Does this carry though to the included executables or do you re-license the compiled results under the Python Software Foundation License version 2?

See for a similar situlation.

And would it be too much to ask for a bit more details in the executable metadata? Exiftool shows the following: File Version : 1.1.0.14 Internal Name : t32.exe Legal Copyright : Copyright (C) Simple Launcher User Original File Name : t32.exe Product Name : Simple Launcher

You might consider adding your name to the Copyright and the license terms under under File Descriptions.

Thank you

vsajip commented 1 year ago

IANAL but the simple_launcher project where these executables come from is unconnected to the PSF, so its executables will be more appropriately BSD-licensed. It could be argued that distlib and therefore pip just use these executables in accordance with that license. Of course the intent is that the executables produced by a distlib / simple_launcher user should be unencumbered by any restrictions. I can certainly add my name and the license information to the executable, but I'm wondering if it'll cause confusion in that someone may think that I'm asserting copyright in a random executable generated by distlib / pip while installing a Python package.

hrieke commented 1 year ago

IANAL too- however, I see it as simplely Open Source using Open Source. (Really no different than the list of credits that Chrome publishes)

Since the simple launcher is licensed differently, but used in multiple projects, adding a notice would be a good thing and actually clear up confusion to those who look at these things.

Thank you

vsajip commented 1 year ago

Further complications:

So perhaps the best thing is to link to (a suitable location on) here from the Legal Copyright field, and layout the terms in more detail, e.g.

This executable is intended to be prepended to a script (the payload), which it then arranges to execute with a specified interpreter. The copyright and license of the executable with a payload is the same as that of the payload. The copyright and license of the executable without a payload is (C) 2011-2023 Vinay Sajip, licensed with the BSD-2-Clause license.

hrieke commented 1 year ago

My suggestion would be to make the copyright notice say "(C) 2011-2023 Vinay Sajip, BSD 2-Clause License." Description would point to the source code repo at https://bitbucket.org/vinay.sajip/simple_launcher/src/master/

If you have a Usage() function in your code, you could print out a larger notice with the details.

vsajip commented 1 year ago

Perhaps, but the BitBucket repo is no longer the canonical one (it was, but I moved the project here when they dropped Mercurial support). There's no usage function because the launcher is as dumb as possible, and keeps out of the way apart from doing the minimum required to launch the payload.

hrieke commented 1 year ago

Well, details as to the canonical repo location... Angels, Devils, Architecture and all of that. If no Usage(), perhaps an updated readme then?

Thank you BTW, for taking time out on this Sunday to answer my questions and putting in some effort on the book keeping side of things.