]> git.meshlink.io Git - meshlink/blob - COPYING.README
Fix compiler warnings about comparing signed and unsigned sizes.
[meshlink] / COPYING.README
1 # License obligations
2
3 The source code of the MeshLink library itself is licensed under the GNU
4 General Public License version 2 or later (see the file COPYING for the
5 complete license). However, the MeshLink library depends on other libraries as
6 well, which each have their own license. This document summarizes your
7 obligations when you are releasing binaries that link with the MeshLink library
8 and any dependent libraries, for both open source and closed source software.
9
10 Please note that this document is not to be interpreted as a license itself.
11
12 ## List of libraries that MeshLink depends on
13
14 * Catta (LGPL version 2.1)
15 * Ed25519 (zlib license)
16 * Chacha20-Poly1305 (public domain)
17
18 ## Obligations for closed source software
19
20 With closed source software, we mean any software that is distributed only in
21 binary form. Note that there is no distinction between software that is sold,
22 rented out, or is gratis. You are not allowed to distribute closed source
23 software linked to the MeshLink library unless you have obtained a commercial
24 license for the MeshLink library. If you do distribute closed source software
25 linked to MeshLink without a commercial license, you are violating
26 international copyright law. In this case, please contact the MeshLink
27 author(s) as soon as possible in order to remedy this situation.
28
29 If you do have a commercial license for the MeshLink library, then apart from
30 the obligations set out in the commercial license, you are also obligated to
31 follow the rules set out in the licenses of the libraries MeshLink depends on.
32 In short, these are:
33
34 * Unless you have compiled MeshLink without support for Catta, you must make
35   the source code of Catta, with any modifications that you made to the Catta
36   library itself, available on request to anyone who has received a copy of
37   your closed source software, under the terms of the GNU Lesser General Public
38   License version 2.1 or later.
39 * Unless you have compiled MeshLink without support for Catta, you must give
40   prominent notice with each copy of your software that your software is using
41   Catta, and that the Catta library itself is covered under the terms of the
42   GNU Lesser General Public License version 2.1.
43
44 Apart from these obligations, you are strongly recommended to mention the other
45 libraries that MeshLink is depending on, as well as mention the MeshLink
46 library itself:
47
48 * Attribute Orson Peters as the author of the Ed25519 library.
49 * Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
50 * Attribute Guus Sliepen as the author of the MeshLink library.
51
52 ## Obligations for open source software
53
54 With open source software, we mean any software that is distributed in source
55 form, or is distributed in binary form with the exact source code used to
56 compile the binary form made publicly available, or with this source code
57 made available on request. Note that there is no distinction between software
58 that is sold, rented out, or is gratis.
59
60 If your software itself does not contain any copies or excerpts of the source
61 code of MeshLink, you are free to distribute that software under any license
62 you want. However, as soon as you distribute any binaries that are linked with
63 MeshLink, then the resulting binaries can only be distributed under the terms
64 of the GNU General Public License version 2 or later. In practice, this is not
65 a problem since if you make the source code available publicly, you are
66 fulfilling the obligations of the GPL, unless your software has a software
67 license that is incompatible with the GPL. Please check the following website
68 to find out if your open source software is compatible with MeshLink:
69
70 https://www.gnu.org/licenses/license-list.en.html#SoftwareLicenses
71
72 Apart from the obligations for the MeshLink library, set out in the GPL, you
73 are also obligated to follow the rules set out in the licenses of the libraries
74 MeshLink depends on. In short, these are:
75
76 * Unless you have compiled MeshLink without support for Catta, you must make
77   the source code of Catta, with any modifications that you made to the Catta
78   library itself, available on request to anyone who has received a copy of
79   your closed source software, under the terms of the GNU Lesser General Public
80   License version 2.1 or later.
81 * Unless you have compiled MeshLink without support for Catta, you must give
82   prominent notice with each copy of your software that your software is using
83   Catta, and that the Catta library itself is covered under the terms of the
84   GNU Lesser General Public License version 2.1.
85
86 Apart from these obligations, you are strongly recommended to mention the other
87 libraries that MeshLink is depending on, as well as mention the MeshLink
88 library itself:
89
90 * Attribute Orson Peters as the author of the Ed25519 library.
91 * Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
92 * Attribute Guus Sliepen as the author of the MeshLink library.
93
94 ## Recommended attribution text
95
96 Attribution for the libraries your software depends on should be added to any
97 written, printed or electronic documentation that comes with your software, as
98 well as displayed in any about dialogs, splash screens, and any other forms of
99 display that contain credits, license information and/or attribution. The
100 recommended text to display is:
101
102     This software makes use of the following libraries:
103
104     - MeshLink, copyright © 2014-2018 Guus Sliepen,
105       licensed under the GPL version 2 or later¹
106     - Catta, copyright © 2004-2018 the Avahi Developers and others,
107       licensed under the LGPL version 2.1 or later²
108     - Chacha20-Poly1305, by Daniel J. Bernstein, public domain
109     - Ed25519, copyright © 2015 Orson Peters, licensed under the zlib license
110
111 ¹) omit the "licensed under" text if you have a commercial license  
112 ²) omit this is you compiled MeshLink without support for Catta
113
114 The full text of the licenses of all libraries used should be included in the
115 documentation, and should be included in any forms or displays that contain
116 license information.