aboutsummaryrefslogtreecommitdiff
path: root/docs/licensing.en.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/licensing.en.md')
-rw-r--r--docs/licensing.en.md65
1 files changed, 65 insertions, 0 deletions
diff --git a/docs/licensing.en.md b/docs/licensing.en.md
new file mode 100644
index 0000000..1e8905c
--- /dev/null
+++ b/docs/licensing.en.md
@@ -0,0 +1,65 @@
+---
+title: Licensing in libcarrot
+---
+libcarrot is thought to having a common core under free license, and allowing
+proprietary extensions to it, so for each file, there are currently
+two licensing modes:
+
+- `free`: the files under this mode are subject to the libcarrot free
+ software license;
+- `proprietary`: all rights on the files are reserved by the owners.
+
+The upstream will only accept contributions under the libcarrot free
+software license, any proprietary extension should be free'd before
+being proposed (and merged).
+
+The libcarrot free software license currently is the CeCILL-C license,
+created by french people and compliant with french law.
+
+# Copyright files
+The copyright and license details are given by the `copyright.yml` files.
+These files are machine-readable, and used to generate the top comments of
+the source files, and generated text files (headers, ...) — see
+[Contributing](contributing) for more information about that.
+Each one of them defines a set of rules for the files at the same level
+and beneath, using wildcard patterns (e.g. `folder/**/*.ext`).
+
+The copyright file shall contain one rule per division ("document").
+Each division shall define the following properties:
+
+- `files`: the wildcard pattern(s) from the current directory of the
+ group of files. If you only define one, you shall use a string, otherwise,
+ please use a list of strings.
+- `copyright`: the people this file belong to, usually the original author
+ and the contributors who don't give their rights to the original author.
+- `license`: the licensing mode, either `free` or `proprietary` (this matter
+ is discussed in this document's introduction).
+
+A `copyright` entry consists of the copyright starting year, ending year,
+owner and owner e-mail address. It is defined as a list of either four
+elements, as `[<start year>, <end year>, <name>, <mail>]` or, if the ending
+year is the same than the starting year, of three elements, as
+`[<start and end year>, <name>, <mail>]`. The e-mail address is mandatory.
+
+An example `copyright.yml` file is the following:
+
+ %YAML 1.2
+ ---
+ files: '*'
+ copyright:
+ - [2017, John "Smithy" Smith, john@smith.ee]
+ - [2017, 2018, Robert Dupont, robert.dupont@wanadoo.fr]
+ license: free
+ ---
+ files: 'src/incredible/*'
+ copyright:
+ - [2018, Mahatma Gandhi, mahatma@gandi.net]
+ license: proprietary
+ ---
+ files: 'src/**/parser.c'
+ copyright:
+ - [2018, Lephenixnoir, lephe@planet-casio.com]
+ license: free
+
+Notice that when trying to guess which rule applies to which file, the
+most precise rule is taken.