LICENSEWARE

Python Software Foundation licensing

This article is an overview of the licences, trademark policy, release lifecycle and paid services of the Python Software Foundation (PSF) as they affect organizations that use or redistribute Python. Deeper articles cover the PSF License and CPython redistribution, the Python release cycle and end of life, and PyPI package licensing and organization accounts. It is not legal advice.

On This Page

Python Software Foundation licensing is the set of terms under which the Python Software Foundation (PSF) makes the reference implementation of the Python programming language, CPython, and its documentation available, together with the trademark policy for the Python name and logos and the terms of the Python Package Index (PyPI), which the PSF operates. The PSF is a non-profit organization formed in 2001 specifically to own Python-related intellectual property.[1] Python software and documentation are licensed under the Python Software Foundation License Version 2, and every Python release is open source.[1] The licence is royalty-free and has no metric, quantity or user limit, so internal use needs no entitlement beyond the licence text.[1] Commercial use, selling copies and selling products that incorporate Python are all permitted, provided the copyright rules are honoured.[2] For software asset management (SAM), the work is therefore not counting licences but three other tasks: meeting notice conditions when Python is redistributed, tracking release end-of-life dates, and managing the separate licences of third-party packages installed from PyPI. The general model is described in open-source software licensing and software licensing models.

Editions

The PSF does not sell editions of Python. What varies is the licence that applies to a given release and to a given part of the distribution.

Scope Licence Notes 
Python 2.1 and later releases owned by the PSF PSF License Agreement Version 2[1] Current licence for CPython and its documentation[1] 
Code in the documentation (examples, recipes), from Python 3.8.6 PSF License Version 2 and Zero-Clause BSD, dual licensed[1] 0BSD is OSI-approved and was first approved as “Free Public License 1.0.0”[16] 
Python 2.0 BeOpen Python Open Source License Agreement Version 1[1] Not GPL-compatible[1] 
Python 1.6.1 CNRI License Agreement for Python 1.6.1[1] GPL compatibility disputed in the source[1] 
Python 0.9.0 to 1.2 CWI licence (Stichting Mathematisch Centrum)[1] Permissive notice-style licence[1] 
Third-party code incorporated into CPython The component’s own licence[1] For example OpenSSL under Apache License 2.0 in the Windows and macOS installers[1] 

Because current releases derive from earlier code, the full licence text shipped with CPython stacks the PSF, BeOpen, CNRI and CWI agreements.[1] SPDX records this whole stack as Python-2.0, “the overall Python license as published on the OSI website”, and the PSF component alone as PSF-2.0, which other projects also use independently.[11][12] The Open Source Initiative lists the Python License, Version 2 with the PSF as steward, in its “Superseded” category.[13] Python.org states that Python, its standard libraries and Jython are distributed under the Python License, and that other implementations such as IronPython and PyPy have their own licences.[3] Catalog proof: SPDX distinguishes PSF-2.0 from the full Python-2.0 licence stack; Documentation code examples are dual licensed PSF-2.0 and 0BSD. The clause-by-clause reading is in PSF License and CPython redistribution.

Metrics

Python itself has no licence metric. The PSF License grants a nonexclusive, royalty-free, world-wide licence and sets no count of users, devices, cores or instances.[1] The only per-unit charge the PSF publishes is for PyPI organization accounts:

PSF term Catalog row Where it applies What the PSF says 
member User, per month PyPI organization member User PyPI Corporate Organizations “$5 per member User, per month”, invoiced monthly based on usage[9] 

The price point is recorded as the SKU PyPI Corporate Organization - per member User per month. See PyPI package licensing and organization accounts.

Counting / floors

No count for Python (as retrieved 2026-09-27). Copying, installing or otherwise using Python binds the user to the licence terms. There is no order, key or registration step.[1] Deployment counts therefore matter for security and lifecycle management, not for licence compliance. Catalog proof: PSF License grants royalty-free use, modification and distribution; Licence to Python is accepted by copying, installing or using it.

