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 D657338582BC for ; Wed, 12 Oct 2022 09:51:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D657338582BC 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 1oiYOL-0005L0-Jd for cygwin-apps@cygwin.com; Wed, 12 Oct 2022 10:51:09 +0100 Received: from adam by lucy.dinwoodie.org with local (Exim 4.94.2) (envelope-from ) id 1oiYOL-003sok-2k for cygwin-apps@cygwin.com; Wed, 12 Oct 2022 10:51:09 +0100 Date: Wed, 12 Oct 2022 10:51:09 +0100 From: Adam Dinwoodie To: cygwin-apps@cygwin.com Subject: Re: LICENSE values for non-standard OSS licenses Message-ID: <20221012095109.gqkcg5yvmu5kmadr@lucy.dinwoodie.org> Reply-To: cygwin-apps@cygwin.com References: <20221011083723.5yxsgtgvooxsdx3m@lucy.dinwoodie.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit 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 10:36:02AM +0200, Thomas Wolff wrote: > > > Am 11/10/2022 um 22:13 schrieb Brian Inglis: > > On Tue, 11 Oct 2022 09:37:23 +0100, Adam Dinwoodie wrote: > > > I'm trying to upload a new version of git-filter-repo, and took the > > > opportunity to set the LICENSE value in the cygport file.  The new value > > > looks valid according to my reading of the SPDX specification, but is > > > being rejected by calm. > > > The license for git-filter-repo is a bit complicated, because different > > > parts have different licenses, and several of them aren't "normal" > > > licenses.  The license is described at [0] and files referenced / linked > > > from there. > > > [0]: https://github.com/newren/git-filter-repo/blob/main/COPYING > > > I've encoded this as the somewhat verbose > > >     LICENSE='(MIT OR LicenseRef-inherit-git OR > > > LicenseRef-inherit-libgit2) AND (MIT OR LicenseRef-inherit-git OR > > > LicenseRef-inherit-libgit2 OR LicenseRef-inherit-libgit2-examples) > > > AND GPL-2.0-only' > From a mere Boolean perspective, this looks redundant and should be > simplified to >     LICENSE='(MIT OR LicenseRef-inherit-git OR LicenseRef-inherit-libgit2) > AND GPL-2.0-only' Hmm. You're obviously correct from a Boolean logic perspective, but my aim was to provide something more information-rich than a purely Boolean statement. Specifically, each file within the packages produced by this cygport script will be covered by one of the and-joined statements. Some files are GPLv2, some are MIT, "inherit-git" or "inherit-libgit2", and some are MIT, "inherit-git", "inherit-libgit2" or "inherit-libgit2-examples". Removing "inherit-libgit2-examples", as logically simplifying the statement would do, in my mind implies that license isn't at all relevant, even though it does apply to some parts of git-filter-repo. Which version is preferable probably comes down to the intent of the LICENSE value in the cygport file and in the various places that consume that information, either now or in future. If it's intended significantly for human consumption, having the information-rich version may be useful; if it's intended primarily for machine consumption, the simplified version would probably be preferable. >From digging around the SPDX specifications and examples a bit, I think we're already some distance away from the intent of SPDX. If you look at [0], for example, you can see detail is given separately for the source and compiled code, and within each of those, the license information is specified separately for each file. Using a single license string for -- potentially -- multiple packages means we're much more likely to encounter this sort of problem, as it's much more likely that different packages produced by the same cygport file, or different files within each package, are going to be covered by different licenses. [0]: https://github.com/spdx/spdx-examples/tree/master/example4/spdx