From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dalaran.tastycake.net (dalaran.tastycake.net [IPv6:2001:ba8:0:1c0::1:1]) by sourceware.org (Postfix) with ESMTPS id 18D713858404 for ; Thu, 13 Oct 2022 10:32:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 18D713858404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=dinwoodie.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=dinwoodie.org Received: from c.a.1.d.d.f.6.c.f.8.d.f.b.e.b.6.d.a.0.2.5.1.e.d.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:de15:20ad:6beb:fd8f:c6fd:d1ac] helo=lucy.dinwoodie.org) by dalaran.tastycake.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oivVZ-0006PP-Fy for cygwin-apps@cygwin.com; Thu, 13 Oct 2022 11:32:09 +0100 Received: from adam by lucy.dinwoodie.org with local (Exim 4.94.2) (envelope-from ) id 1oivVY-004t1e-1l for cygwin-apps@cygwin.com; Thu, 13 Oct 2022 11:32:08 +0100 Date: Thu, 13 Oct 2022 11:32:08 +0100 From: Adam Dinwoodie To: cygwin-apps@cygwin.com Subject: Re: LICENSE values for non-standard OSS licenses Message-ID: <20221013103208.qcb2cpwqcjhnvqh4@lucy.dinwoodie.org> Reply-To: cygwin-apps@cygwin.com References: <20221012185943.kucwn4xij7ray7d4@lucy.dinwoodie.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Oct 12, 2022 at 04:28:36PM -0600, Brian Inglis wrote: > On 2022-10-12 18:59 UTC, Adam Dinwoodie wrote: > > On Wed, Oct 12, 2022 at 07:58:56PM +0200, Achim Gratz wrote: > > > Adam Dinwoodie writes: > > > > ERROR: invalid hints git-filter-repo-2.38.0-1-src.hint > > > > ERROR: package 'git-filter-repo': errors in license expression: ['Unknown license key(s): LicenseRef-inherit-git, LicenseRef-inherit-libgit2, LicenseRef-inherit-libgit2-examples'] > > > > ERROR: errors while parsing hints for package 'git-filter-repo' > > > > ERROR: error parsing /sourceware/cygwin-staging/home/Adam Dinwoodie/noarch/release/git-filter-repo/git-filter-repo-2.38.0-1-src.hint > > > > ERROR: error while reading uploaded arch noarch packages from maintainer Adam Dinwoodie > > > > SUMMARY: 5 ERROR(s) > > > > ``` > > > > So it looks like the issue is the way I've encoded the non-standard > > > > licensing options. "LicenseRef-"(idstring) seems to be the way to > > > > encode this sort scenario, per [1] and [2], but that doesn't seem to be > > > > acceptable to calm. > > > > [1]: https://spdx.github.io/spdx-spec/v2.3/other-licensing-information-detected/ > > > > [2]: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ > > > > As it should, since "inherit-git" or any of the other variations doesn't > > > seem to be a valid license expression per the above. > > > I'm trying to use "LicenseRef-inherit-git" and similar, not just > > "inherit-git", to be clear. > > From https://spdx.github.io/spdx-spec/v2.3/other-licensing-information-detected/ > ... > > From https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ > ... > > > > Both of these seem to say that "LicenseRef-inherit-git" and similar is > > exactly the way to describe a license that isn't covered by the SPDX > > License List, at least unless I'm grossly misunderstanding how > > license-ref is defined in the ABNF and/or what the LICENSE value in the > > cygport file is supposed to store. > > > > > Are there any suggestions about how to resolve this? I don't think I > > > > can just use the standard license strings: even if we used GPL-2.0-only > > > > in place of LicenseRef-inherit-git -- incorrect as that's the license > > > > *currently* used by Git, but the license for git-filter-repo explicitly > > > > incorporates any future OSS license Git might use -- that still leaves > > > > the problem of LicenseRef-inherit-libgit2, which is currently GPL 2.0 > > > > with an exception that's not covered by any of the SPDX standard > > > > exceptions. > > > > Well I think you can, the license explicitely says you can chose any of > > > them as you see fit, so you can pick one today and another tomorrow if > > > you are so inclined. > > > Yes, that's true. I'm not a fan of making decisions for sub-licensees > > that I don't need to make, though; under the same logic, there would be > > no need for the "OR" syntax in SPDX at all... > > AFAICS git uses BSD-3-Clause-Clear, BSL-1.0, GPL-2.0-or-later, > LGPL-2.0-or-later, and MIT, where are the exception and inherit-git/libgit2 > from? > > Does your inherit-git/libgit2 refer to "...under the terms of the 'git' > package..." statements, and is that kind of reference really required, > rather than just taking the reference to be the explicit licences? Yes, exactly. Specifically, the "whatever open source licecense that git.git or libgit2 use now or in future" part. That "now or in future" is a significant bit of license flexibility, IMO, in the same way that "GPLv3" and "GPLv3 or later" are significantly different license terms, even if right now they're effectively identical. As I said before, I can just take Achim's suggestion of exercising my right as a licensee to pick specific licenses from the selection available. But I'd rather not set things up such that folk getting their code via me do so under more restrictive license terms than if they'd obtained the source and/or binaries directly, at least unless there's an overwhelmingly good reason for that. > For custom exceptions, and from SPDX discussion, I think you could use WITH > LicenseRef-cygwin-exception-... or similar wording, whatever is currently > preferred. That's not my reading of the spec. Looking at the ABNF at [0], a license-expression using a "WITH" statement has to be of the form `simple-expression "WITH" license-exception-id`, and `license-exception-id` can only be an SPDX-defined license identifier. The `"LicenseRef-"(idstring)` style is only valid as a `simple-expression`, i.e. with no "WITH" or before a "WITH". [0]: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ >From that same document: > If the applicable exception is not found on the SPDX License Exception > List, then use a single to represent the entire license > terms (including the exception). That is, where a license has an exception that isn't on SPDX's exception list, the solution is to use a single user-defined license to cover the entire license agreement, exception and all. (Plus, AIUI, LicenseRef-cygwin-exception-... would still be rejected by calm, for the same reason that LicenseRef-inherit-git is rejected by calm.)