diff options
author | tg(x) <*@tg-x.net> | 2017-01-19 16:10:35 +0100 |
---|---|---|
committer | tg(x) <*@tg-x.net> | 2017-01-19 16:10:35 +0100 |
commit | f6d6fdbb01b0ee90b2dafb615c1814588bd14d93 (patch) | |
tree | 09bddda329032197ca2e48c8e66fa328f6fcb3d3 /developers.html.j2 | |
parent | 08f40842ceb608e96d28a646d71044d2c83b34fb (diff) | |
download | www-f6d6fdbb01b0ee90b2dafb615c1814588bd14d93.tar.gz www-f6d6fdbb01b0ee90b2dafb615c1814588bd14d93.zip |
i18n: rename template files
Diffstat (limited to 'developers.html.j2')
-rw-r--r-- | developers.html.j2 | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/developers.html.j2 b/developers.html.j2 new file mode 100644 index 00000000..963b8f45 --- /dev/null +++ b/developers.html.j2 | |||
@@ -0,0 +1,217 @@ | |||
1 | <html lang="{{ _('en') }}"><head> | ||
2 | <meta charset="utf-8"> | ||
3 | <title>{{ _("GNU Taler") }} - {{ _("Developers") }}</title> | ||
4 | <meta name="description" content=""> | ||
5 | <!--# include file="common/header.inc" --> | ||
6 | </head> | ||
7 | <body class="en" onload="loadLang();"> | ||
8 | <div class="container"> | ||
9 | <!--# include file="common/navigation.inc" --> | ||
10 | <!-- Jumbotron --> | ||
11 | <div class="jumbotron"> | ||
12 | <h1>{{ _("Taler for developers") }}</h1> | ||
13 | </div> | ||
14 | |||
15 | <!-- Example row of columns --> | ||
16 | <div class="row"> | ||
17 | <div class="col-lg-6"> | ||
18 | <h2>{{ _("Free") }}</h2> | ||
19 | |||
20 | <p>{{ _("Taler is free software implementing an open | ||
21 | protocol. Anybody is welcome to inspect our code and | ||
22 | integrate our reference implementation into their | ||
23 | applications. Different components of Taler are being | ||
24 | made available under different licenses. The Affero | ||
25 | GPLv3+ is used for the exchange, the LGPLv3+ is used for | ||
26 | reference code demonstrating integration with merchant | ||
27 | platforms, and licenses like Apache/Mozilla/GPLv3+ are | ||
28 | used for wallets and related customer-facing software. | ||
29 | We are open for constructive suggestions for maximizing | ||
30 | the adoption of this libre payment platform. | ||
31 | ") }}</p> | ||
32 | </div> | ||
33 | <div class="col-lg-6"> | ||
34 | <h2>{{ _("RESTful") }}</h2> | ||
35 | |||
36 | <p>{{ _("Taler is designed to work on the Internet. To | ||
37 | ensure that Taler payments can work with restrictive | ||
38 | network setups, Taler uses a RESTful protocol over HTTP or | ||
39 | HTTPS. Taler's security does not depend upon the use of | ||
40 | HTTPS, but obviously merchants may choose to offer HTTPS | ||
41 | for consistency and because it generally is better for | ||
42 | privacy compared to HTTP. Taler uses JSON to encode | ||
43 | structure data, making it easy to integrate Taler with | ||
44 | existing Web applications. Taler's protocol is documented | ||
45 | in detail <a href='https://api.taler.net/'>here</a>. | ||
46 | ") }}</p> | ||
47 | </div> | ||
48 | </div> | ||
49 | <div class="row"> | ||
50 | <div class="col-lg-4"> | ||
51 | <h2>{{ _("Code") }}</h2> | ||
52 | |||
53 | <p>{{ _("Taler is currently primarily developed by a | ||
54 | research team at Inria and TU Munich. However, | ||
55 | contributions from anyone are welcome. Our Git | ||
56 | repositories can be cloned using the Git and HTTP access | ||
57 | methods against <tt>git.taler.net</tt> with the name of | ||
58 | the respective repository. A list of public repositories | ||
59 | can be found in | ||
60 | our <a href='https://git.taler.net/'>GitWeb</a>. | ||
61 | ") }}</p> | ||
62 | </div> | ||
63 | <div class="col-lg-4"> | ||
64 | <h2>{{ _("Documentation") }}</h2> | ||
65 | |||
66 | <p>{{ _("In addition to this website, | ||
67 | the <a href='https://git.taler.net/'>documented | ||
68 | code</a> and the <a href='https://api.taler.net/'>API | ||
69 | documentation</a>, we are in the process of preparing a | ||
70 | comprehensive design document which will be published here | ||
71 | soon. | ||
72 | ") }}</p> | ||
73 | </div> | ||
74 | <div class="col-lg-4"> | ||
75 | <h2>{{ _("Discussion") }}</h2> | ||
76 | |||
77 | <p>{{ _("We have a mailinglist for developer discussions. | ||
78 | You can subscribe to it or read the list archive at | ||
79 | <a href='http://lists.gnu.org/mailman/listinfo/taler'>http://lists.gnu.org/mailman/listinfo/taler</a>.") }}</p> | ||
80 | </div> | ||
81 | </div> | ||
82 | |||
83 | <div class="row"> | ||
84 | <div class="col-lg-4"> | ||
85 | <h2>{{ _("Regression Testing") }}</h2> | ||
86 | |||
87 | <p>{{ _("We | ||
88 | have <a href='https://buildbot.net/'>Buildbot</a> | ||
89 | automation tests to detect regressions and check for | ||
90 | portability at | ||
91 | <a href='https://buildbot.taler.net/'>buildbot.taler.net</a>. | ||
92 | ") }}</p> | ||
93 | </div> | ||
94 | <div class="col-lg-4" note="not yet operational"> | ||
95 | <h2>{{ _("Code Coverage Analysis") }}</h2> | ||
96 | |||
97 | <p>{{ _("We | ||
98 | use <a href='http://ltp.sourceforge.net/coverage/lcov.php'>LCOV</a> | ||
99 | to analyze the code coverage of our tests, the results are | ||
100 | available | ||
101 | at <a href='https://lcov.taler.net/'>lcov.taler.net</a>. | ||
102 | ") }}</p> | ||
103 | </div> | ||
104 | <div class="col-lg-4"> | ||
105 | <h2>{{ _("Performance Analysis") }}</h2> | ||
106 | |||
107 | <p>{{ _("We | ||
108 | use <a href='https://gnunet.org/gauger'>Gauger</a> for | ||
109 | performance regression analysis of the exchange backend | ||
110 | at <a href='https://gauger.taler.net/'>gauger.taler.net</a>. | ||
111 | ") }}</p> | ||
112 | </div> | ||
113 | </div> | ||
114 | |||
115 | <div class="col-lg-12"> | ||
116 | <h2 id="overview">{{ _("Taler system overview") }}</h2> | ||
117 | |||
118 | <p>{{ _("The Taler system consists of protocols executed | ||
119 | among a number of actors with the help | ||
120 | of <a href='https://www.fsf.org/'>Free Software</a> as | ||
121 | illustrated in the illustration on the right. Typical | ||
122 | transactions involve the following steps: | ||
123 | ") }}</p> | ||
124 | |||
125 | <img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%"> | ||
126 | <ol> | ||
127 | <li>{{ _("A customer instructs his <b>bank</b> to | ||
128 | transfer funds from his account to the Taler exchange | ||
129 | (top left). In the subject of the transaction, he | ||
130 | includes an authentication token from his | ||
131 | electronic <b>wallet</b>. In Taler terminology, the | ||
132 | customer creates a reserve at the exchange. | ||
133 | ") }}</li> | ||
134 | |||
135 | <li>{{ _("Once the exchange has received the | ||
136 | transfer, it allows the customer's electronic wallet | ||
137 | to <b>withdraw</b> electronic coins. The electronic | ||
138 | coins are digital representations of the original | ||
139 | currency from the transfer. It is important to note | ||
140 | that the exchange does not learn the "serial numbers" | ||
141 | of the coins created in this process, so it cannot tell | ||
142 | later which customer purchased what at which merchant. | ||
143 | The use of Taler does not change the currency or the | ||
144 | total value of the funds (except for fees which the | ||
145 | exchange may charge for the service). | ||
146 | ") }}</li> | ||
147 | |||
148 | <li>{{ _("Once the customer has the digital coins in | ||
149 | his wallet, the wallet can be used to <b>spend</b> the | ||
150 | coins with merchant portals that support the Taler | ||
151 | payment system and accept the respective exchange as a | ||
152 | business partner (bottom arrow). This creates a digital | ||
153 | contract signed by the customer's coins and the | ||
154 | merchant. If necessary, the customer can later use | ||
155 | this digitally signed contract in a court of law to | ||
156 | prove the exact terms of the contract and that he paid | ||
157 | the respective amount. The customer does not learn the | ||
158 | banking details of the merchant, and Taler does not | ||
159 | require the merchant to learn the identity of the | ||
160 | customer. Naturally, the customer can spend any | ||
161 | fraction of his digital coins (the system takes care of | ||
162 | customers getting change). | ||
163 | ") }}</li> | ||
164 | |||
165 | <li>{{ _("Merchants receiving digital | ||
166 | coins <b>deposit</b> the respective receipts that | ||
167 | resulted from the contract signing with the customer at | ||
168 | the exchange to redeem the coins. The deposit step | ||
169 | does not reveal the details of the contract between the | ||
170 | customer and the merchant or the identity of the | ||
171 | customer to the exchange in any way. However, the | ||
172 | exchange does learn the identity of the merchant via | ||
173 | the provided bank routing information. The merchant | ||
174 | can, for example when compelled by the state for | ||
175 | taxation, provide information linking the individual | ||
176 | deposit to the respective contract signed by the | ||
177 | customer. Thus, the exchange's database allows the | ||
178 | state to enforce that merchants pay applicable taxes | ||
179 | (and do not engage in illegal contracts). | ||
180 | ") }}</li> | ||
181 | |||
182 | <li>{{ _("Finally, the exchange transfers funds | ||
183 | corresponding to the digital coins redeemed by the | ||
184 | merchants to the merchant's <b>bank</b> account. The | ||
185 | exchange may combine multiple small transactions into | ||
186 | one larger bank transfer. The merchant can query the | ||
187 | exchange about the relationship between the bank | ||
188 | transfers and the individual claims that were | ||
189 | deposited. | ||
190 | ") }}</li> | ||
191 | |||
192 | <li>{{ _("Most importantly, the exchange keeps | ||
193 | cryptographic proofs that allow it to demonstrate that | ||
194 | it is operating correctly to third parties. The system | ||
195 | requires an external <b>auditor</b>, such as a | ||
196 | government-appointed financial regulatory body, to | ||
197 | frequently verify the exchange's databases and check that | ||
198 | its bank balance matches the total value of the | ||
199 | remaining coins in circulation. | ||
200 | ") }}</li> | ||
201 | |||
202 | <li>{{ _("Without the auditor, the exchange operators | ||
203 | could embezzle funds they are holding in | ||
204 | reserve. Customers and merchants cannot cheat each | ||
205 | other or the exchange. If any party's computers are | ||
206 | compromised, the financial damage is limited to the | ||
207 | respective party and proportional to the funds they | ||
208 | have in circulation during the period of the | ||
209 | compromise. | ||
210 | ") }}</li> | ||
211 | </ol> | ||
212 | <p></p> | ||
213 | </div> | ||
214 | <!--# include file="common/footer.inc" --> | ||
215 | </div> <!-- /container --> | ||
216 | </body> | ||
217 | </html> | ||