DEVELOPMENT VERSION: This is an experimental DALICC environment. Features, data and APIs may change or be reset without notice. A stable version of this service, with a potentially different feature set, will be made available soon at dalicc.net.

Python License-2.0


Also known as Python License.

Commercial use
allowed
Share alike
not required
Attribution
required (keep the copyright and license notices)

Write this as a license text (needs an account) DALICC reads the model above and writes what it permits, requires and prohibits in plain English. Without an account, the Text download above writes the model out from the vocabulary.

Canonical URI https://dalicc.net/licenselibrary/PythonLicense20

Permissions

  • Change license by library convention Library convention: family rule 15: Permissive records permit relicensing. Replacing the license of the work, or of an adaptation, with another license, or changing its terms.

    Duties

    • Use a compliant license by library convention Library convention: family rule 15: Permissive records permit relicensing. Choosing a replacement license that stays compliant with the terms of the original license.
  • Charge distribution fee from the text Charging a fee for the act of providing a copy of the work to someone else.
  • Commercial use from the text Using the work to generate income, directly or indirectly, for example by selling it or by using it in advertising.
  • Derivative works from the text The text says: "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 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee." Distributing an adaptation of the work and making it available to the public.
  • Derive from the text The text says: "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 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee." Creating a new work from the work, such as a translation, adaptation or arrangement of it or of a part of it.

    Duties

    • Attribution from the text Giving credit to the copyright holders or authors of the work, in the form the licensor asks for.
    • Modification notice from the text Marking a changed work as changed, saying how it differs from the original and keeping earlier notices of change.
    • Notice from the text Notice: keeping the license and copyright notices with every copy.
  • Display from the text Showing the work to the public without making a copy the viewer keeps.
  • Distribute from the text Providing copies of the work to the public or to anyone else.

    Duties

    • Attribution from the text Giving credit to the copyright holders or authors of the work, in the form the licensor asks for.
    • Notice from the text Notice: keeping the license and copyright notices with every copy.
  • Modify from the text Altering the work, for example by updating it, without creating a new work; an alteration that creates a new work is Derive.

    Duties

    • Modification notice from the text Marking a changed work as changed, saying how it differs from the original and keeping earlier notices of change.
  • No-warranty notice from the text Attaching a notice that the work is provided without any warranty.
  • Present from the text Performing the work in public, including by broadcast or other communication to the public.
  • Reproduce from the text Making copies of the work in any form.

Prohibitions

  • Promote from the text Not permitted: Promote. The text says: "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." Using the name or trademarks of the licensor or of contributors to endorse or promote a product.

License-wide duties

This license states no duties that apply to the work as a whole.

What applies by default

The statements above are the library's reading of this license: each is marked with the sentence it rests on, or as a library convention where the text is not explicit. The statements below are the ones the DALICC reasoner supplies for acts the license says nothing about, from the default rules of the dependency graph it reasons with. Each one names the legal source it rests on. None of it is in the record.

No default rule of that graph reaches this license: it speaks about every act the rules are about.

Clauses

Warranty disclaimer

PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.

Limitation of liability

PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

Info

Target asset types
Software
Region / jurisdiction
Worldwide
Validity
Perpetual
Source
http://opensource.org/licenses/Python-2.0
Legal code
http://opensource.org/licenses/Python-2.0
This description is published under
Creative Commons Attribution 4.0 International
Publisher
Python Software Foundation
SPDX identifier
Python-2.0 on the SPDX license list
DALICC identifier
PythonLicense20

This record is published under CC BY 4.0. Credit it as: DALICC License Library, DALICC - Verein zur Förderung der Rechtssicherheit in der Datenbewirtschaftung, https://dalicc.net, CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). The license it describes belongs to its publisher.

Use this license

Everything below is generated from this record. Replace the example address with the address of your own work.

JSON sidecar

{
  "license-uri": "https://dalicc.net/licenselibrary/PythonLicense20",
  "license-title": "Python License-2.0",
  "spdx-id": "Python-2.0",
  "attribution": "Copyright (c) [year] [copyright holder]",
  "asset": null,
  "generated-by": "DALICC"
}

RDF, Turtle

@prefix cc: <http://creativecommons.org/ns#> .

<https://example.org/my-work>
    cc:license <https://dalicc.net/licenselibrary/PythonLicense20> .

RDF, JSON-LD

{
  "@context": {
    "cc": "http://creativecommons.org/ns#"
  },
  "@id": "https://example.org/my-work",
  "cc:license": {
    "@id": "https://dalicc.net/licenselibrary/PythonLicense20"
  }
}

HTML attribution

<p>This work is licensed under <a href="https://dalicc.net/licenselibrary/PythonLicense20" rel="license">Python License-2.0</a>.</p>

This license asks for attribution, so the credit line is part of it.

Badge DALICC badge for Python License-2.0

Markdown

[![License: Python License-2.0](https://dalicc.net/license-library/PythonLicense20/badge.svg)](https://dalicc.net/license-library/PythonLicense20)

HTML

<a href="https://dalicc.net/license-library/PythonLicense20"><img src="https://dalicc.net/license-library/PythonLicense20/badge.svg" alt="License: Python License-2.0"></a>

Review

Status
Reviewed against the license text
Last checked
2026-09-15
Reviewer
Giray Havur
Verdict
corrected during the review
Record changed since this review
yes (version 2, 2026-09-24)
Findings
9 recorded, 5 applied to the record, 2 proposed

The Python Software Foundation license grants the right to prepare derivative works and requires only that the license and the copyright notice be retained and that changes be summarised. The record prohibited derivative works, which reverses clause 2, and its warranty field held the liability clause. Both were corrected and the SPDX id and source were added. Five further prohibitions have no support in the text.

9 findings
  • major Rubric 3 odrl:prohibition applied

    Clause 2 grants "a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version". The record prohibited odrl:derive and cc:DerivativeWorks. Removed both and added the permissions with the duties of clauses 2 and 3.

  • major Rubric 5 odrl:duty applied

    Clause 2 requires that "PSF's License Agreement and PSF's notice of copyright ... are retained in Python alone or in any derivative version". The distribute permission carried cc:Attribution but not cc:Notice. Added.

  • minor Rubric 6 dalicc:WarrantyDisclaimer applied

    dalicc:WarrantyDisclaimer held clause 5, the liability clause, and there was no dalicc:LiabilityLimitation. Moved clause 5 to the liability field and put clause 4, the warranty disclaimer, in the warranty field.

  • minor Rubric 1 spdx:licenseId applied

    Added Python-2.0 and the missing dct:source.

  • major Rubric 3 odrl:prohibition proposed

    dalicc:chargeDistributionFee is prohibited although nothing in the eight clauses forbids charging for a copy; "royalty-free" describes what the Foundation charges the licensee, not what the licensee may charge. cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and odrl:grantUse are prohibited on the same empty basis. Removing five prohibitions at once changes the compatibility profile of a widely used record, so it is left open for the association's decision.

  • info Rubric 4 odrl:prohibition none

    dalicc:promote is prohibited and clause 7 supports it: "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."

  • minor Rubric 1 dct:alternative proposed

    Only "Python License" is listed. "Python-2.0", "PSF License" and "Python Software Foundation License Version 2" would all be searched for.

  • info Rubric 1 dct:title none

    The document on file is a stack of four agreements (the Foundation license, the BeOpen license, the CNRI license and the CWI copyright). The record models the Foundation license, which is what SPDX calls Python-2.0.

  • major Rubric 10 record applied

    Standard-license addition of 2026-09-15, decision 9: the record was corrected against its new siblings and versioned. The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

Report an issue The review record as JSON The review checks the model against the license text. It is not legal advice.

History

This license model has 2 versions. Version 2 is the one served today; every earlier version keeps its own address, so a conclusion drawn from one of them can still be checked against it.

  1. Version 2 current2026-09-24 Giray Havur

    The content review of 2026-09-15 added 1 clause text, 2 identification details and 2 permissions, removed 2 prohibitions, changed 1 clause text and 1 permission and recorded the review state. Later changes brought it in line with its family and its text in the verification of 2026-09-15, permitted relicensing with the notice as a duty, recorded which sentence of the text each statement rests on and named the license the record itself is published under.

    23 changes
    • added dalicc:LiabilityLimitation "PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF."

      Review finding dalicc:WarrantyDisclaimer held clause 5, the liability clause, and there was no dalicc:LiabilityLimitation. Moved clause 5 to the liability field and put clause 4, the warranty disclaimer, in the warranty field.

    • changed dalicc:WarrantyDisclaimer "PSF is making Python available to Licensee on an \"AS IS\" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS."

      was dalicc:WarrantyDisclaimer "PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF."

      Review finding dalicc:WarrantyDisclaimer held clause 5, the liability clause, and there was no dalicc:LiabilityLimitation. Moved clause 5 to the liability field and put clause 4, the warranty disclaimer, in the warranty field.

    • added dalicc:reviewStatus dalicc:Reviewed

      Review state Every record records how far it has come in the editorial workflow and when it was last checked against the legal text.

    • added dalicc:reviewedOn "2026-09-15"^^xsd:date

      Review state Every record records how far it has come in the editorial workflow and when it was last checked against the legal text.

    • added dct:source osl:Python-2.0

      Review finding Added Python-2.0 and the missing dct:source.

    • added permission cc:DerivativeWorks

      Review finding Clause 2 grants "a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version". The record prohibited odrl:derive and cc:DerivativeWorks. Removed both and added the permissions with the duties of clauses 2 and 3.

    • added permission odrl:derive with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]

      Review finding Clause 2 requires that "PSF's License Agreement and PSF's notice of copyright ... are retained in Python alone or in any derivative version". The distribute permission carried cc:Attribution but not cc:Notice. Added.

    • changed permission odrl:distribute with duties [cc:Attribution, cc:Notice]

      was permission odrl:distribute with duties [cc:Attribution]

      Review finding Clause 2 requires that "PSF's License Agreement and PSF's notice of copyright ... are retained in Python alone or in any derivative version". The distribute permission carried cc:Attribution but not cc:Notice. Added.

    • removed prohibition cc:DerivativeWorks

      Review finding Clause 2 grants "a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version". The record prohibited odrl:derive and cc:DerivativeWorks. Removed both and added the permissions with the duties of clauses 2 and 3.

    • removed prohibition odrl:derive

      Review finding Clause 2 grants "a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version". The record prohibited odrl:derive and cc:DerivativeWorks. Removed both and added the permissions with the duties of clauses 2 and 3.

    • added spdx:licenseId "Python-2.0"

      Review finding Added Python-2.0 and the missing dct:source.

    • added permission dalicc:chargeDistributionFee

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • removed prohibition cc:ShareAlike

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • removed prohibition dalicc:addLimitation

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • removed prohibition dalicc:addStatement

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • removed prohibition dalicc:chargeDistributionFee

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • removed prohibition odrl:grantUse

      Manual edit The review's finding on family consistency: the record prohibited odrl:grantUse, cc:ShareAlike, dalicc:addLimitation, dalicc:addStatement and dalicc:chargeDistributionFee, none of which the PSF License Agreement version 2 states. Clause 2 grants the right 'to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version' and says nothing about fees, so the distribution fee is permitted as it is on the other permissive records.

    • added permission dalicc:ChangeLicense with duties [dalicc:compliantLicense]

      Manual edit Permit relicensing on permissive licences; the notice clause is a duty, not a bar. Library convention 15: a licence that asks for no reciprocity and no source code asks only that the notice travels with the copy, which is a duty on the acts it governs and not a bar on putting the copy under other terms. dalicc:ChangeLicense is therefore a permission here, and the prohibition the record carried before is removed. The text reads: "Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission." The permission carries the dalicc:compliantLicense duty, as Apache-2.0 does, because the notice has to survive the relicensing.

    • changed permission cc:DerivativeWorks

      was permission cc:DerivativeWorks

      Manual edit The statement now quotes the sentence of the licence text it rests on: "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 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee."

    • changed permission dalicc:ChangeLicense with duties [dalicc:compliantLicense]

      was permission dalicc:ChangeLicense with duties [dalicc:compliantLicense]

      Manual edit The statement is marked as a library convention, family rule 15: Permissive records permit relicensing: the text does not state it in as many words. Its duty dalicc:compliantLicense is marked as a library convention, family rule 15: Permissive records permit relicensing.

    • changed permission odrl:derive with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]

      was permission odrl:derive with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]

      Manual edit The statement now quotes the sentence of the licence text it rests on: "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 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee."

    • changed prohibition dalicc:promote

      was prohibition dalicc:promote

      Manual edit The statement now quotes the sentence of the licence text it rests on: "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."

    • added dct:license <https://creativecommons.org/licenses/by/4.0/>

      Manual edit Every record is published under CC BY 4.0. cc:license names the record DALICC keeps of that licence; dct:license now names it by the address Creative Commons publishes it at, so that a consumer matching the canonical IRI finds it.

  2. Version 1

    The version this model had before the content review of 2026-09-15.

Every change names the reason behind it: a finding of the content review, one of its library-wide decisions, the metadata that review wrote onto every record, or a hand edit. None of it is legal advice.

Nothing on this page is legal advice. What a license means is decided by its text; ask a legal advisor before you rely on it.