As initially agreed all code written within DREAM is licensed as AGPL-3.0-or-later. Also ocaml-monocypher.
ocaml-monocypher is a small binding layer for OCaml to the Monocypher cryptographic library (https://monocypher.org/). It is used by ocaml-eris (for Blake2b and ChaCha20) and from ocaml-dmc (for Ed25519).
I’d like to make an exception for ocaml-monocypher and license it as BSD-2-Clause.
Monocypher itself is in the public domain (CC0-1.0) and optionally BSD-2-Clause. The motivation of this is that cryptographic primitives should be easier available and that usage of crypto with a bad license is better than not using crypto for users.
For same reasons I would suggest using BSD-2-Clause for ocaml-monocypher.
This would be the second licensing exception made (other being ocaml-base32).
Background: I would like to use ocaml-monocypher with js_of_ocaml and that needs some hacking.
If no objections, I will relicense ocaml-monocypher as BSD-2-Clause in a week (on 2022-01-26).
Thank you and happy hacking!
Given that BSD-2-clause is definitely a bad license, what difference does it make if it’s public domain?
I think that would be even better, in the sense that it is under the exact same license as Monocypher.
I believe BSD-2-Clause is just a hack for jurisdictions where there is no legal public domain.
I am not making any objection as I do not feel I have any need for agency on this issue and it is important you do what you feel is better. However for the sake of the conversation., I will comment here:
I tend to agree with @how that although I understand cryptographic primitives should be accessible, we need not to contribute or facilitate the life of proprietary software, we should not accept their conditions, quite the contrary they need to adapt.
Yes, I really wonder why the change is necessary. If you can verbalize it clearly, @pukkamustard, it would certainly be useful for the whole free software community. I feel there’s an underlying topic that is not sufficiently exposed.
I feel the author of the Monocypher library has gone trough great effort to make it “easy to deploy” . From what I understand that is the reason why Monocypher is licensed as CC0-1.0/BSD-2-Clause. ocaml-monocypher is a very thin binding layer between OCaml and Monocypher. I feel licensing this as AGPL-3.0-or-later is an unnecessary detriment to the goals of Monocypher.
So argument 1 is my motivation.
 See second point on what Monocypher is at https://monocypher.org/