Add license and copyright to each source file
Although Forester has always been licensed under GPL-3.0-or-later, it
came to my attention that (1) it is recommended to have more specific
attributions, and (2) we have incorporated some code into the repository
that uses different (but compatible) licenses, and (3) GPL requires us
to have a copyright header, which we never had anywhere. The purpose of
this patch is to resolve these issues.
-------------------------------------------------------------------------
+ Each of Forester's OCaml source files is licensed under GPL-3.0-or-later.
+ Copyright assigned to "The Forester Project Contributors". This is not
a legal entity, but rather a way to refer to the aggregate copyright
held by each of the contributors to the Forester project, as listed in
CONTRIBUTORS.md.
+ Most files have a copyright header, using the SPDX notation. For some
files (including machine-generated files) this is either impossible or
undesirable. In this case, I have followed the recommendations of the
REUSE SOFTWARE initiative (https://reuse.software) and created a
REUSE.toml file that specifies the licensing and copyright information
for these files, or included a 'filename.license' file.
+ All this information can be queried using the REUSE tool
(https://github.com/fsfe/reuse-tool). The `reuse lint` command is
particularly useful (and confirms that we will be REUSE 3.2 compliant
after this patch is applied).
+ I have chosen to license the nix-related stuff under CC0-1.0, in order
to avoid any situation where it could become burdensome to use them to
install Forester as part of the build process for a non-GPL'd project.
Prior to applying this patch, I would like to have any feedback from
the individual copyright owners of this code (which I believe to be
Kento Okura).
+ I have licensed my random editor configuration files that are
currently checked into the repository under CC0-1.0
+ We currently have checked into the repository some slightly modified
versions of the Topiary style queries for OCaml and OCamlLex. I have
made sure to include the correct license and copyright attribution of
these as derived from the Topiary Project.