summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--global-licensing.rst123
1 files changed, 105 insertions, 18 deletions
diff --git a/global-licensing.rst b/global-licensing.rst
index 4c9efaaf..e15cfd96 100644
--- a/global-licensing.rst
+++ b/global-licensing.rst
@@ -2,18 +2,20 @@
Taler licensing information
===========================
-This file gives an overview of all Taler component's licensing and of
-runtime dependencies thereof. For "component" here is meant a set of
-source files which can be retrieved from a single repository. If
-components consist of sources under different licensing regimes, i.e.
-because we want to enable third party developments to easily integrate
-with Taler, those are described as well.
-
-All components are generally released under Lesser GPL, GPL or Affero
-GPL. The main strategy is for libraries that third parties may need
-to integrate with Taler to be under LGPL, standalone binaries and
-testcases to be under GPL, and Web servers implementing Web services
-to be under AGPL.
+This file gives an overview of all Taler component's licensing and of runtime
+dependencies thereof. A "component" in this context is to be read as a set of
+source files which can be retrieved from a single Git repository. If
+components consist of sources under different licensing regimes, i.e. because
+we want to enable third party developments to easily integrate with Taler,
+those are described as well.
+
+All components are generally released under Lesser GPL, GPL or Affero GPL.
+The main strategy is for libraries that third parties may need to integrate
+with Taler to be under LGPL, standalone binaries and testcases to be under
+GPL, and Web servers implementing Web services and REST APIs to be under AGPL.
+Trivial code (such as build logic) is occasionally also simply put into the
+public domain. Legislations that do not have a public domain should consider
+that code to be under LGPL.
The project was initially started based on code and documentation from GNUnet
e.V. and INRIA, and is continued to be developed by the GNUnet community and
@@ -29,6 +31,91 @@ between GNU Anastasis, GNUnet and GNU Taler if this is technically warranted
(note that all developers must sign the GNUnet e.V. copyright contributor
agreement).
+Note that this file *may* be outdated. If in doubt, please contact the
+involved GNU maintainers (currently Florian Dold, Christian Grothoff and
+Martin Schanzenbach) as they generally have the responsibility and right to
+determine the appropriate license for individual components. (That right is
+technically granted and constrained by the copyright agreemnts signed by
+individual contributors and possibly subject to decision processes within
+Anastasis SARL, GNUnet e.V. and Taler Systems SA. However, in practice this
+has so far never been an issue as so far everyone agrees on the licensing
+strategy and the maintainers will just make minor adjustments to consistently
+implement that strategy when issues arise, such as code moving between
+LGPL, GPL and AGPL licensed components or developers accidentally using the
+wrong license in a header.)
+
+
+++++++++++++++++++
+Following the AGPL
+++++++++++++++++++
+
+The main goal of the AGPL is to require a service provider to make the source
+code of the service easily accessible to all users of that service.
+
+For GNUnet, GNU Taler and GNU Anastasis, we are realizing this requirement by
+implementing an ``/agpl/`` endpoint that directs users of the API to the
+source code (either a TGZ or a redirect to the Git repository) of the
+component and its dependencies (we believe it is acceptable to not include
+unmodified dependencies that are easily available and findable elsewhere
+already). The source code (as defined in the GPL) must then be downloadable
+gratis and without access control from that address in a form suitable for
+development (that is, including build system and instructions). All of the
+usual constraints of distributing code under GPL apply as well.
+
+When deploying sources that have been modified from the upstream versions
+released by GNU, you *must* thus update the ``/agpl/`` endpoint to point to
+the modified source code. Note that you *must* always make the code of the
+actually deployed version available, which includes customizations,
+extensions, integrations or security enhancements or bug fixes.
+
+.. note:
+
+ We provide this text as a clarification, the ultimate
+ license text that applies is that of the AGPLv3+.
+
++++++++++++++++++
+Following the GPL
++++++++++++++++++
+
+The GPL requires you to make the source code of the respective program
+available to all users that may be running the program. This includes again
+any customizations (branding, theming, extensions, integrations or security
+enhancements or bug fixes) you may have made. The source code for the
+modified program must be again released under the GPL and must be reasonably
+easy to find gratis for all users of your program.
+
+When shipping binaries of *unmodified* versions of the GNU releases, this is
+satisfied as GNU makes the sources available via both the Git repositories of
+the project and the FTP mirrors of the GNU project. You are still required to
+make any packaging logic you may have written to create the binaries available
+to others.
+
+.. note:
+
+ We provide this text as a clarification, the ultimate
+ license text that applies is that of the GPLv3+.
+
+
+++++++++++++++++++
+Following the LGPL
+++++++++++++++++++
+
+To follow the LGPL, you basically do everything you need to do
+under the GPL when it comes to the sources you were provided.
+
+However, you are allowed to integrate the code provided under
+the LGPL with other code that is not under the LGPLv3+.
+Nevertheless, modifications to our existing code must
+remain under the LGPLv3+, and we strongly encourage you
+to release all of your code under an appropriate FLOSS
+license.
+
+.. note:
+
+ We provide this text as a clarification, the ultimate
+ license text that applies is that of the LGPLv3+.
+
+
++++++++++++++++++++++++++++++
API (git://git.taler.net/docs)
@@ -50,9 +137,9 @@ This component has no runtime dependencies as it is supposed to generate
HTML.
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Firefox/Android/Python Wallet (git://taler.net/wallet)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Firefox/Android/Python Wallet (git://git.taler.net/wallet-core)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This project includes contributions from INRIA and GNUnet
e.V. developers. Please refer to each source file to obtain
@@ -74,9 +161,9 @@ project, and gives the copyright holder for each of them:
* Mozilla Firefox: Mozilla Public License, LGPL-Compatible, Mozilla Foundation
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-WebExtensions Wallet (git://taler.net/wallet-webex)
-+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+WebExtensions Wallet (git://git.taler.net/wallet-webex)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The TypeScript code was originally developed at INRIA, but the project
involves compiling libgnunetutil and libtalerutil to JavaScript, and