taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit ee1bff39423ca0679fd15906056372751e1b03e2
parent 6edadef7840f2104ad40dfa086641bccee8b2c57
Author: Marcello Stanisci <marcello.stanisci@inria.fr>
Date:   Wed, 31 May 2017 16:25:32 +0200

move content away to proper repos, plus killing obsolete stuff

Diffstat:
Rapi/api-bank.rst -> api-bank.rst | 0
Rapi/api-common.rst -> api-common.rst | 0
Rapi/api-error.rst -> api-error.rst | 0
Rapi/api-exchange.rst -> api-exchange.rst | 0
Rapi/api-merchant.rst -> api-merchant.rst | 0
Dapi/index.rst | 60------------------------------------------------------------
Rapi/conf.py -> conf.py | 0
Rapi/exts/__pycache__/tsref.cpython-35.pyc -> exts/__pycache__/tsref.cpython-35.pyc | 0
Rapi/exts/tsref.py -> exts/tsref.py | 0
Aexts/tsref.pyc | 0
Aglobal-licensing.rst | 215+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aindex.rst | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rapi/wireformats.rst -> wireformats.rst | 0
13 files changed, 284 insertions(+), 60 deletions(-)

diff --git a/api/api-bank.rst b/api-bank.rst diff --git a/api/api-common.rst b/api-common.rst diff --git a/api/api-error.rst b/api-error.rst diff --git a/api/api-exchange.rst b/api-exchange.rst diff --git a/api/api-merchant.rst b/api-merchant.rst diff --git a/api/index.rst b/api/index.rst @@ -1,60 +0,0 @@ -.. - This file is part of GNU TALER. - Copyright (C) 2014, 2015, 2016 GNUnet e.V. - - TALER 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 - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - - @author Florian Dold - @author Benedikt Muller - @author Sree Harsha Totakura - -GNU Taler Documentation -======================= - -We are building an anonymous, taxable payment system using modern -cryptography. Customers will use traditional money transfers to send -money to a digital Exchange and in return receive (anonymized) digital -cash. Customers can use this digital cash to anonymously pay -Merchants. Merchants can redeem the digital cash for traditional -money at the digital Exchange. As Merchants are not anonymous, they can -be taxed, enabling income or sales taxes to be withheld by the state -while providing anonymity for Customers. - -Cryptography is used to ensure that none of the participants can -defraud the others without being detected immediately; however, in -practice a fradulent Exchange might go bankrupt instead of paying the -Merchants and thus the Exchange will need to be audited regularly like -any other banking institution. - -The system will be based on free software and open protocols. - -In this document, we describe the REST-based APIs between the various -components, internal architecture of key components, and how to get them -installed. - --------------------------------------- -Taler HTTP Core Protocol Specification --------------------------------------- - -The *Protocol Specification* defines the HTTP-based, predominantly RESTful -interfaces between the core components of Taler. - -.. toctree:: - :maxdepth: 2 - - api-common - api-error - api-exchange - api-merchant - api-bank - - wireformats diff --git a/api/conf.py b/conf.py diff --git a/api/exts/__pycache__/tsref.cpython-35.pyc b/exts/__pycache__/tsref.cpython-35.pyc Binary files differ. diff --git a/api/exts/tsref.py b/exts/tsref.py diff --git a/exts/tsref.pyc b/exts/tsref.pyc Binary files differ. diff --git a/global-licensing.rst b/global-licensing.rst @@ -0,0 +1,215 @@ +=========================== +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 +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". + +Generally, GNU GPLv3 license is used for them; see COPYING.GPL. + + +-------------------- +Runtime dependencies +-------------------- +This component has no runtime dependencies as it is supposed to generate +HTML. + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Firefox/Android/Python Wallet (git://taler.net/wallet) +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +This project includes contributions from INRIA and GNUnet +e.V. developers. Please refer to each source file to obtain +information about the copyright holder. The GNU GPLv3 is used as the +license for Wallets. Some components may be under the LGPL. + +-------------------- +Runtime dependencies +-------------------- + +The following list encompasses all the runtime dependencies for this +project, and gives the copyright holder for each of them: + +* libgnunetutil: GPLv3+, GNUnet e.V. +* libgnunetjson: GPLv3+, GNUnet e.V. +* libgcrypt: LGPL, Free Software Foundation +* libunistring: LGPL, Free Software Foundation +* Python: Python Software Foundation License, LGPL-Compatible, Python Software Foundation +* Mozilla Firefox: Mozilla Public License, LGPL-Compatible, Mozilla Foundation + + ++++++++++++++++++++++++++++++++++++++++++++++++++++ +WebExtensions Wallet (git://taler.net/wallet-webex) ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The TypeScript code was developed 100% at INRIA, but the project +involves compiling libgnunetutil and libtalerutil to JavaScript, and +thus depends on software from GNUnet e.V. + +Each source carries its own copyright holder(s), but it is generally +licensed under GPLv3+. + +-------------------- +Runtime dependencies +-------------------- + +The following list encompasses all the runtime dependencies for this +project, and gives the copyright holder for each of them: + +* libgnunetutil: GPLv3+, GNUnet e.V. +* libgnunetjson: GPLv3+, GNUnet e.V. +* libgcrypt: LGPL, Free Software Foundation +* libunistring: LGPL, Free Software Foundation + +Note that these dependencies are compiled into the extension and do +not appear as separate binary files. + + ++++++++++++++++++++++++++++++++++++ +Merchant (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 files are located in the following directories: + +* src/lib/ +* src/backend/ +* src/backenddb/ +* src/include/ +* src/tests/ +* examples/blog/ +* 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 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'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. + + + +-------------------- +Runtime dependencies +-------------------- + +The following list encompasses all the runtime dependencies for this +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 +* 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. +* PHP: PHP License, AGPL- and LGPL-Compatible, owned by The PHP Group + ++++++++++++++++++++++++++++ +Bank (git://taler.net/bank) ++++++++++++++++++++++++++++ + +--------- +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/ + +-------------------- +Runtime dependencies +-------------------- + +The following list encompasses all the runtime dependencies for this +project, and gives the copyright holder for each of them: + +* Django: BSD License, AGPL-Compatible, owned by Django Software Foundation +* validictory: BSD License, AGPL-Compatible, owned by James Turk +* django-simple-math-captcha: Apache Software License, LGPL-Compatible (FIXME), Brandon Taylor +* requests: Apache2 License, AGPL-Compatible, owned by Kenneth Reitz +* Python: Python Software Foundation License, AGPL-Compatible, Python Software Foundation +* PHP: PHP License, AGPL-Compatible, owned by The PHP Group + + +.. _exchange-repo: + ++++++++++++++++++++++++++++++++++++ +Exchange (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. + +The licensing for exported libraries to access the exchange is LGPL, +the exchange itself is under AGPL, and testcases and standalone +binaries are under GPL. + + +-------------------- +Runtime dependencies +-------------------- + +The following list encompasses all the runtime dependencies for this +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 +* 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. + + ++++++++++++++++++++++++++++++++++++++++++ +Web includes (git://taler.net/web-common) ++++++++++++++++++++++++++++++++++++++++++ + +All copyright owned by INRIA (but questionable whether creativity +threshold for copyright is even met). + +Sources are licensed under the GNU LGPL. diff --git a/index.rst b/index.rst @@ -0,0 +1,69 @@ +.. + This file is part of GNU TALER. + Copyright (C) 2014, 2015, 2016 GNUnet e.V. + + TALER 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 + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + + @author Florian Dold + @author Benedikt Muller + @author Sree Harsha Totakura + @author Marcello Stanisci + +GNU Taler Documentation +======================= + +We are building an anonymous, taxable payment system using modern +cryptography. Customers will use traditional money transfers to send +money to a digital Exchange and in return receive (anonymized) digital +cash. Customers can use this digital cash to anonymously pay +Merchants. Merchants can redeem the digital cash for traditional +money at the digital Exchange. As Merchants are not anonymous, they can +be taxed, enabling income or sales taxes to be withheld by the state +while providing anonymity for Customers. + +Cryptography is used to ensure that none of the participants can +defraud the others without being detected immediately; however, in +practice a fradulent Exchange might go bankrupt instead of paying the +Merchants and thus the Exchange will need to be audited regularly like +any other banking institution. + +The system will be based on free software and open protocols. + +In this document, we describe the REST-based APIs between the various +components, internal architecture of key components, and how to get them +installed. + +-------------------------------------- +Taler HTTP Core Protocol Specification +-------------------------------------- + +The *Protocol Specification* defines the HTTP-based, predominantly RESTful +interfaces between the core components of Taler. + +.. toctree:: + :maxdepth: 2 + + api-common + api-error + api-exchange + api-merchant + api-bank + wireformats + +--------- +Licensing +--------- + +.. toctree:: + :maxdepth: 2 + + global-licensing diff --git a/api/wireformats.rst b/wireformats.rst