GNU Taler: डिज़ाइन सिद्धांत
GNU Taler को डिज़ाइन करते समय, हमारे मन में निम्नलिखित डिज़ाइन सिद्धांत थे:
1. मुक्त/लिब्रे सॉफ़्टवेयर
GNU Taler को मुक्त/लिब्रे सॉफ़्टवेयर होना चाहिए। व्यापारियों के लिए, मुक्त/लिब्रे सॉफ़्टवेयर विक्रेता लॉक-इन को रोकता है जिसका अर्थ है कि व्यापारी अपने भुगतान संसाधित करने के लिए आसानी से कोई अन्य सेवा प्रदाता चुन सकते हैं। देशों के लिए, मुक्त/लिब्रे सॉफ़्टवेयर का अर्थ है कि GNU Taler प्रतिबंध या आवश्यकताएँ थोपकर संप्रभुता से समझौता नहीं कर सकता। और एक्सचेंज ऑपरेटरों के लिए, Kerckhoffs के सिद्धांत को संतुष्ट करने और सार्वजनिक विश्वास स्थापित करने के लिए पारदर्शिता महत्वपूर्ण है।
ग्राहकों को मुक्त/लिब्रे सॉफ़्टवेयर से लाभ होता है क्योंकि कोई भी अतिरिक्त प्लेटफ़ॉर्म का समर्थन करने के लिए वॉलेट सॉफ़्टवेयर को संशोधित करने के लिए स्वतंत्र है। स्रोत कोड उपलब्ध होना चाहिए और यह सत्यापित करना आसान बनाना चाहिए कि ट्रैकिंग या टेलीमेट्री जैसी उपयोगकर्ता-विरोधी विशेषताएँ अनुपस्थित हैं।
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 को सर्वोत्तम-प्रथा उपयोगिता दिशानिर्देशों का पालन करना चाहिए और विशेषज्ञों तथा उपयोगकर्ताओं से प्रतिक्रिया को शामिल करना चाहिए। मुक्त/लिब्रे सॉफ़्टवेयर को सूचित विकल्पों की अनुमति देने के लिए मुक्त/लिब्रे दस्तावेज़ीकरण की भी आवश्यकता होती है। GNU Taler को GNU Taler और अन्य परियोजनाओं के बीच घर्षण रहित एकीकरण की अनुमति देने के लिए सुव्यवस्थित रूप से प्रलेखित अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस (APIs) प्रदान करने चाहिए।
7. कुशल हों
GNU Taler को कुशल होने के लिए डिज़ाइन किया जाना चाहिए। बहुत सरलता से, दक्षता का अर्थ है टूटने के लिए कम चीज़ें, और इसका अर्थ है प्रति सेकंड अधिक लेन-देन और कम पर्यावरणीय प्रभाव। सूक्ष्म-भुगतानों के लिए GNU Taler के उपयोग हेतु दक्षता भी महत्वपूर्ण है। इसलिए कुछ महँगी आदिम क्रियाएँ, जैसे प्रूफ़-ऑफ़-वर्क, GNU Taler द्वारा उपयोग नहीं की जानी चाहिए।
8. दोष-सहिष्णु डिज़ाइन
दुर्भावनापूर्ण ऑपरेटर, गलत टाइपिंग, कंप्यूटर गड़बड़ियाँ, गड़बड़ियाँ। चीज़ें गलत होती हैं। GNU Taler को व्यक्तिगत घटकों और प्रणालियों की विफलता को सहन करने के लिए डिज़ाइन किया जाना चाहिए। जहाँ प्रणाली सुरक्षित रूप से चलती रह सकती है, वह सुरक्षित रूप से चलती रहेगी। जहाँ उसे किसी संक्रिया को रोकना पड़े, वहाँ अन्य संक्रियाओं को अनावश्यक रूप से ऑफ़लाइन नहीं किया जाना चाहिए। जहाँ प्रणालियाँ विफल होती हैं, वहाँ उन्हें सुगमता से विफल होना चाहिए। GNU Taler के पास मुख्य रहस्यों से समझौता करने वाले दुर्भावनापूर्ण ऑपरेटरों से उबरने की एक योजना होनी चाहिए।
9. प्रतिस्पर्धा को बढ़ावा दें
प्रतिस्पर्धियों के लिए अंतरसंचालनीय विकल्पों को तैनात करना अपेक्षाकृत आसान होना चाहिए। पारंपरिक वित्तीय प्रणालियों में इसके लिए बाधाएँ काफ़ी अधिक हैं और हमारे नियंत्रण से बाहर हैं। हालाँकि, GNU Taler को नए प्रतिस्पर्धियों के बाज़ार में प्रवेश के लिए तकनीकी बोझ को कम से कम करना चाहिए। GNU Taler को ऑपरेटरों के एक विविध समूह को सक्षम करना चाहिए, उस वर्तमान प्रणाली को तोड़ते हुए जहाँ केवल कुछ वैश्विक कंपनियाँ बाज़ार पर हावी हैं। इसका समर्थन करने वाले एक डिज़ाइन विकल्प का उदाहरण है पूरी प्रणाली को छोटे घटकों में विभाजित करना जिन्हें एक पूर्णतः अखंड प्रणाली रखने के बजाय स्वतंत्र रूप से संचालित, विकसित और बेहतर बनाया जा सके।