CNRI Python Open Source GPL Compatible License Agreement
Also known as CNRI Open Source GPL-Compatible License Agreement, CNRI Python Open Source GPL Compatible License Agreement, CNRI-Python-GPL-Compatible.
- 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.
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
- 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 The text says: "In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 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 1.6.1." 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.
-
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.
-
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
- 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 The text says: "In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 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 1.6.1." 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.
-
Present from the text Performing the work in public, including by broadcast or other communication to the public.
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.
Clauses
Warranty disclaimer
CNRI is making Python 1.6.1 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.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
Limitation of liability
CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
Additional clauses
Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013". 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. This License Agreement shall be governed by the federal intellectual property law of the United States, including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4, 5, and 7 of this License Agreement. 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-GPL-Compatible.html
- Legal code
- http://www.python.org/download/releases/1.6.1/download_win/
- 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-GPL-Compatibleon the SPDX license list - DALICC identifier
CNRI-Python-GPL-Compatible
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-GPL-Compatible",
"license-title": "CNRI Python Open Source GPL Compatible License Agreement",
"spdx-id": "CNRI-Python-GPL-Compatible",
"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/CNRI-Python-GPL-Compatible> .
RDF, JSON-LD
{
"@context": {
"cc": "http://creativecommons.org/ns#"
},
"@id": "https://example.org/my-work",
"cc:license": {
"@id": "https://dalicc.net/licenselibrary/CNRI-Python-GPL-Compatible"
}
}
HTML attribution
<p>This work is licensed under <a href="https://dalicc.net/licenselibrary/CNRI-Python-GPL-Compatible" rel="license">CNRI Python Open Source GPL Compatible License Agreement</a>.</p>
This license asks for attribution, so the credit line is part of it.
Badge
Markdown
[](https://dalicc.net/license-library/CNRI-Python-GPL-Compatible)
HTML
<a href="https://dalicc.net/license-library/CNRI-Python-GPL-Compatible"><img src="https://dalicc.net/license-library/CNRI-Python-GPL-Compatible/badge.svg" alt="License: CNRI Python Open Source GPL Compatible License Agreement"></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 agreement for Python 1.6.1, rewritten in 2001 so that it no longer conflicts with the GNU General Public License. It differs from CNRI-Python in requiring the copyright notice as well as the licence agreement to be retained and in its choice of law. Nothing here is legal advice.
9 findings
-
major Rubric 3
odrl:permissionappliedClause 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 1.6.1 alone or in any derivative version", the same grant as the 1.6b1 agreement, so the permission set is identical to CNRI-Python.
-
major Rubric 4
odrl:prohibitionappliedClause 7 carries the same trademark sentence as the 1.6b1 agreement, so dalicc:promote is a prohibition, and no right to relicense is granted, so dalicc:ChangeLicense is prohibited. (Corrected on 2026-09-15 by the verification of this review group: see the rubric 3 finding on relicensing below.)
-
major Rubric 5
odrl:dutyappliedThis is the one modelled difference from CNRI-Python. Clause 2 requires "that CNRI's License Agreement and CNRI's notice of copyright, i.e., the line Copyright (c) 1995-2001 Corporation for National Research Initiatives; All Rights Reserved, are retained", so cc:Attribution joins cc:Notice on odrl:distribute, odrl:modify and odrl:derive. Clause 3 requires "a brief summary of the changes made to Python 1.6.1", which is dalicc:modificationNotice on odrl:modify and odrl:derive.
-
major Rubric 6
dalicc:additionalClausesappliedClauses 4 and 5 are quoted word for word in their own predicates. 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:jurisdictionappliedClause 7 makes the agreement subject to "the federal intellectual property law of the United States ... and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia", with a carve-out for derivative works that incorporate GPL material. The grant is world-wide, so cc:jurisdiction stays dalicc:worldwide and the clause is quoted in full. That carve-out is the reason the Free Software Foundation treats this version as GPL compatible.
-
gap Rubric 8
dalicc:additionalClausesnoneAutomatic termination on breach has no property to hang it on; proposed term dalicc:terminatesOnBreach. The clause is quoted.
-
info Rubric 9
recordnoneThe consistency check of app.services.composer with the dependency graph dg_default returned an empty conflict list.
-
major Rubric 10
recordappliedRead as a diff against CNRI-Python. The separation into two records is justified: the retention duty and the governing law both differ, and the second is what makes this version GPL compatible. Both records depart from PythonLicense20 in the same way, by not repeating prohibitions that no text in the family states.
-
major Rubric 3
odrl:permissionappliedLibrary 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.1 alone or in any derivative version, provided ... CNRI's License Agreement is retained in Python 1.6.1." 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.
-
Version 2 current2026-09-24 Giray Havur
The changes since version 1 recorded which sentence of the text each statement rests on and named the license the record itself is published under.
View version 2 JSON-LD Turtle RDF/XML
5 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:Attribution, cc:Notice, dalicc:modificationNotice]was
permission odrl:derive with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]Manual edit Its duty dalicc:modificationNotice quotes "In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 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 1.6.1."
-
changed
permission odrl:modify with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]was
permission odrl:modify with duties [cc:Attribution, cc:Notice, dalicc:modificationNotice]Manual edit Its duty dalicc:modificationNotice quotes "In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 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 1.6.1."
-
changed
prohibition dalicc:promotewas
prohibition dalicc:promoteManual 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.
-
-
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.