{"id":"NGPL","title":"Nethack General Public License","reviewed_on":"2026-09-15","reviewer":"Giray Havur","text_source":"https://opensource.org/license/NGPL","text_retrieved":true,"verdict":"created","summary":"Models the Nethack General Public License, a pre-GPL-1.0 copyleft derived from the Bison licence. The record follows GPL-2.0-only: whole-work reciprocity as a license-wide cc:ShareAlike duty, a source-code duty on distribution and an express bar on sublicensing. The licence has no formal warranty disclaimer, only a duty to keep the absence-of-warranty notices intact.","findings":[{"rubric":1,"severity":"info","field":"spdx:licenseId","description":"File name, license id, SPDX id and IRI agree. dct:publisher is left out: the text names the copyright holders of the game, not a steward of the licence.","action":"none"},{"rubric":2,"severity":"info","field":"odrl:target","description":"dcmitype:Software only, following GPL-2.0-only.","action":"none"},{"rubric":3,"severity":"major","field":"odrl:permission","description":"Paragraph 1 grants verbatim copying and distribution of source, paragraph 2 modification and distribution of modifications, paragraph 3 distribution in object or executable form. Paragraph 2(c) is express about money: 'You may charge a distribution fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee', so dalicc:chargeDistributionFee is carried.","action":"applied"},{"rubric":4,"severity":"major","field":"odrl:prohibition","description":"dalicc:sublicense is prohibited, which few records in the library carry as a software prohibition: 'You may not copy, sublicense, distribute or transfer NetHack except as expressly provided under this License Agreement.' dalicc:ChangeLicense is prohibited because paragraph 2(b) requires terms identical to this agreement.","action":"applied"},{"rubric":5,"severity":"major","field":"odrl:duty","description":"cc:ShareAlike is license-wide, because the reciprocity reaches the whole work and not the changed files: paragraph 2(b) requires you to 'cause the whole of any work that you distribute or publish, that in whole or in part contains or is a derivative of NetHack or any part thereof, to be licensed at no charge to all third parties on terms identical to those contained in this License Agreement'. cc:SourceCode, cc:Attribution, cc:Notice and dalicc:noWarrantyNotice hang off distribute, modify and derive; dalicc:modificationNotice is added to modify and derive for 2(a).","action":"applied"},{"rubric":6,"severity":"major","field":"dalicc:WarrantyDisclaimer","description":"The licence carries no warranty disclaimer and no liability clause, so neither predicate is written. Paragraph 1 instead makes the licensee keep 'the notices on all files that refer to copyrights, to this License Agreement, and to the absence of any warranty', which the record models as a dalicc:noWarrantyNotice duty. Paragraphs 2(b), 3(b) and 4 are quoted in dalicc:additionalClauses.","action":"applied"},{"rubric":7,"severity":"info","field":"cc:jurisdiction","description":"No legal system and no term named: dalicc:worldwide, dalicc:perpetual.","action":"none"},{"rubric":8,"severity":"gap","field":"dalicc:additionalClauses","description":"Automatic termination on breach has no property that a record can carry: dalicc:terminationOnBreach is a policy quality with no predicate. The clause is quoted in dalicc:additionalClauses. Proposed term: dalicc:terminatesOnBreach as a boolean property on odrl:Set, with the cure period as a literal. Text: 'Any attempt otherwise to copy, sublicense, distribute or transfer NetHack is void and your rights to use the program under this License agreement shall be automatically terminated' (paragraph 4).","action":"none"},{"rubric":9,"severity":"info","field":"record","description":"The consistency check of app.services.composer, run with the 39 axioms of licensedata/dependencygraph/dg_default.ttl, returned no conflicts.","action":"none"},{"rubric":10,"severity":"info","field":"record","description":"Closest sibling is GPL-2.0-only, which has the same license-wide cc:ShareAlike, the same source duty and the same ChangeLicense prohibition. NGPL differs by the express sublicensing bar, by the absence of a warranty disclaimer and by the noncommercial limit on the written-offer route to source.","action":"none"},{"rubric":5,"severity":"minor","field":"odrl:duty","description":"The license-level share alike reaches the ways of combining \"kept separate and passed on together\", \"one uses the other unchanged\", \"one is made from the other\" and \"one is made with the other\". The text does not say which ways of combining its share alike reaches beyond a work made from the licensed work, so every way is recorded as reached. Section 15 of docs/LICENSE_REVIEW.md.","action":"applied"}],"family":"Reciprocal and source-available","port_of":null,"variant_kind":null,"notes":"Modelled from the SPDX plain text. Paragraph 3(b), which allows a written offer of source only for noncommercial distribution, is quoted rather than modelled as a restriction on cc:CommercialUse: it limits one way of discharging the source duty, not commercial use itself."}