summaryrefslogtreecommitdiff
path: root/LICENSE.txt
blob: fc917af0937a12038516344f445f4ec83e9625c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
The software in this repository is under a number of licenses:

 bin/                                           GPL v2+
 go/src/nshd/                                   GPL v2+
 go/src/git.lukeshu.com/go/libgnulinux/crypt/   LGPL v2.1+
 go/src/git.lukeshu.com/go/libgnulinux/dl/      GPL v2+, with documentation output clarification
 go/src/git.lukeshu.com/go/libgnulinux/getgr/   LGPL v2.1+
 go/src/git.lukeshu.com/go/libnslcd/            LGPL v2.1+
 go/src/git.lukeshu.com/go/libsystemd/          Apache v2.0

 go/src/github.com/pkg/errors/                  2-clause BSD license
 go/src/golang.org/x/sys/unix/                  3-clause BSD license
 go/src/gopkg.in/check.v1/                      2-clause BSD license
 go/src/gopkg.in/yaml.v2/                       Apache v2.0

 build-aux/                                     AGPL v3+

The general notion is that the build system is AGPL (v3+), the core
application is GPL (v2+), while supporting libraries that might be
useful outside of this specific application are LGPL (v2.1+), with the
exceptions:
 - The systemd package is Apache licensed because of code taken from
   CoreOS and Docker.
 - The dl package is GPL v2+ licensed because of wording in comments
   taken from the Linux Programmer's Manual.
 - pkg/errors, sys/unix, Gocheck, and YAML libraries use other
   licenses because they are 3rd-party libraries, and that's how the
   authors licensed them.

The effective license of the 'nshd' program as a whole is GPL v3+; it
links together code that is GPL v2+ with code that is Apache v2.0; the
GPL v2 and Apache v2.0 are incompatible; while the GPL v3 (and
presumably future versions) is compatible with Apache v2.0; so one is
forced to take the "any later version" option on the GPL v2+ code.

For more details, see each individual file.