Python license implications after modifying python or its interpreter

I am studying python interpreter including parser and further. If python interpreter is modified (C code like parser or additional features) what are the implications in terms of license? Few Qs below

when it is provided to developers/users, should source code of new changes has to be provided?

how about patches similar to used by commercial softwares like in gpl2 linux case?

what are terms of license for commercial use considering actual interpreter will be modified?

Are new changes required to be given to upstream python interpreter or can it continue with new interpreter?

can new changes be accomodated with new license alongwith dual presence of python license?

There may be significant efforts for new changes may I do and just before that need to get right direction.
Thanks in advance for your efforts to clarify.

Have you read the Python license? Please do so, especially the PSF part (again, if needed, possibly more than once). Some of your questions are answered there. Which clauses do you not understand?

Note that no one answering will be able to give you legal advice here and that anything said will come with an actual or implied disclaimer of any responsibility for anything said.

I am not a legal professional, and the following is merely my own non-authoritative interpretation, not legal advice or on behalf of the PSF. You should speak with one licensed in your jurisdiction if you have any doubts about how the PSF license applies to your case.

In addition, like Terry, I strongly suggest you read and re-read the PSF license. It is short, permissive, and only a few specific sections could plausibly be construed as applicable to your questions. I highlight them below:

  1. Subject to the terms and conditions of this License Agreement, PSF hereby
    grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
    analyze, test, perform and/or display publicly, prepare derivative works,
    distribute, and otherwise use Python 3.11.3 alone or in any derivative
    version, provided, however, that PSF’s License Agreement and PSF’s notice of
    copyright, i.e., “Copyright © 2001-2023 Python Software Foundation; All Rights
    Reserved” are retained in Python 3.11.3 alone or in any derivative version
    prepared by Licensee.
  1. In the event Licensee prepares a derivative work that is based on or
    incorporates Python 3.11.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.11.3.
  1. Nothing in this License Agreement shall be deemed to create any relationship
    of agency, partnership, or joint venture between PSF and Licensee. This License
    Agreement does not grant permission to use PSF trademarks or trade name in a
    trademark sense to endorse or promote products or services of Licensee, or any
    third party.

No such term is included in the license. However, you are required to do what is described in paragraph 2 and paragraph 3 (provide a summary of your changes to Python and if distributing in source form, retain all license texts and copyright notices, and if distributing in binary form, display them somewhere in your software in binary form).

Not totally sure I understand your question, at least to the extent it is different from the above. Python is released under permissive license, not a copyleft license like the GPL, so in general providing source code is not a requirement.

There appear to be no terms specific to commercial or non-commercial use in the license. See the above three paragraphs 2, 3, and 7 for the primary terms that appear to materially affect this use case, and the answer to your first question for a brief non-authoritative summary.

Additionally, note that per paragraph 7, the use of PSF trademarks, like the Python name and logo, is governed by the PSF trademark usage policy; please read and follow that as well. In particular, you cannot generally call your own software “Python” or use the Python logo as its logo without permission from the PSF, and you should follow the trademark usage policy for other uses of the Python trademarks.

See the answer to your first question.

Generally yes; as a permissive license, you can license your changes and the resulting substantially modified derivative work as a whole under any license you choose, including a proprietary one/all right reserved, provided the relatively minimal conditions (listed above and summarized in the response to your first question) are followed, and your license does not conflict with them.

Of course, if you are not employing an existing, established open source license, you should have a lawyer or other legal professional involved in some capacity to help formulate it, who can advise you of this (and also provide proper legal advice on the other aspects, if desired).

Be aware that you must include and follow all the licenses that follow the PSF license itself, as they all had the same inclusion demand that the psf specific license did, which is why they are included.

Though not required, the core developers would like you to report any valid bugs in current CPython itself that you find and any patches thereof that do not depend on your additions.

1 Like

Thanks for detailed reply. I read license before posting here. I understood basic things like copyright forwarding and trademarks as well as no mention about how to distribute future changes to its users/developers. When it is not explicitly mentioned and I felt before I just conclude I felt it is better to get it clarified. There has been lot of discussions about GPL with v2 and v3 and it is evident though I also worked on it and can understand intricacies. On page of python.org for license it is mentioned that GPL compatible though the clause which says that copyright forwarding without restriction, it actually sounds like BSD compatible and that also appeared me different or I may be mistaken. Your answers are sufficient for me to get clarity on licensing of python.

It is a permissive license like BSD 3-clause/BSD 2-clause and MIT (and compatible with them, yes). However, right below where GPL compatibility is mentioned, the page has a prominent note clarifying what GPL compatibility means and why it is discussed:

GPL-compatible doesn’t mean that we’re distributing Python under the GPL. All Python licenses, unlike the GPL, let you distribute a modified version without making your changes open source. The GPL-compatible licenses make it possible to combine Python with other software that is released under the GPL; the others don’t.