unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Nikita Karetnikov <nikita.karetnikov@gmail.com>
Cc: bug-guix@gnu.org
Subject: Re: List of abbreviations for licenses
Date: Thu, 29 Nov 2012 23:05:08 +0100	[thread overview]
Message-ID: <87vcco2hgr.fsf@gnu.org> (raw)
In-Reply-To: <CAD15K4uRCcLfyq9Cbhp8SzvP09iWOK21T8F_H-PfgRTMTjriTA@mail.gmail.com> (Nikita Karetnikov's message of "Thu, 29 Nov 2012 07:54:02 +0300")

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’.

  reply	other threads:[~2012-11-29 22:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-29  4:54 List of abbreviations for licenses Nikita Karetnikov
2012-11-29 22:05 ` Ludovic Courtès [this message]
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

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87vcco2hgr.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=bug-guix@gnu.org \
    --cc=nikita.karetnikov@gmail.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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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