]> git.meshlink.io Git - meshlink/commitdiff
Add COPYING.README, detailing license obligations for users of MeshLink.
authorGuus Sliepen <guus@meshlink.io>
Sat, 21 Jul 2018 15:10:35 +0000 (17:10 +0200)
committerGuus Sliepen <guus@meshlink.io>
Sat, 21 Jul 2018 15:49:38 +0000 (17:49 +0200)
MeshLink itself depends on other libraries, and this document mainly
summarizes what obligations users of the MeshLink library have when they
distribute their software in binary form.

COPYING
COPYING.README [new file with mode: 0644]
Makefile.am
README
README.git
m4/zlib.m4 [deleted file]
src/net_packet.c

diff --git a/COPYING b/COPYING
index cc53542ff08adfbf58af677d0bb935217d2f87ab..819b40f4b3a874a3a843d6b0162cb59753bec8fb 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (C) 2014 Guus Sliepen <guus@meshlink.io>
+Copyright (C) 2014-2018 Guus Sliepen <guus@meshlink.io>
 
 This program 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
 
 This program 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
diff --git a/COPYING.README b/COPYING.README
new file mode 100644 (file)
index 0000000..214af75
--- /dev/null
@@ -0,0 +1,116 @@
+# License obligations
+
+The source code of the MeshLink library itself is licensed under the GNU
+General Public License version 2 or later (see the file COPYING for the
+complete license). However, the MeshLink library depends on other libraries as
+well, which each have their own license. This document summarizes your
+obligations when you are releasing binaries that link with the MeshLink library
+and any dependent libraries, for both open source and closed source software.
+
+Please note that this document is not to be interpreted as a license itself.
+
+## List of libraries that MeshLink depends on
+
+* Catta (LGPL version 2.1)
+* Ed25519 (zlib license)
+* Chacha20-Poly1305 (public domain)
+
+## Obligations for closed source software
+
+With closed source software, we mean any software that is distributed only in
+binary form. Note that there is no distinction between software that is sold,
+rented out, or is gratis. You are not allowed to distribute closed source
+software linked to the MeshLink library unless you have obtained a commercial
+license for the MeshLink library. If you do distribute closed source software
+linked to MeshLink without a commercial license, you are violating
+international copyright law. In this case, please contact the MeshLink
+author(s) as soon as possible in order to remedy this situation.
+
+If you do have a commercial license for the MeshLink library, then apart from
+the obligations set out in the commercial license, you are also obligated to
+follow the rules set out in the licenses of the libraries MeshLink depends on.
+In short, these are:
+
+* Unless you have compiled MeshLink without support for Catta, you must make
+  the source code of Catta, with any modifications that you made to the Catta
+  library itself, available on request to anyone who has received a copy of
+  your closed source software, under the terms of the GNU Lesser General Public
+  License version 2.1 or later.
+* Unless you have compiled MeshLink without support for Catta, you must give
+  prominent notice with each copy of your software that your software is using
+  Catta, and that the Catta library itself is covered under the terms of the
+  GNU Lesser General Public License version 2.1.
+
+Apart from these obligations, you are strongly recommended to mention the other
+libraries that MeshLink is depending on, as well as mention the MeshLink
+library itself:
+
+* Attribute Orson Peters as the author of the Ed25519 library.
+* Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
+* Attribute Guus Sliepen as the author of the MeshLink library.
+
+## Obligations for open source software
+
+With open source software, we mean any software that is distributed in source
+form, or is distributed in binary form with the exact source code used to
+compile the binary form made publicly available, or with this source code
+made available on request. Note that there is no distinction between software
+that is sold, rented out, or is gratis.
+
+If your software itself does not contain any copies or excerpts of the source
+code of MeshLink, you are free to distribute that software under any license
+you want. However, as soon as you distribute any binaries that are linked with
+MeshLink, then the resulting binaries can only be distributed under the terms
+of the GNU General Public License version 2 or later. In practice, this is not
+a problem since if you make the source code available publicly, you are
+fulfilling the obligations of the GPL, unless your software has a software
+license that is incompatible with the GPL. Please check the following website
+to find out if your open source software is compatible with MeshLink:
+
+https://www.gnu.org/licenses/license-list.en.html#SoftwareLicenses
+
+Apart from the obligations for the MeshLink library, set out in the GPL, you
+are also obligated to follow the rules set out in the licenses of the libraries
+MeshLink depends on. In short, these are:
+
+* Unless you have compiled MeshLink without support for Catta, you must make
+  the source code of Catta, with any modifications that you made to the Catta
+  library itself, available on request to anyone who has received a copy of
+  your closed source software, under the terms of the GNU Lesser General Public
+  License version 2.1 or later.
+* Unless you have compiled MeshLink without support for Catta, you must give
+  prominent notice with each copy of your software that your software is using
+  Catta, and that the Catta library itself is covered under the terms of the
+  GNU Lesser General Public License version 2.1.
+
+Apart from these obligations, you are strongly recommended to mention the other
+libraries that MeshLink is depending on, as well as mention the MeshLink
+library itself:
+
+* Attribute Orson Peters as the author of the Ed25519 library.
+* Attribute Daniel J. Bernstein as the author of the Chacha20-Poly1305 library.
+* Attribute Guus Sliepen as the author of the MeshLink library.
+
+## Recommended attribution text
+
+Attribution for the libraries your software depends on should be added to any
+written, printed or electronic documentation that comes with your software, as
+well as displayed in any about dialogs, splash screens, and any other forms of
+display that contain credits, license information and/or attribution. The
+recommended text to display is:
+
+    This software makes use of the following libraries:
+
+    - MeshLink, copyright © 2014-2018 Guus Sliepen,
+      licensed under the GPL version 2 or later¹
+    - Catta, copyright © 2004-2018 the Avahi Developers and others,
+      licensed under the LGPL version 2.1 or later²
+    - Chacha20-Poly1305, by Daniel J. Bernstein, public domain
+    - Ed25519, copyright © 2015 Orson Peters, licensed under the zlib license
+
+¹) omit the "licensed under" text if you have a commercial license  
+²) omit this is you compiled MeshLink without support for Catta
+
+The full text of the licenses of all libraries used should be included in the
+documentation, and should be included in any forms or displays that contain
+license information.
index f7de2b765361c451624fc137f3f3442ce6965f8a..8b39f753612a04034b55d40da4e84204a7af5cd4 100644 (file)
@@ -6,7 +6,9 @@ SUBDIRS =  catta src doc test examples
 
 ACLOCAL_AMFLAGS = -I m4 
 
 
 ACLOCAL_AMFLAGS = -I m4 
 
