* List of abbreviations for licenses
@ 2012-11-29 4:54 Nikita Karetnikov
2012-11-29 22:05 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Nikita Karetnikov @ 2012-11-29 4:54 UTC (permalink / raw)
To: bug-guix
Hi,
I'm trying to package 'util-linux'. It uses several licenses:
- GPLv3+
- GPLv2+
- GPLv2
- LGPLv2+
- BSD with advertising
- Public Domain
What are the common abbreviations for Public Domain and BSD with
advertising? Is there a list of abbreviations for licenses?
As far as I can tell, 'license' doesn't check the used values. So it's
possible to use an incorrect value (e.g. "foobar"). Should we add a
function to check this?
Nikita
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-11-29 4:54 List of abbreviations for licenses Nikita Karetnikov
@ 2012-11-29 22:05 ` Ludovic Courtès
2012-11-29 23:53 ` Jeff Mickey
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-11-29 22:05 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Hello!
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> I'm trying to package 'util-linux'. It uses several licenses:
>
> - GPLv3+
> - GPLv2+
> - GPLv2
> - LGPLv2+
> - BSD with advertising
> - Public Domain
>
> What are the common abbreviations for Public Domain and BSD with
> advertising? Is there a list of abbreviations for licenses?
Nixpkgs uses this:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/licenses.nix
which is a subset of this:
http://fedoraproject.org/wiki/Licensing
> As far as I can tell, 'license' doesn't check the used values. So it's
> possible to use an incorrect value (e.g. "foobar"). Should we add a
> function to check this?
There could be a (guix licenses) module along these lines:
(define-module (guix licenses)
#:use-module (srfi srfi-9)
#:export (gplv2+ gplv3+))
(define-record-type <license>
(license name)
license?
(name license-name))
(define gplv3+ (license "GPLv3+"))
(define gplv2+ (license "GPLv2+"))
Packages would then do, for instance:
(package
...
(license gplv3+))
and you would get a unbound-variable warning when passing something
wrong. We could imagine a <license-union> type for multiply-licensed
code, and a <license-set> type for packages that incorporate code under
different licenses. There could be a mechanism to make sure the
‘license’ field is a <license> object, or a <license-set> or
<license-union>
And then, it would be tempting to make a graph of <license> objects to
indicate compatibility, and add additional properties to each <license>
object to describe it more precisely (copyleft, version number, etc.),
and so on.
But! We must keep in mind that people will always write new licenses;
packages will always include files covered by different licenses;
there will always be dual-licensed packages; etc.
More importantly, licensing is not a science, and we can’t pretend to
devise a universal “license calculus”. (This has been discussed at
length in the past on nix-dev.)
Thus, I would start with a simple (guix licenses) module. I would
perhaps even omit the <license> type, and use just plain strings to
start with.
WDYT?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-11-29 22:05 ` Ludovic Courtès
@ 2012-11-29 23:53 ` Jeff Mickey
2012-11-30 0:49 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Jeff Mickey @ 2012-11-29 23:53 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: bug-guix
On Thu, Nov 29, 2012 at 2:05 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> More importantly, licensing is not a science, and we can’t pretend to
> devise a universal “license calculus”. (This has been discussed at
> length in the past on nix-dev.)
>
> Thus, I would start with a simple (guix licenses) module. I would
> perhaps even omit the <license> type, and use just plain strings to
> start with.
>
> WDYT?
Unsolicited advice incoming..
Licenses are a huge pain when you get into all the custom ones out
there. This has also been discussed at length on arch-dev years ago.
IIRC ArchLinux uses an array of strings for each package, and then
when you build the package you get warnings about licenses that are
unique/new. You then add the LICENSE file to the package so the
warning goes away, and it gets placed in a common licenses directory.
I don't quite remember the mechanics of how it checked this, and I'm
sure it's changed by now.
I think the important part here is if you use strings, have some way
to check if someone is building a package with a new/undocumented
license. Then the graph of license objects could be accomplished
later, if you know you don't have misspellings like "LGLPv2" and stuff
like it polluting the graph.
// jeff
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-11-29 23:53 ` Jeff Mickey
@ 2012-11-30 0:49 ` Ludovic Courtès
2012-12-06 22:52 ` Nikita Karetnikov
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-11-30 0:49 UTC (permalink / raw)
To: Jeff Mickey; +Cc: bug-guix
Hi,
Jeff Mickey <j@codemac.net> skribis:
> I think the important part here is if you use strings, have some way
> to check if someone is building a package with a new/undocumented
> license. Then the graph of license objects could be accomplished
> later, if you know you don't have misspellings like "LGLPv2" and stuff
> like it polluting the graph.
Right. Referring to variables defined in (guix licenses) instead of
using plain strings directly should help with that.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-11-30 0:49 ` Ludovic Courtès
@ 2012-12-06 22:52 ` Nikita Karetnikov
2012-12-07 9:43 ` Ludovic Courtès
2012-12-07 19:53 ` Ludovic Courtès
0 siblings, 2 replies; 17+ messages in thread
From: Nikita Karetnikov @ 2012-12-06 22:52 UTC (permalink / raw)
To: bug-guix
[-- Attachment #1: Type: text/plain, Size: 45 bytes --]
I've attached the patch.
What do you think?
[-- Attachment #2: 0001-Add-guix-licenses.patch --]
[-- Type: text/x-diff, Size: 4539 bytes --]
From eb8229c7834dd1d249e8f5adc8382d00b289aa00 Mon Sep 17 00:00:00 2001
From: Nikita Karetnikov <nikita@karetnikov.org>
Date: Thu, 6 Dec 2012 22:39:57 +0000
Subject: [PATCH] Add (guix licenses).
* guix/licenses.scm: New file.
* Makefile.am (MODULES): Add it.
---
Makefile.am | 1 +
guix/licenses.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+), 0 deletions(-)
create mode 100644 guix/licenses.scm
diff --git a/Makefile.am b/Makefile.am
index fab85ae..d5072c7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,6 +28,7 @@ MODULES = \
guix/derivations.scm \
guix/download.scm \
guix/gnu-maintenance.scm \
+ guix/licenses.scm \
guix/build-system.scm \
guix/build-system/gnu.scm \
guix/build-system/trivial.scm \
diff --git a/guix/licenses.scm b/guix/licenses.scm
new file mode 100644
index 0000000..f12dee2
--- /dev/null
+++ b/guix/licenses.scm
@@ -0,0 +1,106 @@
+;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of Guix.
+;;;
+;;; Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix licenses)
+ #:use-module (srfi srfi-9)
+ #:export (asl2.0)
+ #:export (boost1.0)
+ #:export (bsd-2 bsd-3 bsd-4)
+ #:export (cddl1.0)
+ #:export (cpl1.0)
+ #:export (epl1.0)
+ #:export (gpl2 gpl2+ gpl3 gpl3+)
+ #:export (ijg)
+ #:export (ibmpl1.0)
+ #:export (lgpl2.1 lgpl2.1+ lgpl3 lgpl3+)
+ #:export (mpl2.0)
+ #:export (openssl)
+ #:export (public-domain)
+ #:export (x11)
+ #:export (zlib))
+
+(define-record-type <license>
+ (license name)
+ license?
+ (name license-name))
+
+;;; The following list is based on these links:
+;;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/licenses.nix
+;;; https://www.gnu.org/licenses/license-list
+
+;;; https://www.gnu.org/licenses/license-list#apache2
+(define asl2.0 (license "ASL 2.0"))
+
+;;; https://www.gnu.org/licenses/license-list#boost
+(define boost1.0 (license "Boost 1.0"))
+
+;;; https://www.gnu.org/licenses/license-list#FreeBSD
+(define bsd-2 (license "FreeBSD"))
+
+;;; https://www.gnu.org/licenses/license-list#ModifiedBSD
+(define bsd-3 (license "Modified BSD"))
+
+;;; https://www.gnu.org/licenses/license-list#OriginalBSD
+(define bsd-4 (license "Original BSD"))
+
+;;; https://www.gnu.org/licenses/license-list#CDDL
+(define cddl1.0 (license "CDDL 1.0"))
+
+;;; https://www.gnu.org/licenses/license-list#CommonPublicLicense10
+(define cpl1.0 (license "CPL 1.0"))
+
+;;; https://www.gnu.org/licenses/license-list#EPL
+(define epl1.0 (license "EPL 1.0"))
+
+;;; https://www.gnu.org/licenses/license-list#GPLv2
+(define gpl2 (license "GPL 2"))
+(define gpl2+ (license "GPL 2+"))
+
+;;; https://www.gnu.org/licenses/license-list#GNUGPLv3
+(define gpl3 (license "GPL 3"))
+(define gpl3+ (license "GPL 3+"))
+
+;;; https://www.gnu.org/licenses/license-list#ijg
+(define ijg (license "IJG"))
+
+;;; https://www.gnu.org/licenses/license-list#IBMPL
+(define ibmpl1.0 (license "IBMPL 1.0"))
+
+;;; https://www.gnu.org/licenses/license-list#LGPLv2.1
+(define lgpl2.1 (license "LGPL 2.1"))
+(define lgpl2.1+ (license "LGPL 2.1+"))
+
+;;; https://www.gnu.org/licenses/license-list#LGPLv3
+(define lgpl3 (license "LGPL 3"))
+(define lgpl3+ (license "LGPL 3+"))
+
+;;; https://www.gnu.org/licenses/license-list#MPL-2.0
+(define mpl2.0 (license "MPL 2.0"))
+
+;;; https://www.gnu.org/licenses/license-list#OpenSSL
+(define openssl (license "OpenSSL"))
+
+;;; https://www.gnu.org/licenses/license-list#PublicDomain
+(define public-domain (license "Public Domain"))
+
+;;; https://www.gnu.org/licenses/license-list#X11License
+(define x11 (license "X11"))
+
+;;; https://www.gnu.org/licenses/license-list#ZLib
+(define zlib (license "Zlib"))
\ No newline at end of file
--
1.7.5.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-06 22:52 ` Nikita Karetnikov
@ 2012-12-07 9:43 ` Ludovic Courtès
2012-12-07 19:53 ` Ludovic Courtès
1 sibling, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-07 9:43 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Hi,
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> From eb8229c7834dd1d249e8f5adc8382d00b289aa00 Mon Sep 17 00:00:00 2001
> From: Nikita Karetnikov <nikita@karetnikov.org>
> Date: Thu, 6 Dec 2012 22:39:57 +0000
> Subject: [PATCH] Add (guix licenses).
>
> * guix/licenses.scm: New file.
> * Makefile.am (MODULES): Add it.
Thanks, looks good to me.
> +(define-module (guix licenses)
> + #:use-module (srfi srfi-9)
> + #:export (asl2.0)
> + #:export (boost1.0)
> + #:export (bsd-2 bsd-3 bsd-4)
> + #:export (cddl1.0)
> + #:export (cpl1.0)
> + #:export (epl1.0)
> + #:export (gpl2 gpl2+ gpl3 gpl3+)
> + #:export (ijg)
> + #:export (ibmpl1.0)
> + #:export (lgpl2.1 lgpl2.1+ lgpl3 lgpl3+)
> + #:export (mpl2.0)
> + #:export (openssl)
> + #:export (public-domain)
> + #:export (x11)
> + #:export (zlib))
Can you make this a single #:export?
Also, make sure to export ‘license?’ and ‘license-name’.
Could you add a small “Commentary:” block at the beginning, and a “ends
here” lines at the end? See, for instance, guix/download.scm for an
example.
This allows for on-line documentation:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (module-commentary '(guix download))
$4 = "\n Produce fixed-output derivations with data fetched over HTTP or FTP.\n\n"
--8<---------------cut here---------------end--------------->8---
(Likewise with C-d RET in Geiser.)
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-06 22:52 ` Nikita Karetnikov
2012-12-07 9:43 ` Ludovic Courtès
@ 2012-12-07 19:53 ` Ludovic Courtès
2012-12-07 22:34 ` Nikita Karetnikov
1 sibling, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-07 19:53 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Hi again,
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> +(define-record-type <license>
> + (license name)
> + license?
> + (name license-name))
[...]
> +;;; https://www.gnu.org/licenses/license-list#apache2
> +(define asl2.0 (license "ASL 2.0"))
While we’re at it, we should add a ‘url’ field to <license>, so that the
URL above would be a field of the license object instead of being a
comment.
Thoughts?
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-07 19:53 ` Ludovic Courtès
@ 2012-12-07 22:34 ` Nikita Karetnikov
2012-12-07 23:24 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Nikita Karetnikov @ 2012-12-07 22:34 UTC (permalink / raw)
To: bug-guix
> Can you make this a single #:export?
Which one should I use? (The latter looks better, IMHO.)
#:export (license? license-name asl2.0 boost1.0 bsd-2 bsd-3 bsd-4
cddl1.0 cpl1.0 epl1.0 gpl2 gpl2+ gpl3 gpl3+ ijg ibmpl1.0 lgpl2.1
lgpl2.1+ lgpl3 lgpl3+ mpl2.0 openssl public-domain x11 zlib)
#:export (license? license-name
asl2.0
boost1.0
bsd-2 bsd-3 bsd-4
cddl1.0
cpl1.0
epl1.0
gpl2 gpl2+ gpl3 gpl3+
ijg
ibmpl1.0 lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
mpl2.0
openssl
public-domain
x11
zlib)
> While we’re at it, we should add a ‘url’ field to <license>, so that the
> URL above would be a field of the license object instead of being a
> comment.
I think that we should use 'uri' instead. [1]
[1] https://upload.wikimedia.org/wikipedia/commons/c/c3/URI_Euler_Diagram_no_lone_URIs.svg
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-07 22:34 ` Nikita Karetnikov
@ 2012-12-07 23:24 ` Ludovic Courtès
2012-12-08 2:14 ` Nikita Karetnikov
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-07 23:24 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
>> Can you make this a single #:export?
>
> Which one should I use? (The latter looks better, IMHO.)
The latter, yes.
>> While we’re at it, we should add a ‘url’ field to <license>, so that the
>> URL above would be a field of the license object instead of being a
>> comment.
>
> I think that we should use 'uri' instead. [1]
Well, in practice that’ll be URLs to descriptive documents, but either
way is fine with me.
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-07 23:24 ` Ludovic Courtès
@ 2012-12-08 2:14 ` Nikita Karetnikov
2012-12-08 18:23 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Nikita Karetnikov @ 2012-12-08 2:14 UTC (permalink / raw)
To: bug-guix
[-- Attachment #1: Type: text/plain, Size: 88 bytes --]
I've attached the patch.
'comment' is for various notes. (It's not necessarily a URI.)
[-- Attachment #2: 0001-Add-guix-licenses.patch --]
[-- Type: text/x-diff, Size: 6614 bytes --]
From 714e8352e34633edf6721ba32eed0bcc902281a2 Mon Sep 17 00:00:00 2001
From: Nikita Karetnikov <nikita@karetnikov.org>
Date: Sat, 8 Dec 2012 01:48:17 +0000
Subject: [PATCH] Add (guix licenses).
* guix/licenses.scm: New file.
* Makefile.am (MODULES): Add it.
---
Makefile.am | 1 +
guix/licenses.scm | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 172 insertions(+), 0 deletions(-)
create mode 100644 guix/licenses.scm
diff --git a/Makefile.am b/Makefile.am
index 761f025..d52bd38 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,6 +28,7 @@ MODULES = \
guix/derivations.scm \
guix/download.scm \
guix/gnu-maintenance.scm \
+ guix/licenses.scm \
guix/build-system.scm \
guix/build-system/gnu.scm \
guix/build-system/trivial.scm \
diff --git a/guix/licenses.scm b/guix/licenses.scm
new file mode 100644
index 0000000..9c1b724
--- /dev/null
+++ b/guix/licenses.scm
@@ -0,0 +1,171 @@
+;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of Guix.
+;;;
+;;; Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix licenses)
+ #:use-module (srfi srfi-9)
+ #:export (license? license-name license-uri license-comment
+ asl2.0
+ boost1.0
+ bsd-2 bsd-3 bsd-4
+ cddl1.0
+ cpl1.0
+ epl1.0
+ gpl2 gpl2+ gpl3 gpl3+
+ ijg
+ ibmpl1.0
+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
+ mpl2.0
+ openssl
+ public-domain
+ x11
+ zlib))
+
+(define-record-type <license>
+ (license name uri comment)
+ license?
+ (name license-name)
+ (uri license-uri)
+ (comment license-comment))
+
+;;; Commentary:
+;;;
+;;; Available licenses.
+;;;
+;;; This list is based on these links:
+;;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/licenses.nix
+;;; https://www.gnu.org/licenses/license-list
+;;;
+;;; Code:
+
+(define asl2.0
+ (license "ASL 2.0"
+ "http://directory.fsf.org/wiki/License:Apache2.0"
+ "https://www.gnu.org/licenses/license-list#apache2"))
+
+(define boost1.0
+ (license "Boost 1.0"
+ "http://directory.fsf.org/wiki/License:Boost1.0"
+ "https://www.gnu.org/licenses/license-list#boost"))
+
+(define bsd-2
+ (license "FreeBSD"
+ "http://directory.fsf.org/wiki/License:FreeBSD"
+ "https://www.gnu.org/licenses/license-list#FreeBSD"))
+
+(define bsd-3
+ (license "Modified BSD"
+ "http://directory.fsf.org/wiki/License:BSD_3Clause"
+ "https://www.gnu.org/licenses/license-list#ModifiedBSD"))
+
+(define bsd-4
+ (license "Original BSD"
+ "http://directory.fsf.org/wiki/License:BSD_4Clause"
+ "https://www.gnu.org/licenses/license-list#OriginalBSD"))
+
+(define cddl1.0
+ (license "CDDL 1.0"
+ "http://directory.fsf.org/wiki/License:CDDLv1.0"
+ "https://www.gnu.org/licenses/license-list#CDDL"))
+
+(define cpl1.0
+ (license "CPL 1.0"
+ "http://directory.fsf.org/wiki/License:CPLv1.0"
+ "https://www.gnu.org/licenses/license-list#CommonPublicLicense10"))
+
+(define epl1.0
+ (license "EPL 1.0"
+ "http://directory.fsf.org/wiki/License:EPLv1.0"
+ "https://www.gnu.org/licenses/license-list#EPL"))
+
+(define gpl2
+ (license "GPL 2"
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
+ "https://www.gnu.org/licenses/license-list#GPLv2"))
+
+(define gpl2+
+ (license "GPL 2+"
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
+ "https://www.gnu.org/licenses/license-list#GPLv2"))
+
+(define gpl3
+ (license "GPL 3"
+ "https://www.gnu.org/licenses/gpl.html"
+ "https://www.gnu.org/licenses/license-list#GNUGPLv3"))
+
+(define gpl3+
+ (license "GPL 3+"
+ "https://www.gnu.org/licenses/gpl.html"
+ "https://www.gnu.org/licenses/license-list#GNUGPLv3"))
+
+(define ijg
+ (license "IJG"
+ "http://directory.fsf.org/wiki/License:JPEG"
+ "https://www.gnu.org/licenses/license-list#ijg"))
+
+(define ibmpl1.0
+ (license "IBMPL 1.0"
+ "http://directory.fsf.org/wiki/License:IBMPLv1.0"
+ "https://www.gnu.org/licenses/license-list#IBMPL"))
+
+(define lgpl2.1
+ (license "LGPL 2.1"
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
+ "https://www.gnu.org/licenses/license-list#LGPLv2.1"))
+
+(define lgpl2.1+
+ (license "LGPL 2.1+"
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
+ "https://www.gnu.org/licenses/license-list#LGPLv2.1"))
+
+(define lgpl3
+ (license "LGPL 3"
+ "https://www.gnu.org/licenses/lgpl.html"
+ "https://www.gnu.org/licenses/license-list#LGPLv3"))
+
+(define lgpl3+
+ (license "LGPL 3+"
+ "https://www.gnu.org/licenses/lgpl.html"
+ "https://www.gnu.org/licenses/license-list#LGPLv3"))
+
+(define mpl2.0
+ (license "MPL 2.0"
+ "http://directory.fsf.org/wiki/License:MPLv2.0"
+ "https://www.gnu.org/licenses/license-list#MPL-2.0"))
+
+(define openssl
+ (license "OpenSSL"
+ "http://directory.fsf.org/wiki/License:OpenSSL"
+ "https://www.gnu.org/licenses/license-list#OpenSSL"))
+
+(define public-domain
+ (license "Public Domain"
+ "http://directory.fsf.org/wiki/License:PublicDomain"
+ "https://www.gnu.org/licenses/license-list#PublicDomain"))
+
+(define x11
+ (license "X11"
+ "http://directory.fsf.org/wiki/License:X11"
+ "https://www.gnu.org/licenses/license-list#X11License"))
+
+(define zlib
+ (license "Zlib"
+ "http://www.gzip.org/zlib/zlib_license.html"
+ "https://www.gnu.org/licenses/license-list#ZLib"))
+
+;;; licenses.scm ends here
--
1.7.5.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-08 2:14 ` Nikita Karetnikov
@ 2012-12-08 18:23 ` Ludovic Courtès
2012-12-09 2:47 ` Nikita Karetnikov
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-08 18:23 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> From 714e8352e34633edf6721ba32eed0bcc902281a2 Mon Sep 17 00:00:00 2001
> From: Nikita Karetnikov <nikita@karetnikov.org>
> Date: Sat, 8 Dec 2012 01:48:17 +0000
> Subject: [PATCH] Add (guix licenses).
>
> * guix/licenses.scm: New file.
> * Makefile.am (MODULES): Add it.
Applied, thanks!
Next step will be to use it everywhere.
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-08 18:23 ` Ludovic Courtès
@ 2012-12-09 2:47 ` Nikita Karetnikov
2012-12-09 13:41 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Nikita Karetnikov @ 2012-12-09 2:47 UTC (permalink / raw)
To: bug-guix
> Next step will be to use it everywhere.
How to change the recipes that are already in the repo? Should we do
it in a single commit?
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-09 2:47 ` Nikita Karetnikov
@ 2012-12-09 13:41 ` Ludovic Courtès
2012-12-11 8:24 ` Nikita Karetnikov
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-09 13:41 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> How to change the recipes that are already in the repo? Should we do
> it in a single commit?
Yes, in a single commit. Just use a simple ‘sed’ script or similar.
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-09 13:41 ` Ludovic Courtès
@ 2012-12-11 8:24 ` Nikita Karetnikov
2012-12-11 10:24 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Nikita Karetnikov @ 2012-12-11 8:24 UTC (permalink / raw)
To: bug-guix
Hi,
I've found out that we can't use (guix licenses) right now; 'bzip2'
and 'flex' use BSD-like licenses that differ from 'bsd-2', 'bsd-3',
and 'bsd-4'.
There are two ways to fix the problem. We can create new licenses for
such packages (e.g. 'bzip2'), but it will be tricky. I propose to use
the following variable instead:
(define bsd-like
(license "BSD-like"
#f
"This is not a real license. It's just a placeholder for
packages that use BSD-like licenses which don't fall into the
following categories: 'bsd-2', 'bsd-3', and 'bsd-4'. Check the
source code for details.")
What do you think?
Also, I'll add 'expat', which is used by 'libffi'.
Nikita
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: List of abbreviations for licenses
2012-12-11 8:24 ` Nikita Karetnikov
@ 2012-12-11 10:24 ` Ludovic Courtès
2012-12-11 14:04 ` Nikita Karetnikov
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2012-12-11 10:24 UTC (permalink / raw)
To: Nikita Karetnikov; +Cc: bug-guix
Hi,
Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:
> There are two ways to fix the problem. We can create new licenses for
> such packages (e.g. 'bzip2'), but it will be tricky. I propose to use
> the following variable instead:
>
> (define bsd-like
> (license "BSD-like"
> #f
> "This is not a real license. It's just a placeholder for
> packages that use BSD-like licenses which don't fall into the
> following categories: 'bsd-2', 'bsd-3', and 'bsd-4'. Check the
> source code for details.")
>
> What do you think?
What about:
(define* (bsd-style uri #:optional (comment ""))
(license "BSD-style"
uri
(string-append
"This is a BSD-style, non-copyleft free software license. "
"Check the URI for details. "
comment)))
So we’d write:
(package
(name "bzip2")
;; ...
(license (bsd-style "file://LICENSE"
"See LICENSE in the distribution.")))
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2012-12-11 14:32 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-29 4:54 List of abbreviations for licenses Nikita Karetnikov
2012-11-29 22:05 ` Ludovic Courtès
2012-11-29 23:53 ` Jeff Mickey
2012-11-30 0:49 ` Ludovic Courtès
2012-12-06 22:52 ` Nikita Karetnikov
2012-12-07 9:43 ` Ludovic Courtès
2012-12-07 19:53 ` Ludovic Courtès
2012-12-07 22:34 ` Nikita Karetnikov
2012-12-07 23:24 ` Ludovic Courtès
2012-12-08 2:14 ` Nikita Karetnikov
2012-12-08 18:23 ` Ludovic Courtès
2012-12-09 2:47 ` Nikita Karetnikov
2012-12-09 13:41 ` Ludovic Courtès
2012-12-11 8:24 ` Nikita Karetnikov
2012-12-11 10:24 ` Ludovic Courtès
2012-12-11 14:04 ` Nikita Karetnikov
2012-12-11 14:31 ` Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.