GNU Taler: Αρχές σχεδιασμού
Κατά τον σχεδιασμό του GNU Taler, είχαμε υπόψη τις ακόλουθες αρχές σχεδιασμού:
1. Ελεύθερο/Libre Λογισμικό
Το GNU Taler πρέπει να είναι Ελεύθερο/Libre Λογισμικό. Για τους εμπόρους, το Ελεύθερο/Libre Λογισμικό αποτρέπει τον εγκλωβισμό σε έναν προμηθευτή, που σημαίνει ότι οι έμποροι μπορούν εύκολα να επιλέξουν άλλον πάροχο υπηρεσιών για την επεξεργασία των πληρωμών τους. Για τις χώρες, το Ελεύθερο/Libre λογισμικό σημαίνει ότι το GNU Taler δεν μπορεί να υπονομεύσει την κυριαρχία επιβάλλοντας περιορισμούς ή απαιτήσεις. Και για τους διαχειριστές των Exchange, η διαφάνεια είναι κρίσιμη για την ικανοποίηση της αρχής του Kerckhoffs και για την εδραίωση της εμπιστοσύνης του κοινού.
Οι πελάτες επωφελούνται από το Ελεύθερο/Libre Λογισμικό επειδή ο καθένας είναι ελεύθερος να τροποποιήσει το λογισμικό του πορτοφολιού ώστε να υποστηρίζει επιπλέον πλατφόρμες. Ο πηγαίος κώδικας πρέπει να είναι διαθέσιμος και να καθιστά εύκολη την επαλήθευση ότι απουσιάζουν εχθρικά προς τον χρήστη χαρακτηριστικά όπως η παρακολούθηση ή η τηλεμετρία.
2. Προστασία της ιδιωτικότητας των αγοραστών
Η ιδιωτικότητα έχει το μεγαλύτερο νόημα όταν διασφαλίζεται μέσω τεχνικών μέτρων, σε αντίθεση με απλές πολιτικές. Χωρίς ένα τεχνικό στρώμα που παρέχει ιδιωτικότητα εξ ορισμού, οι χρηματοοικονομικές συναλλαγές αποκαλύπτουν περιττά επίπεδα προσωπικών ή ιδιωτικών δεδομένων. Αυτό θα ίσχυε ιδιαίτερα κατά την πραγματοποίηση μικροπληρωμών για διαδικτυακές εκδόσεις. Έτσι, το GNU Taler πρέπει να προστατεύει την ιδιωτικότητα των αγοραστών ώστε να αποφεύγεται η διευκόλυνση ολοκληρωτικού ελέγχου επί του πληθυσμού. Περιορισμένα ιδιωτικά δεδομένα, όπως η διεύθυνση αποστολής για μια φυσική παράδοση, μπορεί να χρειαστεί να συλλεχθούν σύμφωνα με τις επιχειρηματικές ανάγκες και να προστατευθούν σύμφωνα με την τοπική νομοθεσία. Σε αυτή την περίπτωση, το GNU Taler πρέπει να επιτρέπει τη διαγραφή τέτοιων δεδομένων μόλις δεν είναι πλέον απαραίτητα.
3. Δυνατότητα ελέγχου - να επιτρέπεται στο κράτος να φορολογεί το εισόδημα και να καταστέλλει τις παράνομες επιχειρηματικές δραστηριότητες
Καθώς ένα σύστημα πληρωμών πρέπει να συμμορφώνεται με την τοπική νομοθεσία για να λειτουργεί νόμιμα, το GNU Taler πρέπει να είναι σχεδιασμένο ώστε να συμμορφώνεται με αυτές τις απαιτήσεις. Το GNU Taler πρέπει να παρέχει ένα ίχνος ελέγχου για τους ερευνητές που ενεργούν στο πλαίσιο του νόμου. Επιπλέον, θεωρούμε την επιβολή φόρων επωφελή για την κοινωνία, και η δίκαιη φορολογία απαιτεί διαφάνεια εισοδήματος. Έτσι, το GNU Taler πρέπει να επιτρέπει στις αρχές να παρακολουθούν το εισόδημα.
4. Αποτροπή της απάτης στις πληρωμές
Το GNU Taler πρέπει να μετριάζει τις πιο συνηθισμένες πηγές απάτης στις πληρωμές. Πρέπει να ακολουθούμε βέλτιστες πρακτικές στον σχεδιασμό λογισμικού, κατευθυντήριες γραμμές σχεδιασμού τρίτων που αποτρέπουν τη σύγχυση και τις παραπλανητικές διεπαφές χρήστη, και πρέπει να αναθέτουμε σε άλλους την επιθεώρηση του δημόσια διαθέσιμου κώδικά μας. Επιπλέον, το GNU Taler πρέπει να παρέχει εκτεταμένα κρυπτογραφικά αποδεικτικά στοιχεία για όλες τις βασικές διαδικασίες ώστε να επιτρέπει σε όλα τα μέρη να αποδίδουν με ακρίβεια την κακή συμπεριφορά.
5. Συλλογή των ελάχιστων απαραίτητων πληροφοριών
Η ιδιωτικότητα των αγοραστών έχει ιδιαίτερη προτεραιότητα στο πλαίσιο της αρχής #2. Ωστόσο, και άλλα μέρη - όπως οι έμποροι - πρέπει επίσης να έχουν προστασία δεδομένων. Γενικά, το GNU Taler πρέπει να συλλέγει μόνο τις ελάχιστες απαραίτητες πληροφορίες: Δεδομένα που δεν συλλέγονται ή δεν αποθηκεύονται πλέον δεν μπορούν να παραβιαστούν.
6. Να είναι εύχρηστο
Το GNU Taler πρέπει να είναι εύχρηστο για μη ειδικούς πελάτες, συμπεριλαμβανομένων των τελικών χρηστών ενός πορτοφολιού GNU Taler, των εμπόρων που επιθυμούν να δέχονται πληρωμές χρησιμοποιώντας το GNU Taler, και των προγραμματιστών εφαρμογών τρίτων για ηλεκτρονικό εμπόριο και άλλες πλατφόρμες. Το GNU Taler πρέπει να ακολουθεί κατευθυντήριες γραμμές χρηστικότητας βέλτιστων πρακτικών και να ενσωματώνει την ανατροφοδότηση από ειδικούς και χρήστες. Το Ελεύθερο/Libre λογισμικό απαιτεί επίσης Ελεύθερη/Libre τεκμηρίωση ώστε να είναι δυνατές οι τεκμηριωμένες επιλογές. Το GNU Taler πρέπει να παρέχει καλά τεκμηριωμένες Διεπαφές Προγραμματισμού Εφαρμογών (API) ώστε να επιτρέπονται οι χωρίς τριβές ενσωματώσεις μεταξύ του GNU Taler και άλλων έργων.
7. Να είναι αποδοτικό
Το GNU Taler πρέπει να σχεδιαστεί ώστε να είναι αποδοτικό. Πολύ απλά, η αποδοτικότητα σημαίνει λιγότερα πράγματα που μπορούν να χαλάσουν, και σημαίνει περισσότερες συναλλαγές ανά δευτερόλεπτο και μικρότερο περιβαλλοντικό αντίκτυπο. Η αποδοτικότητα είναι επίσης κρίσιμη ώστε το GNU Taler να μπορεί να χρησιμοποιηθεί για μικροπληρωμές. Επομένως, ορισμένες δαπανηρές πρωτογενείς λειτουργίες, όπως το proof-of-work, δεν πρέπει να χρησιμοποιούνται από το GNU Taler.
8. Σχεδιασμός ανεκτικός σε σφάλματα
Κακόβουλοι διαχειριστές, λάθη πληκτρολόγησης, δυσλειτουργίες υπολογιστών, απρόοπτα. Τα πράγματα πάνε στραβά. Το GNU Taler πρέπει να σχεδιαστεί ώστε να ανέχεται την αστοχία μεμονωμένων συστατικών και συστημάτων. Όπου το σύστημα μπορεί να συνεχίσει να λειτουργεί με ασφάλεια, θα συνεχίζει να λειτουργεί με ασφάλεια. Όπου πρέπει να σταματήσει μια λειτουργία, άλλες λειτουργίες δεν πρέπει να τίθενται εκτός σύνδεσης χωρίς λόγο. Όπου τα συστήματα αστοχούν, πρέπει να αστοχούν με ομαλό τρόπο. Το GNU Taler πρέπει να έχει σχέδιο ανάκαμψης από κακόβουλους διαχειριστές που παραβιάζουν βασικά μυστικά.
9. Προώθηση του ανταγωνισμού
Πρέπει να είναι σχετικά εύκολο για τους ανταγωνιστές να αναπτύξουν διαλειτουργικές εναλλακτικές. Τα εμπόδια για αυτό στα παραδοσιακά χρηματοοικονομικά συστήματα είναι μάλλον υψηλά και πέρα από τον έλεγχό μας. Ωστόσο, το GNU Taler πρέπει να ελαχιστοποιεί το τεχνικό βάρος για την είσοδο νέων ανταγωνιστών στην αγορά. Το GNU Taler πρέπει να επιτρέπει ένα ποικίλο σύνολο διαχειριστών, σπάζοντας το τρέχον σύστημα όπου μόνο λίγες παγκόσμιες εταιρείες κυριαρχούν στην αγορά. Ένα παράδειγμα σχεδιαστικής επιλογής που υποστηρίζει αυτό είναι ο διαχωρισμός ολόκληρου του συστήματος σε μικρότερα συστατικά που μπορούν να λειτουργούν, να αναπτύσσονται και να βελτιώνονται ανεξάρτητα, αντί να υπάρχει ένα εντελώς μονολιθικό σύστημα.