-EXTRA_DIST = README.android
+EXTRA_DIST = \
+       COPYING.README \
+       README.android
 
 ChangeLog:
        git log > ChangeLog
 
 ChangeLog:
        git log > ChangeLog
diff --git a/README b/README
index 714d821177dc450ead78aa9e64518b127cdb8542..390468b0e09eea4d10769f0feebd6712e3d30d4e 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 This is the README file for the MeshLink library. Installation instructions may
 be found in the INSTALL file.
 
 This is the README file for the MeshLink library. Installation instructions may
 be found in the INSTALL file.
 
-MeshLink is Copyright (C) 2014 Guus Sliepen <guus@meshlink.io>
+MeshLink is Copyright (C) 2014-2018 Guus Sliepen <guus@meshlink.io>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ In order to compile MeshLink, you will need a GNU C compiler environment.
 
 The following libraries are used by default, but can be disabled if necessary:
 
 
 The following libraries are used by default, but can be disabled if necessary:
 
-- zlib (http://www.gzip.org/zlib/)
+- Catta (https://github.com/meshlink/catta)
 
 Features
 --------
 
 Features
 --------
index 73fd18408b0b65f4ece9156aea76604c2409fb51..ab4de78bb50133e636631ae769d304b917938848 100644 (file)
@@ -1,7 +1,6 @@
 Before you can start compiling MeshLink from a fresh git clone, you have
 to install the very latest versions of the following packages:
 
 Before you can start compiling MeshLink from a fresh git clone, you have
 to install the very latest versions of the following packages:
 
-- zlib
 - GCC
 - automake
 - autoconf
 - GCC
 - automake
 - autoconf
diff --git a/m4/zlib.m4 b/m4/zlib.m4
deleted file mode 100644 (file)
index a89656a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-dnl Check to find the zlib headers/libraries
-
-AC_DEFUN([MeshLink_ZLIB],
-[
-  AC_ARG_ENABLE([zlib],
-    AS_HELP_STRING([--disable-zlib], [disable zlib compression support]))
-  AS_IF([test "x$enable_zlib" != "xno"], [
-  AC_DEFINE(HAVE_ZLIB, 1, [have zlib compression support])
-    AC_ARG_WITH(zlib,
-      AS_HELP_STRING([--with-zlib=DIR], [zlib base directory, or:]),
-      [zlib="$withval"
-       CPPFLAGS="$CPPFLAGS -I$withval/include"
-       LDFLAGS="$LDFLAGS -L$withval/lib"]
-    )
-
-    AC_ARG_WITH(zlib-include,
-      AS_HELP_STRING([--with-zlib-include=DIR], [zlib headers directory]),
-      [zlib_include="$withval"
-       CPPFLAGS="$CPPFLAGS -I$withval"]
-    )
-
-    AC_ARG_WITH(zlib-lib,
-      AS_HELP_STRING([--with-zlib-lib=DIR], [zlib library directory]),
-      [zlib_lib="$withval"
-       LDFLAGS="$LDFLAGS -L$withval"]
-    )
-
-    AC_CHECK_HEADERS(zlib.h,
-      [],
-      [AC_MSG_ERROR("zlib header files not found."); break]
-    )
-
-    AC_CHECK_LIB(z, compress2,
-      [LIBS="$LIBS -lz"],
-      [AC_MSG_ERROR("zlib libraries not found.")]
-    )
-  ])
-])
index 5596d603a38f16981a4d4c7a702cab49978f2cd2..162dcef2075ea571d467a1ac3b7d18f9de24f18e 100644 (file)
 
 #include "system.h"
 
 
 #include "system.h"
 
-#ifdef HAVE_ZLIB
-#include <zlib.h>
-#endif
-
 #include "conf.h"
 #include "connection.h"
 #include "crypto.h"
 #include "conf.h"
 #include "connection.h"
 #include "crypto.h"