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.

CNRI Python License


Also known as CNRI Open Source License Agreement, CNRI Python License, CNRI-Python.

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/CNRI-Python

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 Distributing an adaptation of the work and making it available to the public.
  • Derive from the text Creating a new work from the work, such as a translation, adaptation or arrangement of it or of a part of it.

    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.
    • Notice from the text The text says: "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." 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 The text says: "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." Providing copies of the work to the public or to anyone else.

    Duties

    • Notice from the text The text says: "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." Notice: keeping the license and copyright notices with every copy.
  • Modified works from the text Distributing a modified version of the work that does not amount to a new, derivative work.
  • 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.
    • Notice from the text The text says: "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." Notice: keeping the license and copyright notices with every copy.
  • 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 CNRI 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.

Further terms

These are the things the license says about itself beyond the acts it permits, forbids and requires: when it ends, how long there is to put a breach right, which law governs it, and so on. A term that comes from the DALICC vocabulary links to its definition.

Terminates on breach
Yes

Clauses

Warranty disclaimer

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

Limitation of liability

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

Additional clauses

Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011". 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.

Info

Target asset types
Software
Region / jurisdiction
Worldwide
Validity
Perpetual
Source
https://spdx.org/licenses/CNRI-Python.html
Legal code
https://opensource.org/license/CNRI-Python
This description is published under
Creative Commons Attribution 4.0 International
Publisher
Corporation for National Research Initiatives
Attribution name
Corporation for National Research Initiatives
SPDX identifier
CNRI-Python on the SPDX license list
DALICC identifier
CNRI-Python

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/CNRI-Python",
  "license-title": "CNRI Python License",
  "spdx-id": "CNRI-Python",
  "asset": null,
  "generated-by": "DALICC"
}

RDF, Turtle

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

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

RDF, JSON-LD

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

This license carries no attribution duty, so no credit line is offered here.

Badge DALICC badge for CNRI Python License

Markdown

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

HTML

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

Review

Written from the license text by
Giray Havur
Written on
2026-09-15
Second review
not yet done
Record changed since this review
yes (version 2, 2026-09-24)
Findings
9 recorded, 7 applied to the record, 0 proposed

Models the CNRI Open Source License Agreement for Python 1.6 beta 1, one of the agreements in the chain behind the PythonLicense20 record the library already holds. Its one retention condition is the licence agreement itself, not a copyright notice, which is what separates it from the GPL compatible CNRI agreement. Nothing here is legal advice.

9 findings
  • major Rubric 3 odrl:permission applied

    Clause 2 grants "a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version". The record therefore permits reproduce, display, present, distribute, modify, derive, commercial use, derivative works and modified works. The agreement says nothing about charging, so dalicc:chargeDistributionFee is permitted, as in 333 of the 344 existing records.

  • major Rubric 4 odrl:prohibition applied

    Clause 7 states "This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party", modelled as a dalicc:promote prohibition. No right to relicense is granted, so dalicc:ChangeLicense is prohibited. No sublicensing right is granted either; the record makes no odrl:grantUse statement rather than prohibiting it. (Corrected on 2026-09-15 by the verification pass: see the rubric 3 finding on relicensing below.)

  • major Rubric 5 odrl:duty applied

    Clause 2 conditions the grant on one thing only: "that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee". That is cc:Notice, and it is attached to odrl:distribute, odrl:modify and odrl:derive. No cc:Attribution duty is written, because this agreement, unlike the GPL compatible one, does not require a copyright notice to be retained. Clause 3 adds dalicc:modificationNotice on odrl:modify and odrl:derive.

  • major Rubric 6 dalicc:additionalClauses applied

    Clauses 4 and 5 are quoted word for word in dalicc:WarrantyDisclaimer and dalicc:LiabilityLimitation. The substitute notice text of clause 2, the automatic termination of clause 6 and the whole of clause 7 are quoted in dalicc:additionalClauses.

  • major Rubric 7 cc:jurisdiction applied

    Clause 7 states "This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions", while the grant itself is world-wide. Virginia is a state, not a country, and the bpicounty vocabulary the library uses for jurisdiction ports has no IRI for it, so cc:jurisdiction stays dalicc:worldwide and the clause is quoted. The association may want to decide whether a sub-national choice of law deserves its own property.

  • gap Rubric 8 dalicc:additionalClauses none

    Automatic termination on breach has no property to hang it on; proposed term dalicc:terminatesOnBreach over the existing dalicc:terminationOnBreach concept. The clause is quoted.

  • info Rubric 9 record none

    The consistency check of app.services.composer with the dependency graph dg_default returned an empty conflict list.

  • major Rubric 10 record applied

    Follows licensedata/licenses/PythonLicense20.ttl for the permission set and the modification notice. It deliberately does not copy four of that record's prohibitions (odrl:grantUse, cc:ShareAlike, dalicc:addLimitation and dalicc:addStatement) nor its dalicc:chargeDistributionFee prohibition, because neither this text nor the PSF text states any of them. The existing record was not edited; the observation is passed to the consolidation.

  • major Rubric 3 odrl:permission applied

    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 earlier reading wrote is removed. The text reads: "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6, beta 1 alone or in any derivative version, provided ... CNRI's License Agreement is retained in Python 1.6, beta ..." The permission carries the dalicc:compliantLicense duty, as Apache-2.0 does, because the notice has to survive the relicensing.

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 changes since version 1 recorded which sentence of the text each statement rests on, named the license the record itself is published under and removed the quotes that do not name the act they support.

    7 changes
    • 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:Notice, dalicc:modificationNotice]

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

      Manual edit Its duty cc:Notice quotes "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee."

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

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

      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, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." Its duty cc:Notice quotes "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee."

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

      was permission odrl:modify with duties [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, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee." Its duty cc:Notice quotes "Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, 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 CNRI 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.

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

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

      Manual edit Removed the quoted evidence of permission odrl:modify: the quoted sentence does not name the act. The statements stay, read from the text without a linked quote.

  2. Version 1

    Created from the license text on 2026-09-15 (Python, PHP, Unicode and W3C).

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.