From 1f481b230a02fea7b93422f4c8afd6be83c58c0d Mon Sep 17 00:00:00 2001 From: Fabio Scotoni <34964387+fscoto@users.noreply.github.com> Date: Fri, 13 Dec 2019 09:42:28 +0100 Subject: [PATCH] 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 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/LICENCE.md b/LICENCE.md index d6a6e45..04b1112 100644 --- a/LICENCE.md +++ b/LICENCE.md @@ -1,14 +1,19 @@ -Monocypher is dual-licensed. Choose whichever you want. +Monocypher as a whole is dual-licensed. Choose whichever licence you +want from the two licences listed below. The first licence is a regular 2-clause BSD licence. The second licence is the CC-0 from Creative Commons. It is intended to release Monocypher -to the public domain. The BSD licence serves as a fallback. +to the public domain. The BSD licence serves as a fallback option. +See the individual files for specific information about who contributed +to what file during which years. See below for special notes. Licence 1 (2-clause BSD) ------------------------ Copyright (c) 2017-2019, Loup Vaillant +Copyright (c) 2017-2018, Michael Savage +Copyright (c) 2017-2019, Fabio Scotoni All rights reserved. Redistribution and use in source and binary forms, with or without @@ -160,3 +165,9 @@ rights. - Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + +Special notes +------------- + +The files in `text/externals/` were placed in the public domain by +their respective authors. See the `AUTHORS.md` files in each directory. -- 2.47.3