On 12/12/23 19:41, Arthur A. Gleckler wrote:
On Tue, Dec 12, 2023 at 2:43 PM John Cowan <[email protected]
<mailto:[email protected]>> wrote:
I don't think you are understanding the use case here. This is not
about dual licensing, it is about a work A under license L_A that is
a derivative of a work B under license L_B. Let us say that license
L_B requires that a copy of it (e.g. BSD) or a reference to it (e.g.
Apache) be present in a derivative work such as A. However, work A
is licensed only under license L_A; license L_B is not the effective
license of work A. Therefore there should be SPDX metadata for L_A
but not for L_B.
How come the original license, e.g. Apache or BSD, doesn't apply to the
derivative work, or at least to the unchanged parts? Law is so confusing.
If I understand the use case you are describing, I think this is when
the SPDX operator AND applies: for example, one could write:
;; SPDX-License-Identifier: (MIT AND Apache-2.0)
The AND operator signifies that obligations from both licenses apply
(perhaps to different parts, e.g. the original material and the
modifications, or perhaps to different sections, say if a file mostly
under one license copies a particular function under a different
license). This communicates to the downstream recipient that they must
preserve whatever notices etc. are required for both licenses. Note that
the AND operator is distinct from the OR operator, which signifies dual
licensing.
Philip