]> git.codecow.com Git - Monocypher.git/commit
LICENCE.md: Clarifications
authorFabio Scotoni <34964387+fscoto@users.noreply.github.com>
Fri, 13 Dec 2019 08:42:28 +0000 (09:42 +0100)
committerFabio Scotoni <34964387+fscoto@users.noreply.github.com>
Mon, 23 Dec 2019 15:08:22 +0000 (16:08 +0100)
commit1f481b230a02fea7b93422f4c8afd6be83c58c0d
tree6c38ea31d4a1ccb483f6ef6fc5ba2caab1b65af0
parent9fee9b19613a372532a78a6f1bf03445b6768786
LICENCE.md: Clarifications

                            !!! important !!!
     No change to the licensing situation of Monocypher is intended.
               These are meant to be clarifications only.

                No action is required on any user's part.
                           !!! /important !!!

These changes are highly delicate, so I feel obliged to give a detailed
explanation of each change.
(For my own sanity, I'll use U.S. spelling for "license",
even if the LICENCE.md is written in British English.)

---

"Monocypher is dual-licensed" -> "Monocypher as a whole is
dual-licensed"

This new wording matches the phrasing found in the top-level license
file of musl and mandoc, both of which are notable and fairly large
BSD-licensed projects.
The file headers added in an earlier commit are part of this:
The copyright notices are an *integral* part of the BSD 2-clause
license;
there has been no formal copyright assignment agreement,
so the copyright notices of all contributors who have made copyrightable
changes are really meant to be in all applicable files.

Pro forma it should be noted, however, that Michael Savage and I have
agreed to the LICENCE.md as it was before this commit by e-mail.

This makes no difference for everyone who's taken just the
monocypher.[ch] files and added those to their project because the
individual files' copyright notices for those two files match the
original LICENCE.md.
(And again, we don't *actually* care about compliance with the BSD
2-clause license from our end because we've waived copyright to the
greatest extent possible for CC-0, so the only ones who would actually
care live in your company's legal department.)

---

"Choose whichever you want" -> "Choose whichever you want from the two
licences listed below"

This change is mainly intended to clarify that you're not meant to
choose an *arbitrary* license, but rather one of the two below.
In practice, this should not matter because if you didn't choose the
2-clause BSD license, you chose CC-0, where copyright is maximally
waived anyway, which allows you to do whatever.

---

"The BSD licence serves as a fallback" -> "The BSD licence serves as a
fallback option"

This change clarifies that using the BSD 2-clause license is just an
option, to be exercised at the recipient's discretion,
without diluting the actual intent of placing Monocypher in the public
domain.

This matters because the CC-0 license *itself* has a section called
"Public License Fallback"; it is NOT the intent to replace section 3 of
CC-0 with a BSD 2-clause license.
The previous wording could, however, have been misconstrued like this
and thus could've butchered the very idea of using CC-0 in the first
place.

---

Added: "See the individual files for specific information about who
contributed to what file during which years.  See below for special
notes."

This text was inspired by mandoc's licensing document.
It is necessary because the "total" copyright notice differs from the
copyright notice that applies to individual files,
so per-file compliance with the 2-clause BSD license differs.

About the special notes, see the section immediately below.

---

I also added a section called "Special notes",
which notes that we're allowed to include the externals because they've
been placed in the public domain by their respective authors.
This should help some people who are very careful about copyright and
distribution rights when redistributing Monocypher as a whole,
as they'll know where to look and all the heavy lifting has already been
done for them.

---

There are a number of files without the headers affixed to them.
Doing so would clutter them (e.g. README.md, CHANGELOG.md, AUTHORS.md)
and bring no actual value.
LICENCE.md applies to them indirectly.

---

(Digressions:
There's probably an interesting relationship between CC-0 and BSD
2-clause to be determined where any contributor agreeing to place their
work under the CC-0 license technically permits relicensing under the
BSD 2-clause in any case with no attribution.
I kind of wonder if CC-0 and a BSD 2-clause license aren't inherently
mutually exclusive -- it's conceptually difficult to grant rights that
you're immediately waiving in the next section of the same document.
But github.com/nothings/stb seems to take a similar approach with
MIT/Unlicense, and that evidently seems to make lawyers happy, so who am
I to judge?
But let's ignore all of these technicalities and be upstanding citizens
of the free software world that provide as much legal certainty as they
can.)
LICENCE.md