The Python license
Terry Reedy
tjreedy at udel.edu
Wed Dec 4 23:09:55 EST 2013
On 12/4/2013 10:17 PM, musicdenotation at gmail.com wrote:
> The third clause of the PSF license requires you to include a brief
> summary of changes in Python-derived software.
"In the event Licensee prepares a derivative work that is based on or
incorporates Python 3.3.3 or any part thereof, and wants to make the
derivative work available to others as provided herein, then Licensee
hereby agrees to include in any such work a brief summary of the changes
made to Python 3.3.3."
A program written in Python uses some Python interpreter to execute but
is not a derivative work of any of them, as meant above. (Similarly, a
Standard C program is not a derivative work of any of the numerous C
compilers.)
Examples where the above does or might apply:
Stackless Python 2.7 is based on CPython 2.7, but it alters the core
interpreter a bit to make some things work (or work better). In the
process, I believe that some 2.7 code is broken. So it should explain
how the 'Stackless 2.7' language is slightly different from 'Python 2.7'
(beside any bugfixes not ported back yet). (For one thing, we don't want
bug reports like "I ran this code on Stackless and it worked. When I ran
it on CPython, it failed. Please fix CPython.")
ActiveState Python x.y is CPython x.y, including the stdlib, plus some
3rd party modules, plus propriety code, including a package manager for
Windows. They *should* explain that, both to promote their distribution,
and to avoid misunderstanding about what is included with the PSF
distribution of CPython.
Some Python applications bundle the exact Python interpreter they work
with. If they alter the bundled Python *and expose it to users*, as a
scripting language, then they should explain the language changes. If
they do not alter the bundled Python, there is nothing to explain (other
than the version), even if it is exposed. For instance, Libre Office 4.0
included a *nix-style copy of Python 3.3.0 for scripting purposes.
So the clause is needed, appropriate, and almost certainly not
applicable to you.
--
Terry Jan Reedy
More information about the Python-list
mailing list