summaryrefslogtreecommitdiff
path: root/global-licensing.rst
diff options
context:
space:
mode:
Diffstat (limited to 'global-licensing.rst')
-rw-r--r--global-licensing.rst236
1 files changed, 165 insertions, 71 deletions
diff --git a/global-licensing.rst b/global-licensing.rst
index ac5f748e..e15cfd96 100644
--- a/global-licensing.rst
+++ b/global-licensing.rst
@@ -2,28 +2,130 @@
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.
-
-+++++++++++++++++++++++++
-API (git://taler.net/api)
-+++++++++++++++++++++++++
-
-The specification has been jointly developed by INRIA and by individuals
+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
+Taler Systems SA. INRIA and GNUnet e.V. have both assigned or shared their
+copyrights with Taler Systems SA. Thus, it should generally be said that the
+code is copyright Taler Systems SA.
+
+We are also working closely with the GNU Anastasis package. Here, the same
+copyright sharing is in place between the original developers from BFH and
+GNUnet e.V., except that the copyright was assigned or shared with Anastasis
+SARL. Agreements are in place that allows developers to freely move code
+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)
+++++++++++++++++++++++++++++++
+
+The specification has been originally developed by INRIA and by individuals
being under the juridical subject called 'GNUnet e.V.'. For each source
file, the header indicated whose is holding the copyright, since some
parts have been taken "verbatim" from the GNUnet e.V. foundation, and
-some other have been developed at INRIA "ex novo".
+some other have been developed at INRIA or Taler Systems SA "ex novo".
Generally, GNU GPLv3 license is used for them; see COPYING.GPL.
@@ -35,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
@@ -59,11 +161,11 @@ 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 developed 100% at INRIA, but the project
+The TypeScript code was originally developed at INRIA, but the project
involves compiling libgnunetutil and libtalerutil to JavaScript, and
thus depends on software from GNUnet e.V.
@@ -86,13 +188,13 @@ Note that these dependencies are compiled into the extension and do
not appear as separate binary files.
-+++++++++++++++++++++++++++++++++++
-Merchant (git://taler.net/merchant)
-+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Merchant (git://git.taler.net/merchant)
++++++++++++++++++++++++++++++++++++++++
This project contains code under two different licenses, and whose
copyright is held by INRIA and/or GNUnet e.V.. Please refer to each
-source file to know which party holds the copyright.
+source file to know which party holds the original copyright.
Source files are located in the following directories:
@@ -105,25 +207,21 @@ Source files are located in the following directories:
* examples/shop/
* copylib/
-In examples/blog/articles/ we included a book by Richard Stallman.
-It comes with its own permissive license (see COPYING in the
-directory).
+The merchant's backend (i.e. all the code in src/backend/) is under the GNU
+Affero GPL. Note that the use of the Affero GPL has little impact as the
+backend is not supposed to be directly accessible to the Internet). The
+license for this code is in COPYING.GPL and COPYING.AGPL.
+The merchant's frontend logic (i.e. JavaScript interacting with
+the wallet, sample code for a shop) is under the GNU GPL.
-The merchant's backend (i.e. all the code in src/backend/) is under
-the GNU Affero GPL as it depends on libgnunetutil. Note that the use
-of the Affero GPL has little impact as the backend is not supposed to
-be directly accessible to the Internet). The license for this code is
-in COPYING.GPL and COPYING.AGPL.
+The merchant library (src/lib/) is under the Lesser GNU GPL as it can be
+linked with more diverse licensed software. The license text for this code is
+in COPYING.LGPL.
-The merchant's frontend logic (i.e. JavaScript interacting with
-the wallet, sample code for a shop) is under the GNU LGPL (but
-we may choose to change this to be in the public domain or
-BSD-licensed if necessary; the code is so short that there is
-anyway the question whether it is copyrightable). Under this same
-license, it comes the merchant library (src/lib/) as it can be linked
-with more diverse licensed software. The license text for this code
-is in COPYING.LGPL.
+In taler-merchant-demos.git/talermerchantdemos/blog/articles/ we included a book
+by Richard Stallman. It comes with its own permissive license (see COPYING in
+the directory).
@@ -140,26 +238,18 @@ project, and gives the copyright holder for each of them:
* libgnunetutil (in all of its variants): GPLv3+, owned by GNUnet e.V.
* PHP: PHP License, AGPL- and LGPL-Compatible, owned by The PHP Group
-+++++++++++++++++++++++++++
-Bank (git://taler.net/bank)
-+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Libeufin (git://git.taler.net/libeufin)
++++++++++++++++++++++++++++++++++++++++
---------
Licensing
---------
-This project has been developed by INRIA. For each source file, the
-header indicated whose is holding the copyright. The licensing plan
-for the bank is to use the Affero GPLv3+.
-
-Source files of interest are located in the following directories:
-(The repository holds also scaffolded files autogenerated by Django,
-which do not have legal significance in this context.)
-
-* TalerBank/Bank/
-* TalerBank/Bank/templates/
-* TalerBank/my-static/
-* website/
+This project has been developed by Stanisci and Dold who are
+sharing their copyright with Taler Systems SA. For each source file, the
+header indicated whose is holding the copyright. The license is
+the Affero GPLv3+.
--------------------
Runtime dependencies
@@ -178,13 +268,14 @@ project, and gives the copyright holder for each of them:
.. _exchange-repo:
-+++++++++++++++++++++++++++++++++++
-Exchange (git://taler.net/exchange)
-+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Exchange (git://git.taler.net/exchange)
++++++++++++++++++++++++++++++++++++++++
-This component is based on code initially developed in Munich for
-GNUnet e.V. Most recent improvements and maintenance has been done at
-Inria. The copyright is thus shared between both institutions.
+This component is based on code initially developed in Munich for GNUnet
+e.V. but was significantly rewritten by INRIA. Most recent improvements and
+maintenance has been done at Taler Systems SA and BFH (under a copyright
+sharing agreement with GNUnet e.V.). The copyright is with Taler Systems SA.
The licensing for exported libraries to access the exchange is LGPL,
the exchange itself is under AGPL, and testcases and standalone
@@ -200,14 +291,17 @@ project, and gives the copyright holder for each of them:
* libjansson: MIT License, AGPL- and LGPL-Compatible, owned by Petri Lehtinen and other individuals
* libgcrypt: LGPL, owned by Free Software Foundation
+* libsodium: LGPL
* postgresql: PostgreSQL License, AGPL- and LGPL-Compatible, owned by The PostgreSQL Global Development Group
* libgnunetutil (in all of its variants): GPLv3+, owned by GNUnet e.V.
-* libgnunetjson: GPLv3+, GNUnet e.V.
+* libgnunetjson: LGPLv3+, GNUnet e.V.
+* libgnunetpq: AGPLv3+, GNUnet e.V.
+* libgnunetcurl: LGPLv3+, GNUnet e.V.
-+++++++++++++++++++++++++++++++++++++++++
-Web includes (git://taler.net/web-common)
-+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++
+Web includes (git://git.taler.net/web-common)
++++++++++++++++++++++++++++++++++++++++++++++
All copyright owned by INRIA (but questionable whether creativity
threshold for copyright is even met).