-
Notifications
You must be signed in to change notification settings - Fork 710
Consider adopting/support SPDX licence identifiers #2547
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
Comments
I remember @dcoutts being against adding support for every possible license in existence. But the license expression syntax looks good. |
Well there's two issues, one is discouraging license proliferation, but the main one is whether we want to move to the license field being a precise specification or just a general indicator. Historically it has been more of a general indicator. If we want it to be precise then we should address it in one go, not piecemeal. So that would include the ability to express dual licensing etc. I'm happy to consider externally specified syntax & semantics. |
Regarding dual-licensing, I stumbled over http://wiki.spdx.org/view/SPDX_FAQ which suggests:
|
Btw, there's the design aspect of whether we want to accurately describe packages with "configuration conditional licensing", consider as a practical example e.g.
So, in this case, for Windows the effective license would be (in SPDX style): " |
Herbert's example suggests that it should be allowed to mention |
There is an existing implementation at https://hackage.haskell.org/package/spdx |
I'd keen to hear reviews of mentioned package :) |
Also few comments about SPDX:
and obviously i'm 👍 for this to happen. Of course one cannot blindly trust the license field in cabal file, we should check actual EDIT there is https://github.com/jaspervdj/cabal-dependency-licenses |
So we decided that SPDX is the way forward and @phadej agreed to implement SPDX support for the 2.2 release. |
Resolves haskell#2547 I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef" unrepresentable. That also simplifies types. license field is parsed as old License when cabal-version <2.2, and as SPDX expression otherwise. NONE is recognised. There are also IPI changes, there both old and SPDX license expressions are accepted, as both can occur in package database.
Resolves haskell#2547 I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef" unrepresentable. That also simplifies types. license field is parsed as old License when cabal-version <2.2, and as SPDX expression otherwise. NONE is recognised. There are also IPI changes, there both old and SPDX license expressions are accepted, as both can occur in package database.
WIP: [ci skip] Have to fix cabal-tests and check that we don't break older (i.e all) ghc-pkgs Resolves haskell#2547 I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef" unrepresentable. That also simplifies types. license field is parsed as old License when cabal-version <2.2, and as SPDX expression otherwise. NONE is recognised. There are also IPI changes, there both old and SPDX license expressions are accepted, as both can occur in package database.
Resolves haskell#2547 I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef" unrepresentable. That also simplifies types. license field is parsed as old `License` when cabal-version <2.2, and as SPDX expression otherwise. `NONE` is recognised. There are best-effort functions to convert between `License` and `SPDX.License`. There are also IPI changes: parser accepts both `License` and `SPDX.License`, as both can occur in package database. Cabal will `register` a SDPX expression as `license` for GHC >= 8.4, and legacy `License` for other (we are smart when converting `PackageDescription` + LBI and other data to `InstalledPackageInfo`)
Resolves haskell#2547 I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef" unrepresentable. That also simplifies types. license field is parsed as old `License` when cabal-version <2.2, and as SPDX expression otherwise. `NONE` is recognised. There are best-effort functions to convert between `License` and `SPDX.License`. There are also IPI changes: parser accepts both `License` and `SPDX.License`, as both can occur in package database. Cabal will `register` a SDPX expression as `license` for GHC >= 8.4, and legacy `License` for other (we are smart when converting `PackageDescription` + LBI and other data to `InstalledPackageInfo`) Also add NFData InstalledPackageInfo
See table at https://spdx.org/licenses (or http://git.spdx.org/?p=license-list.git;a=summary) and or SPDX spec at http://spdx.org/SPDX-specifications/spdx-version-2.0
In addition to a comprehensive list of software-licences, SPDX 2.0 also specifies an "license expression syntax":
This was suggested in http://www.reddit.com/r/haskell/comments/338eg9/could_we_update_distributionversion_to_recognize/cqiyep4
/cc @dcoutts @cartazio
The text was updated successfully, but these errors were encountered: