GNU Taler : Principes de conception
En créant GNU Taler, voici les principes de conception que nous avions en tête :
1. Logiciel libre
GNU Taler doit être un Logiciel libre. Pour les commerçants, le logiciel libre évite l'emprisonnement commercial, ce qui signifie que les commerçants peuvent facilement choisir un autre fournisseur de service pour traiter leurs paiements. Pour les états, le logiciel libre signifie que GNU Taler ne peut pas compromettre la souveraineté en imposant des restrictions ou des exigences. Et pour les opérateurs d'un «Taler Exchange», la transparence est indispensable pour satisfaire au principe de Kerckhoffs et pour instaurer la confiance du public.
Les acheteurs profitent du logiciel libre car n'importe qui est libre de modifier le logiciel porte-monnaie pour le faire fonctionner sur d'autres plateformes. Le code source doit être disponible et faciliter la vérification que des fonctionnalités néfastes telles que le traçage ou la télémétrie sont absentes.
2. Protéger la vie privée des acheteurs
La confidentialité a plus de poids lorsqu'elle est garantie par des mesures techniques plutôt que par de simples politiques. Sans un couche technique offrant un confidentialité-par-défaut, les transactions financières révèlent des données personnelles ou privées à des niveaux injustifiés. Ce serait le cas en particulier pour des micro-paiements sur des publications en ligne. GNU Taler doit donc protéger la vie privée des acheteurs afin d'éviter de faciliter un contrôle totalitaire sur une population. Quelques données privées, telles que l'adresse de livraison, peuvent malgré tout être collectées pour répondre à certains besoins des entreprises, tout en étant protégées par les lois en vigueur. Dans ce cas, GNU Taler doit permettre l'effacement de telles données dès lors qu'elles ne sont plus nécessaires.
3. Auditabilité - permettre à l'état de collecter les impôts et de lutter contre les activités marchandes illégales
Étant donné qu'un système de paiement doit être conforme aux réglementations locales pour pouvoir fonctionner légalement, GNU Taler doit être conçu de façon à satisfaire ces exigences. GNU Taler doit fournir un accès pour des enquêteurs agissant au nom de la loi. De plus, nous estimons que la collecte d'impôts est bénéfique pour la société, et une fiscalité équitable exige la transparence des revenus. C'est pourquoi GNU Taler doit permettre aux autorités d'analyser les revenus.
4. Empêcher la fraude sur les paiements
GNU Taler doit limiter les causes les plus courantes de fraudes liées aux paiements. Nous devons suivre les bonnes pratiques en matière de développement logiciel, les recommandations à l'intention de tierces parties doivent être rédigées de façon à éviter toute ambiguïté ou la création d'interfaces utilisateur trompeuses, et nous devons nous assurer que d'autres personnes inspectent notre code, qui est disponible publiquement. De plus, GNU Taler doit fournir suffisamment de preuves cryptographiques à chaque étape clef, de façon à ce que chaque intervenant puisse identifier précisément l'origine d'un comportement anormal.
5. Collecter le moins d'information possible
Une attention particulière est accordée au respect de la vie privée des acheteurs, de par le principe 2. Cependant, les autres intervenants, comme les commerçants, ont aussi droit à la protection de leurs données. D'une façon générale, GNU Taler doit collecter le moins d'information possible : une donnée qui n'est pas collectée ou qui n'est plus enregistrée ne peut pas être compromise.
6. Être convivial
GNU Taler doit être utilisable par des clients non-experts, notamment les utilisateurs finaux du porte-monnaie GNU Taler, les commerçants qui souhaitent accepter les paiements utilisant GNU Taler, et les développeurs d'applications tierces, pour le e-commerce ou autres plateformes. GNU Taler doit suivre bonnes pratiques en matière d’ergonomie et tenir compte des retours d'experts et d'utilisateurs. Le logiciel libre nécessite également une documentation libre pour permettre de faire des choix éclairés. GNU Taler doit fournir des APIs (Application Programming Interfaces) bien documentées pour permettre les meilleures intégrations possibles avec d'autres projets.
7. Être efficace
GNU Taler doit être conçu pour être efficient. Tout simplement, l'efficience signifie moins de dysfonctionnements, plus de transactions par seconde, et réduit l'impact environnemental. L'efficience est également indispensable pour que GNU Taler puisse être utilisé pour des micro-paiements. C'est pourquoi certains algorithmes consommateurs, comme la preuve de travail, ne doivent pas être utilisés par GNU Taler.
8. Une conception tolérante aux pannes
Les agents malintentionnés, les gros doigts, les bugs informatiques, les gremlins. Parfois les choses se passent mal. GNU Taler doit être conçu de façon à tolérer la panne de composants ou de systèmes individuels. Là où le système peut continuer à fonctionner correctement, il continuera à fonctionner correctement. Si il doit interrompre une opération, les autres opérations ne doivent pas être stoppées inutilement. Là ou un système tombe en panne, il doit tomber en panne proprement. GNU Taler doit prévoir une solution pour se remettre d'une compromission de données secrètes par des agents malintentionnés.
9. Stimuler la concurrence
Il faut faciliter autant que possible la mise en œuvre d'alternatives interopérables par des concurrents. Les obstacles à surmonter dans ce genre de systèmes financiers traditionnels sont généralement assez élevés et hors de notre contrôle. Néanmoins, GNU Taler doit minimiser la charge technique nécessaire pour l'arrivée de nouveaux acteurs sur le marché. GNU Taler doit permettre l'intégration d'une variété d'opérateurs, afin de mettre un terme au système actuel où seul un nombre limité d'entreprises internationales dominent le marché. Un exemple d'un choix de conception qui le rendrait possible serait de séparer tout le système en de plus petits segments qui pourraient être opérés, développés et améliorés indépendamment, au lieu d'avoir un seul système complètement monolithique.