diff options
Diffstat (limited to 'template/developers.html.j2')
-rw-r--r-- | template/developers.html.j2 | 317 |
1 files changed, 158 insertions, 159 deletions
diff --git a/template/developers.html.j2 b/template/developers.html.j2 index 61ae63c0..92b12178 100644 --- a/template/developers.html.j2 +++ b/template/developers.html.j2 @@ -13,17 +13,17 @@ <p> {% trans %} - GNU Taler is free software implementing an open - protocol. Anybody is welcome to integrate our reference - implementation into their applications. Different - components of Taler are being made available under - different licenses. The Affero GPLv3+ is used for the - exchange, the LGPLv3+ is used for reference code - demonstrating integration with merchant platforms, and - licenses like GPLv3+ are used for - wallets and related customer-facing software. We are - open for constructive suggestions for maximizing the - adoption of this payment platform. + GNU Taler is free software implementing an open + protocol. Anybody is welcome to integrate our reference + implementation into their applications. Different + components of Taler are being made available under + different licenses. The Affero GPLv3+ is used for the + exchange, the LGPLv3+ is used for reference code + demonstrating integration with merchant platforms, and + licenses like GPLv3+ are used for + wallets and related customer-facing software. We are + open for constructive suggestions for maximizing the + adoption of this payment platform. {% endtrans %} </p> @@ -33,18 +33,18 @@ <p> {% trans %} - Taler is designed to work on the Internet. To - ensure that Taler payments can work with - restrictive network setups, Taler uses a RESTful - protocol over HTTP or HTTPS. Taler's security does - not depend upon the use of HTTPS, but obviously - merchants may choose to offer HTTPS for consistency - and because it generally is better for privacy - compared to HTTP. Taler uses JSON to encode - structure data, making it easy to integrate Taler - with existing Web applications. Taler's protocol - is documented in - detail at <a href="https://docs.taler.net/">docs.taler.net</a>. + Taler is designed to work on the Internet. To + ensure that Taler payments can work with + restrictive network setups, Taler uses a RESTful + protocol over HTTP or HTTPS. Taler's security does + not depend upon the use of HTTPS, but obviously + merchants may choose to offer HTTPS for consistency + and because it generally is better for privacy + compared to HTTP. Taler uses JSON to encode + structure data, making it easy to integrate Taler + with existing Web applications. Taler's protocol + is documented in detail at + <a href="https://docs.taler.net/">docs.taler.net</a>. {% endtrans %} </p> </div> @@ -59,16 +59,16 @@ <p> {% trans %} - Taler is currently primarily developed by a - research team at <a href="http://www.inria.fr/">Inria</a> and - <a href="https://gnunet.org/">GNUnet</a>. However, - contributions from anyone are welcome. Our Git - repositories can be cloned using the Git and HTTP - access methods against <tt>git.taler.net</tt> with - the name of the respective repository. A list of - repositories can be found in - our <a href="https://git.taler.net/">GitWeb</a>. - {% endtrans %} + Taler is currently primarily developed by a + research team at <a href="http://www.inria.fr/">Inria</a> and + <a href="https://gnunet.org/">GNUnet</a>. However, + contributions from anyone are welcome. Our Git + repositories can be cloned using the Git and HTTP + access methods against <tt>git.taler.net</tt> with + the name of the respective repository. A list of + repositories can be found in our + <a href="https://git.taler.net/">GitWeb</a>. + {% endtrans %} </p> </div> <div class="col-lg-4"> @@ -76,11 +76,12 @@ <p> {% trans %} - In addition to this website, the <a - href="https://git.taler.net/">documented code</a> and - the <a href="https://docs.taler.net/">API - documentation</a>. Technical papers can be found in - our <a href="bibliography.html">bibliography</a>. + In addition to this website, the + <a href="https://git.taler.net/">documented code</a> + and the + <a href="https://docs.taler.net/">API documentation</a>. + Technical papers can be found in our + <a href="bibliography.html">bibliography</a>. {% endtrans %} </p> </div> @@ -89,9 +90,9 @@ <p> {% trans %} - We have a mailing list for developer discussions. - You can subscribe to or read the list archive at - <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>. + We have a mailing list for developer discussions. + You can subscribe to or read the list archive at + <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>. {% endtrans %} </p> </div> @@ -102,10 +103,10 @@ <p> {% trans %} - We have <a href="https://buildbot.net/">Buildbot</a> - automation tests to detect regressions and check for - portability at <a - href="https://buildbot.taler.net/">buildbot.taler.net</a>. + We have <a href="https://buildbot.net/">Buildbot</a> + automation tests to detect regressions and check for + portability at + <a href="https://buildbot.taler.net/">buildbot.taler.net</a>. {% endtrans %} </p> </div> @@ -114,11 +115,11 @@ <p> {% trans %} - We use - <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a> - to analyze the code coverage of our tests, the - results are available - at <a href="https://lcov.taler.net/">lcov.taler.net</a>. + We use + <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a> + to analyze the code coverage of our tests, the + results are available at + <a href="https://lcov.taler.net/">lcov.taler.net</a>. {% endtrans %} </p> </div> @@ -149,135 +150,133 @@ <div class="col-lg-12"> <h3 id="overview">{{ _("Taler system overview") }}</h3> - - <p> - {% trans %} - The Taler system consists of protocols executed among - a number of actors as illustrated in the illustration on the right. - Typical transactions involve the following steps: - {% endtrans %} + {% trans %} + The Taler system consists of protocols executed among + a number of actors as illustrated in the illustration on the right. + Typical transactions involve the following steps: + {% endtrans %} </p> <img src="/images/taler-arch-full.svg" alt="{{_("system overview")}}" style="float: right; margin: 50px 5px 5px 5px;" width="50%"> <ol> <li> - {% trans %} - A customer instructs his <b>bank</b> to - transfer funds from his account to the Taler - exchange (top left). In the subject of the - transaction, he includes an authentication - token from his electronic <b>wallet</b>. In - Taler terminology, the customer creates a - reserve at the exchange. - {% endtrans %} + {% trans %} + A customer instructs his <b>bank</b> to + transfer funds from his account to the Taler + exchange (top left). In the subject of the + transaction, he includes an authentication + token from his electronic <b>wallet</b>. In + Taler terminology, the customer creates a + reserve at the exchange. + {% endtrans %} </li> <li> - {% trans %} - Once the exchange has received the wire - transfer, it allows the customer's electronic - wallet to <b>withdraw</b> electronic coins. - The electronic coins are digital - representations of the original currency from - the transfer. It is important to note that the - exchange does not learn the "serial - numbers" of the coins created in this - process, so it cannot tell later which customer - purchased what at which merchant. The use of - Taler does not change the currency or the total - value of the funds (except for fees which the - exchange may charge for the service). - {% endtrans %} - </li> + {% trans %} + Once the exchange has received the wire + transfer, it allows the customer's electronic + wallet to <b>withdraw</b> electronic coins. + The electronic coins are digital + representations of the original currency from + the transfer. It is important to note that the + exchange does not learn the "serial + numbers" of the coins created in this + process, so it cannot tell later which customer + purchased what at which merchant. The use of + Taler does not change the currency or the total + value of the funds (except for fees which the + exchange may charge for the service). + {% endtrans %} + </li> <li> - {% trans %} - Once the customer has the digital coins in his - wallet, the wallet can be used to <b>spend</b> - the coins with merchant portals that support - the Taler payment system and accept the - respective exchange as a business partner - (bottom arrow). This creates a digital contract - signed by the customer's coins and the - merchant. If necessary, the customer can later - use this digitally signed contract in a court - of law to prove the exact terms of the contract - and that he paid the respective amount. The - customer does not learn the banking details of - the merchant, and Taler does not require the - merchant to learn the identity of the - customer. Naturally, the customer can spend any - fraction of his digital coins (the system takes - care of customers getting change). - {% endtrans %} + {% trans %} + Once the customer has the digital coins in his + wallet, the wallet can be used to <b>spend</b> + the coins with merchant portals that support + the Taler payment system and accept the + respective exchange as a business partner + (bottom arrow). This creates a digital contract + signed by the customer's coins and the + merchant. If necessary, the customer can later + use this digitally signed contract in a court + of law to prove the exact terms of the contract + and that he paid the respective amount. The + customer does not learn the banking details of + the merchant, and Taler does not require the + merchant to learn the identity of the + customer. Naturally, the customer can spend any + fraction of his digital coins (the system takes + care of customers getting change). + {% endtrans %} </li> <li> - {% trans %} - Merchants receiving digital - coins <b>deposit</b> the respective claims - that resulted from the contract signing with - the customer at the exchange to redeem the - coins. The deposit step does not reveal the - details of the contract between the customer - and the merchant or the identity of the - customer to the exchange in any way. However, - the exchange does learn the identity of the - merchant via the provided bank routing - information. The merchant can, for example - when compelled by the state for taxation, - provide information linking the individual - deposit to the respective contract signed by - the customer. Thus, the exchange's database - allows the state to enforce that merchants pay - applicable taxes (and do not engage in illegal - contracts). - {% endtrans %} - </li> + {% trans %} + Merchants receiving digital + coins <b>deposit</b> the respective claims + that resulted from the contract signing with + the customer at the exchange to redeem the + coins. The deposit step does not reveal the + details of the contract between the customer + and the merchant or the identity of the + customer to the exchange in any way. However, + the exchange does learn the identity of the + merchant via the provided bank routing + information. The merchant can, for example + when compelled by the state for taxation, + provide information linking the individual + deposit to the respective contract signed by + the customer. Thus, the exchange's database + allows the state to enforce that merchants pay + applicable taxes (and do not engage in illegal + contracts). + {% endtrans %} + </li> <li> - {% trans %} - Finally, the exchange transfers funds - corresponding to the digital coins redeemed by - the merchants to the merchant's <b>bank</b> - account. The exchange may combine multiple - small transactions into one larger bank - transfer. The merchant can query the exchange - about the relationship between the bank - transfers and the individual claims that were - deposited. - {% endtrans %} - </li> + {% trans %} + Finally, the exchange transfers funds + corresponding to the digital coins redeemed by + the merchants to the merchant's <b>bank</b> + account. The exchange may combine multiple + small transactions into one larger bank + transfer. The merchant can query the exchange + about the relationship between the bank + transfers and the individual claims that were + deposited. + {% endtrans %} + </li> <li> - {% trans %} - Most importantly, the exchange keeps - cryptographic proofs that allow it to - demonstrate that it is operating correctly to - third parties. The system requires an - external <b>auditor</b>, such as a - government-appointed financial regulatory body, - to frequently verify the exchange's databases - and check that its bank balance matches the - total value of the remaining coins in - circulation. - {% endtrans %} - </li> + {% trans %} + Most importantly, the exchange keeps + cryptographic proofs that allow it to + demonstrate that it is operating correctly to + third parties. The system requires an + external <b>auditor</b>, such as a + government-appointed financial regulatory body, + to frequently verify the exchange's databases + and check that its bank balance matches the + total value of the remaining coins in + circulation. + {% endtrans %} + </li> <li> - {% trans %} - Without the auditor, the exchange operators - could embezzle funds they are holding in - reserve. Customers and merchants cannot cheat - each other or the exchange. If any party's - computers are compromised, the financial damage - is limited to the respective party and - proportional to the funds they have in - circulation during the period of the - compromise. - {% endtrans %} - </li> + {% trans %} + Without the auditor, the exchange operators + could embezzle funds they are holding in + reserve. Customers and merchants cannot cheat + each other or the exchange. If any party's + computers are compromised, the financial damage + is limited to the respective party and + proportional to the funds they have in + circulation during the period of the + compromise. + {% endtrans %} + </li> </ol> <p></p> <div class="col"> |