]> 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
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 
 
-EXTRA_DIST = README.android
+EXTRA_DIST = \
+       COPYING.README \
+       README.android
 
 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.
 
-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
@@ -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:
 
-- zlib (http://www.gzip.org/zlib/)
+- Catta (https://github.com/meshlink/catta)
 
 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:
 
-- zlib
 - 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"
 
-#ifdef HAVE_ZLIB
-#include <zlib.h>
-#endif
-
 #include "conf.h"
 #include "connection.h"
 #include "crypto.h"