Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hackage's rendering of Licenses, or how to get GPL-3.0-or-later? #782

Closed
juhp opened this issue Jul 30, 2018 · 8 comments
Closed

Hackage's rendering of Licenses, or how to get GPL-3.0-or-later? #782

juhp opened this issue Jul 30, 2018 · 8 comments

Comments

@juhp
Copy link
Contributor

juhp commented Jul 30, 2018

I think the rendering of package License fields on Hackage has changed?

For example GPL-3 is rendered as GPL-3.0-only on Hackage,
but the GPL-3 field in .cabal files also covers GPL-3-or-later for example.
Or maybe there is already a way to do it correctly?

@juhp
Copy link
Contributor Author

juhp commented Jul 30, 2018

Ah, I guess this is haskell/cabal#2547 and #385, so it requires Cabal 2.2.
Then presumably it only works with Cabal >= 2.2.

@gbaz
Copy link
Contributor

gbaz commented Jul 30, 2018

old style licenses are i think converted to spdx ones when we render them. But the conversion function indeed converts gpl-3 to gpl-3 only: http://hackage.haskell.org/package/Cabal-2.2.0.1/docs/src/Distribution-License.html#licenseToSPDX

@gbaz
Copy link
Contributor

gbaz commented Jul 30, 2018

(i.e. it does not cover 3-or-later)

@gbaz gbaz closed this as completed Jul 30, 2018
@gbaz
Copy link
Contributor

gbaz commented Jul 30, 2018

On second thought, maybe it isn't correct to render gpl3 to gpl-3-only. Rather, for the "only" conversion cases (where we err on the side of conservative in the conversion) we perhaps should be rendering the unconverted thing rather than introducing spurious choices.

@gbaz gbaz reopened this Jul 30, 2018
@phadej
Copy link
Contributor

phadej commented Jul 30, 2018

Note that GPL-3.0 are registered into ghc-pkg (8.4+) database as GPL-3.0-only, so if authors really care, they should bump to cabal-version: 2.2 and use proper expression.

The SPDX team introduced GPL-3.0-only and GPL-3.0-or-later identifiers specifically to avoid confusion of what's meant by GPL-3.0 (and too subtle difference with GPL-3.0+, which we don't even accept to Hackage. One can write GPL-3.0-only+ though; which we can forbid to enter Hackage though - not sure if we actually do).

@gbaz
Copy link
Contributor

gbaz commented Jul 30, 2018

Right, but the problem is we have a ton of packages which do have that confusion already. So my idea here is to not "force" a choice on the author, retroactively, but just allow that confusion to persist in older-style cabal files.

@gbaz
Copy link
Contributor

gbaz commented Jul 30, 2018

Actually, starting to change my mind again. After reading through the gpl faq, it seems to me like the "ambiguity" in not specifying only or or-newer really isn't that ambiguous. Without an explicit "or newer" designation the only possible reading is "only". So I'm starting to think that until cabal 2.2 there really just was no way to say "or newer" and the status quo now just recognizes that fact...

@gbaz
Copy link
Contributor

gbaz commented Jun 7, 2021

based on my last thinking in this thread and no further discussion, optimistically closing.

@gbaz gbaz closed this as completed Jun 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants