Readonly mirror of the Nonviolent Public License family
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
thufie ab8582d3fe Merge pull request 'Fix for thufie/npl-builder#5' (#6) from Endo/npl-builder:endo-patch-issue-5 into main 1 week ago
LICENSE Create LICENSE 1 year ago
Makefile fixes to makefile 1 year ago Added donation link to readme 1 year ago regenerated license texts with fixed typos 5 months ago regenerated license texts with fixed typos 5 months ago regenerated license texts with fixed typos 5 months ago regenerated license texts with fixed typos 5 months ago
template.xml Fix for thufie/npl-builder#5 1 week ago

Nonviolent Public License Builder v7

The Nonviolent Public License builder project provides 4 licenses generated from a common template.

  • NVPL - Nonviolent Public License
  • CNPL - Cooperative Nonviolent Public License
  • NVPL-NA - Nonviolent Public License No Attributions
  • CNPL-NA - Cooperative Nonviolent Public License No Attributions

The text of the licenses are all in this repository each in its own .md (markdown) file above. You don't have to download and use the builder unless you are contributing.

License information and summary of purpose here:

Please use the "+" at the end of the license URI (like: CNPL-NAv7+) to allow future license revisions to apply.

These licenses are based off of the CSL (Cooperative Software License) which is not actually just for software.

Use this license header (for the CNPL) in your source files if you want:

// Copyright (C) 2021 (Author) <email>
// This file is part of project.
// project is non-violent software: you can use, redistribute,
// and/or modify it under the terms of the CNPLv7+ as found
// in the LICENSE file in the source code root directory or
// at <>.
// project comes with ABSOLUTELY NO WARRANTY, to the extent
// permitted by applicable law.  See the CNPL for details.


  • Only make or propose edits to the license text in template.xml
  • Changes that are not common among license have some special formatting requirements. Check the output of make to ensure everything is removed from the licenses it does not apply to.
    • If a change only applies to the CNPL or CNPL-NA use the "restriction-cooperative" role attribute
    • If a change only applies to the CNPL or NVPL (or in other words, it has to do with requiring attributions) use the "restriction-attribution" role attribute.
  • When in doubt, make a bug report and I will be glad to help!


  • pandoc - for converting from docbook5 xml to markdown
  • xmlstarlet - provides the xml binary
  • make

Example Usage:

  • make all - (re)generate all license markdown files from template.xml
  • Use pandoc to convert the license into the format of your choice. Use pandoc --list-output-formats for a list of available document formats. Try some of these:
    • pandoc -f markdown -t pdf -s -o cnpl.pdf - Build a pdf of the CNPL (requires texlive-core)
    • pandoc -f markdown -t odt -s -o cnpl.odt - Convert the license to an odt file and open it for spell and grammar check in LibreOffice.
    • pandoc -f markdown -t plain -s -o cnpl.txt - Produce a plaintext version of the license.