diff mbox series

[bug#51566] guix: import: Add licences and their detection.

Message ID 20211102100315.2730-1-attila@lendvai.name
State Accepted
Headers show
Series [bug#51566] guix: import: Add licences and their detection. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Attila Lendvai Nov. 2, 2021, 10:03 a.m. UTC
* guix/licenses.scm (json): New variable.
* guix/import/utils.scm (spdx-string->license): Identify more.
---

the added comments deliberately mention the alternative names
to help with grep'ping.

 guix/import/utils.scm |  4 ++++
 guix/licenses.scm     | 10 ++++++++++
 2 files changed, 14 insertions(+)

Comments

Attila Lendvai Nov. 2, 2021, 10:20 a.m. UTC | #1
i have just realized this regarding the json licence:

"This license uses the Expat license as a base, but adds a clause mandating: “The Software shall be used for Good, not Evil.” This is a restriction on usage and thus conflicts with freedom 0. The restriction might be unenforcible, but we cannot presume that. Thus, the license is nonfree."

as per: https://directory.fsf.org/wiki/License:JSON

if json doesn't qualify for guix, then it means that stuff like the go ethereum client doesn't qualify.

context: i'm smartening up the go importer and go-ethereum's transitive closure of dozens of dependencies contains projects with json licence.

please advise,

- attila
PGP: 5D5F 45C7 DFCD 0A39
diff mbox series

Patch

diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index a180742ca3..9ac3f3086d 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -152,6 +152,7 @@  (define (spdx-string->license str)
     ("CC0-1.0"                     'license:cc0)
     ("CC-BY-2.0"                   'license:cc-by2.0)
     ("CC-BY-3.0"                   'license:cc-by3.0)
+    ("CC-BY-4.0"                   'license:cc-by4.0)
     ("CC-BY-SA-2.0"                'license:cc-by-sa2.0)
     ("CC-BY-SA-3.0"                'license:cc-by-sa3.0)
     ("CC-BY-SA-4.0"                'license:cc-by-sa4.0)
@@ -163,6 +164,7 @@  (define (spdx-string->license str)
     ("EPL-1.0"                     'license:epl1.0)
     ("MIT"                         'license:expat)
     ("FTL"                         'license:freetype)
+    ("Freetype"                    'license:freetype)
     ("GFDL-1.1"                    'license:fdl1.1+)
     ("GFDL-1.2"                    'license:fdl1.2+)
     ("GFDL-1.3"                    'license:fdl1.3+)
@@ -179,11 +181,13 @@  (define (spdx-string->license str)
     ("GPL-3.0-only"                'license:gpl3)
     ("GPL-3.0+"                    'license:gpl3+)
     ("GPL-3.0-or-later"            'license:gpl3+)
+    ("HPND"                        'license:hpnd)
     ("ISC"                         'license:isc)
     ("IJG"                         'license:ijg)
     ("Imlib2"                      'license:imlib2)
     ("IPA"                         'license:ipa)
     ("IPL-1.0"                     'license:ibmpl1.0)
+    ("JSON"                        'license:json)
     ("LAL-1.3"                     'license:lal1.3)
     ("LGPL-2.0"                    'license:lgpl2.0)
     ("LGPL-2.0-only"               'license:lgpl2.0)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index c071aae4a9..ca0a1d8f6f 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -70,6 +70,7 @@  (define-module (guix licenses)
             ibmpl1.0
             imlib2
             ipa
+            json
             knuth
             lal1.3
             lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ llgpl
@@ -308,6 +309,8 @@  (define eupl1.2
            "https://directory.fsf.org/wiki/License:EUPL-1.2"
            "https://www.gnu.org/licenses/license-list#EUPL-1.2"))
 
+;; Some people call it the MIT license. For clarification see:
+;; https://www.gnu.org/licenses/license-list.html#Expat
 (define expat
   (license "Expat"
            "http://directory.fsf.org/wiki/License:Expat"
@@ -415,6 +418,13 @@  (define ipa
            "http://directory.fsf.org/wiki/License:IPA_Font_License"
            "https://www.gnu.org/licenses/license-list#IPAFONT"))
 
+(define json
+  (license "JSON License"
+           "https://json.org/license.html"
+           "https://directory.fsf.org/wiki/License:JSON"
+           ;; "https://spdx.org/licenses/JSON.html"
+           ))
+
 (define knuth
   (license "Donald Knuth's license for TeX"
            "http://www.ctan.org/license/knuth"