PyPI Corporate Organizations. Per-seat organization membership is billed on usage in the preceding month. A login may be used by only one person, and a paid Organization may give access only to as many Personal Accounts as the subscription allows.[8] Community Organizations get all current organization features at no cost.[9] No minimum quantity is published. Catalog proof: PyPI Corporate Organizations are billed per member User per month.

Virtualization & partitioning

Not applicable. The PSF License does not refer to processors, hosts, virtual machines or containers, and grants the same rights however Python is deployed.[1] Python in container images, virtual machines and serverless runtimes is licensed on the same terms as on a physical machine. Any conditions come from redistributing the image, not from where it runs.

Cloud / BYOL

Not applicable in the commercial sense. The licence contains no hosting or service-provider restriction, so running Python in a cloud or offering a service built on it needs no additional right from the PSF.[1] Python runtimes supplied by cloud providers, operating-system distributors or other vendors are redistributions. Their support and warranty terms are set by those vendors, not by the PSF.

Programs

  • PyPI Corporate Organization. PyPI lets private or corporate organizations use organization-account features for a monthly subscription fee.[17] The price is $5 per member User, per month.[9] Paid services are governed by the PyPI Terms of Service, which took effect on 2025-02-25.[8]
  • PyPI Community Organization. The same features, provided free of charge to qualifying community projects.[17][9]

The retrieved documents describe no paid support, enterprise edition, extended-support contract or commercial licence for Python. The PSF License disclaims all warranties and makes Python available “AS IS”.[1] Catalog proof: Python is provided as is without warranty.

Redistribution and modification

The PSF License places no conditions on internal use. Its conditions apply when Python, or a derivative version, is passed to others.

The Windows documentation describes an embeddable package: a ZIP file containing a minimal Python environment, meant to be part of another application rather than used directly by end users. Third-party packages installed with it are to be treated as part of the application.[14] Catalog proof: Embedded distribution: third-party packages are part of the application.

Bundled third-party components

Some software incorporated into Python is under different licences. The licence page lists them, and describes its own list as incomplete.[1] The listed components include Mersenne Twister, SipHash24, dtoa, expat, libffi, zlib, libmpdec, mimalloc, code derived from uvloop and pyzstd, and the Unicode Character Database. Most are under MIT-style or BSD-style licences. The Unicode data is under the Unicode License V3.[1] The Windows and macOS installers may include a copy of the OpenSSL libraries. For OpenSSL 3.0 and later, the Apache License 2.0 applies.[1] Whether a particular build includes the bundled copies of expat, libffi and libmpdec depends on how it was configured.[1] CPython keeps an SPDX-format software bill of materials for its bundled dependencies.[15] Catalog proof: Software incorporated in Python carries its own licences; Windows and macOS installers may include OpenSSL under Apache 2.0; Bundled library copies depend on build configuration.

Trademark policy

The PSF License does not grant permission to use PSF trademarks or trade names to endorse or promote a licensee’s products.[1] “Python” is a registered trademark of the PSF, and the Python logos are also PSF trademarks.[4] The PSF Trademark Usage Policy sorts uses into three groups:

The Trademark FAQ adds that the Python logo may not be used as, or as part of, the product logo of a commercial product.[5] It also suggests a notice stating that “Python” and the Python logo are PSF trademarks and that the user is not affiliated with the PSF.[5] Catalog proof: Python logo may not be a commercial product logo.

Release lifecycle

Since Python 3.9, a feature version has been released every twelve months, in October.[7] Each version is supported for five years. It gets two years of bugfix releases, 18 months for versions before 3.13, followed by security-only fixes. No more binaries are released during the security phase, and the branch is frozen at end of life.[6] As listed on 2026-09-27, Python 3.10 reaches end of life in 2026-10, 3.11 in 2027-10 and 3.12 in 2028-10. Python 3.9 reached end of life on 2025-10-31 and 2.7 on 2020-01-01.[6] Catalog proof: Python feature releases ship annually in October; Each Python version is supported for five years; Security-phase Python releases are source only. See Python release cycle and end of life.

Software asset management practice

The points below apply the cited documents to SAM work. They are commentary, and the documents themselves govern.

  • Discovery. Python is installed by operating systems, developer tools, applications and container images. Each installation is licensed under the same terms, so inventory is for version and lifecycle tracking, not for entitlement reconciliation. Embedded runtimes, such as the Windows embeddable package inside third-party applications, may not show up as a separately installed product.[14]
  • Version and end-of-life tracking. Record the feature version (3.x) of every runtime and compare it with the published end-of-life dates. Runtimes in the security phase get no new official binaries.[6]
  • Internal use versus redistribution. Internal use carries no licence obligation beyond acceptance of the terms.[1] Products that ship Python to customers must carry the PSF licence and copyright notice, a summary of any changes, and the notices of bundled components such as OpenSSL.[1]
  • Third-party packages. Packages from PyPI are licensed by their uploaders under whatever licence they specify.[8] Package metadata can declare an SPDX licence expression in the License-Expression field. That expression covers only the distribution archive that contains it.[10] Catalog proof: PyPI packages are licensed by their authors, not by the PSF; License-Expression metadata covers only its distribution archive.

For the general discipline, see license compliance and software asset management.

Out of scope

  • Other Python implementations (Jython, IronPython, PyPy, MicroPython) and third-party Python distributions, whose licences and support terms are set by their own publishers.[3]
  • Licences of individual PyPI packages, including licences of commercial packages distributed through PyPI.
  • Trademark policies for PyCon and PyLadies, which the PSF publishes separately.[4]
  • PSF sponsorship, membership and donation programs, which are not licences to use Python.
  • Export-control questions for packages uploaded to PyPI.[3]

References

  1. History and License (Python documentation)Release history and GPL-compatibility table; PSF License Agreement Version 2; BeOpen, CNRI and CWI agreements; Zero-Clause BSD for documentation code; licences of incorporated software. 3.14.7 documentation set; undated.Retrieved 2026-09-27.
  2. General Python FAQ"Are there copyright restrictions on the use of Python?"Retrieved 2026-09-27.
  3. Legal Statements (python.org)Trademarks, copyright, licences, third-party content. Undated.Retrieved 2026-09-27.
  4. PSF Trademark Usage PolicyWord mark "Python" and the Python logos. Undated.Retrieved 2026-09-27.
  5. PSF Trademark Frequently Asked Questions (FAQ)Use in commerce, company names, merchandise, logos. Undated.Retrieved 2026-09-27.
  6. Status of Python versions (Python Developer's Guide)Supported and end-of-life branches; status key. Last updated 2026-05-27.Retrieved 2026-09-27.
  7. PEP 602 - Annual Release Cycle for PythonProcess PEP, status Active, created 2019-06-04.Retrieved 2026-09-27.
  8. PyPI Terms of ServiceAccount requirements, content licence grants, paid services.Effective 2025-02-25. Retrieved 2026-09-27.
  9. PyPI Organization Pricing and Payment TermsCorporate and Community Organizations. Undated.Retrieved 2026-09-27.
  10. Core metadata specifications (Python Packaging User Guide)License-Expression, License-File, deprecated License classifiers.Retrieved 2026-09-27.
  11. SPDX License List: Python License 2.0 (Python-2.0)Overall Python licence stack; OSI-approved flag set.Retrieved 2026-09-27.
  12. SPDX License List: Python Software Foundation License 2.0 (PSF-2.0)PSF component alone; OSI-approved flag not set.Retrieved 2026-09-27.
  13. Open Source Initiative: Python License, Version 2Steward Python Software Foundation; listed as Superseded.Retrieved 2026-09-27.
  14. Using Python on Windows (Python documentation)Section 4.2, the embeddable package.Retrieved 2026-09-27.
  15. Software Bill-of-Materials (SBOM) (Python Developer's Guide)SPDX SBOM of CPython's bundled dependencies.Retrieved 2026-09-27.
  16. Open Source Initiative: Zero-Clause BSDSPDX 0BSD; approved 2015-10-14.Retrieved 2026-09-27.
  17. PyPI Organization AccountsPrivate (corporate) versus community organizations.Retrieved 2026-09-27.

See also

Catalog Rows Cited

24Rules1Metrics1SKUs2Programs

Esc