You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
2.7 KiB
Markdown

# Nonviolent Public License Builder v7
<img src="https://img.shields.io/liberapay/patrons/thufie.svg?logo=liberapay">
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: https://thufie.lain.haus/NPL.html
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](https://lynnesbian.space/csl/formatted/) (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 <https://git.pixie.town/thufie/npl-builder>.
//
// project comes with ABSOLUTELY NO WARRANTY, to the extent
// permitted by applicable law. See the CNPL for details.
```
## Contributing:
- 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!
## Dependencies:
- `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 cnpl.md` - Build a pdf of the CNPL (requires `texlive-core`)
- `pandoc -f markdown -t odt -s -o cnpl.odt cnpl.md` - 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 cnpl.md` - Produce a plaintext version of the license.