public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Adam Dinwoodie <adam@dinwoodie.org>
To: cygwin-apps@cygwin.com
Subject: Re: LICENSE values for non-standard OSS licenses
Date: Thu, 13 Oct 2022 11:32:08 +0100	[thread overview]
Message-ID: <20221013103208.qcb2cpwqcjhnvqh4@lucy.dinwoodie.org> (raw)
In-Reply-To: <c1de5173-f056-1f03-d98d-58810c63df5d@SystematicSw.ab.ca>

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 <license-ref> 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.)

  reply	other threads:[~2022-10-13 10:32 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-11  8:37 Adam Dinwoodie
2022-10-11 20:13 ` Brian Inglis
2022-10-12  8:36   ` Thomas Wolff
2022-10-12  9:51     ` Adam Dinwoodie
2022-10-12  9:00   ` Adam Dinwoodie
2022-10-12 15:45     ` Brian Inglis
2022-10-12 20:14       ` Adam Dinwoodie
2022-10-12 17:58 ` Achim Gratz
2022-10-12 18:59   ` Adam Dinwoodie
2022-10-12 22:28     ` Brian Inglis
2022-10-13 10:32       ` Adam Dinwoodie [this message]
2022-10-15 19:27         ` Brian Inglis
2022-10-16  8:42     ` ASSI
2022-10-14 16:28 ` Jon Turney
2022-10-15 12:58   ` Adam Dinwoodie
2022-10-30 13:15     ` Jon Turney
2022-10-30 17:19     ` Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221013103208.qcb2cpwqcjhnvqh4@lucy.dinwoodie.org \
    --to=adam@dinwoodie.org \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).