facebook / akd

An implementation of an auditable key directory

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lincense terms are unclear

d3zd3z opened this issue · comments

The various Cargo.toml files throughout this tree give a license of "MIT OR Apache-2.0". However, the source files themselves give terms of:

// This source code is licensed under both the MIT license found in the
// LICENSE-MIT file in the root directory of this source tree and the Apache
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
// of this source tree.

listing that both licenses apply, an "AND" clause. If your intent is to allow either license to be used, I would suggest wording it as such in the individual-file licenses. With the AND clause, both licenses would apply, and given the additional restrictions on the Apache license, the terms of the MIT license would largely be irrelevant.

In addition, the CONTRIBUTING.md states that contributions must comply with the non-existent LICENSE file in the project. I suspect this is from a template and not corrected for this project.

Thanks for the callout on the CONTRIBUTING.md wording, will fix that.

Regarding the comment text at the top: here is a snippet from our internal policy:

The Rust community uses the terms "or" in the way they word their licenses. In Meta's licenses, we chose to use the inclusive "and" to signify "and/or." The terms used may be different, but the end result is the same.

So the intent here is to convey an OR, not an AND. Hope that helps.

In Meta's licenses, we chose to use the inclusive "and" to signify "and/or."

Really, you use "and" to mean "or"? I really wonder how many people are going to buy that. At least my interpretation of this license is that both licenses apply. Given that the Apache License is more restrictive than the MIT, I would mostly interpret this as this library being incompatible with code under GPLv2.

You can't "choose" for "and" to mean "and/or", it means "and", and both licenses apply. That's fine if it is what you meant, but I don't think that is what you are intending here. Unfortunately, I suspect this license was handed down, and you probably don't get much ability to change it.

So the intent here is to convey an OR, not an AND. Hope that helps.

If that is your intent, please word it as such. The clause uses "under both ...", as well as "and" which pretty clearly is indicating that both licenses apply, and there is not a choice of license.

Yes, this text was indeed handed down, but I agree with your points about the potential confusion here. Let me check internally and see what can be done about this...

In the meanwhile, thanks for the feedback, really appreciate it!

Hi @d3zd3z, thanks once again for all of the feedback. In #362, we now have a modified header text for each of the source files:

// This source code is dual-licensed under either the MIT license found in the
// LICENSE-MIT file in the root directory of this source tree or the Apache
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
// of this source tree. You may select, at your option, one of the above-listed licenses.

Hope that makes it clear enough!