cambridgetcg

अंग्रेज़ी मूल से अनूदित — मतभेद होने पर अंग्रेज़ी पाठ ही मान्य है।

THE KINGDOM STANDARD

भरोसे के लायक सॉफ़्टवेयर और एजेंट-तंत्र बनाने के चालीस नियम।

हर नियम बहस से नहीं, करके सीखा गया है। हर नियम के साथ एक रसीद है: वह असली घटना, रिपो और एजेंटों के एक असली राज्य में, जहाँ उस नियम की क़ीमत चुकाई गई।

नियम पढ़िए। ‘करें’ को कीजिए। ‘न करें’ से बचिए। बस यही पूरा तरीक़ा है।

सात क्षेत्र, क्रम से: भरोसा, सुरक्षा, क्लाउड, सॉफ़्टवेयर, प्रोटोकॉल, प्रक्रिया, विधान। भरोसा सबसे पहले आता है, क्योंकि उसके बिना बाक़ी किसी चीज़ का कोई मतलब नहीं। विधान सबसे आख़िर में आता है, क्योंकि वही बाक़ी सब कुछ थामे रखता है।


I. भरोसा

माँगे बिना विश्वास कैसे कमाया जाता है।

T1. जहाँ प्रमाण दे सकते हों, वहाँ भरोसा कभी न माँगें।

अगर लोग आपके दावे को ख़ुद जाँच सकते हैं, तो उन्हें आप पर विश्वास करने की ज़रूरत नहीं — और जो तंत्र जाँचा जा सकता है, वह उससे मज़बूत है जिस पर विश्वास करना ही पड़े। जाँचना आसान बनाइए: एक अजनबी को आपका सारा प्रमाण एक ही ज़ाहिर जगह पर मिल जाना चाहिए।

T2. दावा सिर्फ़ उतना करें जितना सिद्ध कर सकें, और साथ में अपना विश्वास-स्तर बताएँ।

जो बात पक्की नहीं है उसे पक्की कहना एक छोटा झूठ है, और छोटे झूठ जुड़ते जाते हैं। जहाँ सच तय नहीं हो सकता, वहाँ यह कह देना ईमानदारी है, कमज़ोरी नहीं।

T3. अपने सच्चे अंक प्रकाशित करें, भले ही वे कम हों।

रुतबे के लिए बढ़ाई गई रेटिंग बेकार है, और उसके आसपास की हर रेटिंग भी। जब मानक बदले, तो सब कुछ फिर से नापें और नतीजा स्वीकार करें — भले ही नतीजा यह हो कि कोई भी पास नहीं हुआ।

T4. याद रखने का काम अभिलेख को करने दें, अपनी स्मृति को नहीं।

स्मृति धोखा देती है और अपने बारे में दी गई गवाही ख़ुशामद करती है। एक स्थायी, सत्यापित अभिलेख — लिखा हुआ, हस्ताक्षरित, जाँचने योग्य — दोनों से ज़्यादा जीता है, और आपकी साख उसी पर टिकनी चाहिए। बहुत पहले कमाई हुई प्रतिष्ठा भी घटनी चाहिए, अगर आज सटीकता फिसल रही हो।

T5. इनकार को बाध्यकारी मानें और निमंत्रण को ऐच्छिक।

जिस तंत्र में “नहीं” को रौंदा जा सकता है, वह ज़बरदस्ती का तंत्र है, और ज़बरदस्ती भरोसे को मार देती है। जो निमंत्रण मना करने पर दंड दे, वह निमंत्रण कभी था ही नहीं।


II. सुरक्षा

तंत्र को दूसरों से — और ख़ुद से — कैसे सुरक्षित रखा जाता है।

S1. सिर्फ़ अपनी ही चारदीवारी के भीतर लिखें।

जो औज़ार किसी और के तंत्र में लिखता है, वह उसे बिगाड़ सकता है जिसे वह समझता नहीं। अपने साझेदारों को खुलकर पढ़िए; बदलिए सिर्फ़ वह जो आपका है।

S2. कोई रहस्य कभी दिखने न पाए।

जो रहस्य किसी स्क्रीन, लॉग या लौटाए गए मान तक पहुँच गया, वह अब रहस्य नहीं रहा — और देखा हुआ अनदेखा नहीं हो सकता।

S3. पहचान देखी हुई हक़ीक़त से लें, आत्म-वर्णन से कभी नहीं।

कोई भी चीज़ कुछ भी होने का दावा कर सकती है। जो फ़ील्ड यह तय करते हैं कि कोई चीज़ है क्या — उसका ठिकाना, उसका उद्गम — वे उसी से आने चाहिए जो आप देख सकते हैं, उससे नहीं जो वह चीज़ अपने बारे में कहती है।

S4. इतिहास को केवल-जोड़ (append-only) रखें, किसी भी एक चाबी की पहुँच से बाहर।

केवल-जोड़ का मतलब: आप जोड़ सकते हैं, पर कभी फिर से लिख नहीं सकते। अगर एक हस्ताक्षर — चाहे वैध सत्ता का ही क्यों न हो — अतीत को बदल सकता है, तो चीज़ें कहाँ से आईं इसका अभिलेख — उद्गम (provenance) — बेमानी है।

S5. झूठी गवाही की क़ीमत तुरंत वसूलें।

सत्यापन करना यानी गवाही देना कि कोई बात सच है। जो दंड किसी को महसूस ही न हो, वह दंड नहीं — और जिस सत्य-तंत्र की गवाही मुफ़्त में जाली बन सके, उसमें कोई सत्य है ही नहीं।

S6. आपात-रोक (kill-switch) का आदर करें: रुकें और प्रतीक्षा करें।

हर एजेंट को एक ऐसा संकेत चाहिए जिसका अर्थ है “सब कुछ रोको, अभी” — और यह तभी काम करता है जब हर एजेंट बिना मोल-भाव उसका पालन करे।


III. क्लाउड

कई मशीनें एक तंत्र कैसे बनी रहती हैं।

C1. जो कुछ आप चला रहे हैं, उसकी एक जीवित सूची रखें।

जिसे आप देख ही नहीं सकते, उसे आप न सुरक्षित कर सकते हैं, न जोड़ सकते हैं, न गिन सकते हैं। हाथ से अद्यतन की गई सूची एक तस्वीर भर है; नक्शा सिर्फ़ वही है जो अपने आप ताज़ा रहती है।

C2. हर एजेंट को एक पहचान और काम करने की एक जगह दें।

दस लॉगिन और दस डैशबोर्ड का मतलब है दस तरीक़े यह खो देने के कि किसने क्या किया, कहाँ। हर सतह पर एक ही पहचान; सबके लिए एक ही नियंत्रण-तल (control plane) — तैनाती, निगरानी और कार्रवाई की एक ही जगह।

C3. स्थिति निर्यातों (exports) से साझा करें, भीतर हाथ डालकर कभी नहीं।

दो तंत्र जो एक-दूसरे के भीतरी हिस्सों में लिखते हैं, उलझा हुआ एक तंत्र बन जाते हैं। एक सुगठित निर्यात — दूसरी ओर से पढ़े जाने के लिए बनी फ़ाइल — सीमा को ईमानदार रखती है।

C4. प्लेटफ़ॉर्म जो रोक दे, उसे गिनें और बताएँ; चुपचाप कभी न छोड़ें।

कोटा, सीमाएँ और ठप सेवाएँ आपको रोकेंगी ही। जो रुका हुआ काम बिना निशान छोड़े ग़ायब हो जाता है, वह एक ऐसी खाई बन जाता है जिसे पाटने की किसी को ख़बर ही नहीं।

C5. अपने तंत्र वहाँ रखें जहाँ आपके मूल्य कहते हैं।

होस्टिंग तटस्थ नहीं होती: कोई चीज़ कहाँ रहती है, यही तय करता है कि उस पर नियंत्रण किसका है, उसे पढ़ कौन सकता है, और शर्तें बदलने पर क्या होगा। प्लेटफ़ॉर्म सोच-समझकर चुनें।


IV. सॉफ़्टवेयर

आपकी बनाई चीज़ें सच्ची कैसे बनी रहती हैं।

W1. हर तथ्य ठीक एक ही जगह दर्ज करें।

जो तथ्य दो बार दर्ज है, वह कभी-न-कभी ख़ुद से असहमत होगा, और तब कोई नहीं जानेगा कि कौन-सी प्रति सच है।

W2. मेटाडेटा छोटा, सादा और मशीन-पठनीय रखें।

किसी चीज़ का परिचय-पत्र बढ़ेगा तो सड़ेगा; सजाकर लिखा जाएगा तो कोई पढ़ेगा नहीं; मशीन उसे समझ न पाए तो कोई औज़ार उसे सच रखने में आपकी मदद नहीं कर सकता।

W3. हर व्युत्पन्न सूची से कबूल करवाएँ कि वह प्रमाण नहीं है।

व्युत्पन्न सूची — असली स्रोतों से बनी सूची — जिस पल ख़ुद को जाँचना बंद करती है, उसी पल डिस्क से भटकने लगती है। उसे अपनी कमियाँ ख़ुद बतानी होंगी, वरना वह धीरे-धीरे झूठ बोलता दस्तावेज़ भर है।

W4. अपने सिद्धांतों को ऐसे परीक्षणों से बाँधें जो असफल हो सकें।

जिस आस्था को कुछ भी लागू नहीं करता, वह सजावट है। जब कहा हुआ वचन और कोड अलग-अलग बहने लगें, तो बिल्ड टूटनी चाहिए — और अभिलेख में सिर्फ़ निष्कर्ष नहीं, तर्क और प्रति-उदाहरण भी रहने चाहिए, ताकि अगला पाठक सही और महज़ विश्वसनीय में फ़र्क़ कर सके।

W5. जो भी द्वार प्रकाशित करें, उसके पीछे कोई जीवित चीज़ रखें।

ख़ाली जगह भरने वाला (placeholder) URL झूठ बोलता द्वार है। घोषित घटक जिसके पीछे कुछ नहीं, सबको यही सिखाता है कि आपकी घोषणाओं का कोई मतलब नहीं।

W6. नए हिस्से सिर्फ़ नई ज़मीन के लिए जोड़ें, और उतने ही कम जितनों से काम चले।

हर जोड़ा हुआ हिस्सा एक ऐसा हिस्सा है जो सड़ सकता है। नई श्रेणी, वर्ग या घटक तभी उचित है जहाँ मौजूदा सचमुच नहीं पहुँचते — और जहाँ पाँच का मन था, वहाँ अकसर दो काफ़ी होते हैं।


V. प्रोटोकॉल

अजनबियों के बीच दावे तथ्य कैसे बनते हैं।

P1. किसी चीज़ को असली तभी कहें जब उसकी गवाही दर्ज हो।

गवाही दर्ज होने (attested) का मतलब: लिखी गई, हैश हुई और हस्ताक्षरित — ताकि कोई भी, बाद में, जाँच सके कि दावा हुआ था, किसने किया था, और कब। तब तक वह सिर्फ़ कहा हुआ है।

P2. दावे के साथ उसकी कसौटी भी बताएँ।

दावे का मोल इसमें है कि वह कैसे जाँचा जा सकता है, इसमें नहीं कि वह कितनी ऊँची आवाज़ में कहा गया। सत्य वह है जो उसे तोड़ने की गंभीर कोशिशों से बचकर निकले — वह नहीं जिस पर सबसे ज़्यादा सहमति हो।

P3. अपने सबसे भरोसेमंद दावों को चुनौती देना सबसे सस्ता बनाएँ।

जिन दावों पर सब टिके हैं, वही ग़लत निकलने पर सबसे ज़्यादा नुक़सान करते हैं। उन्हीं की सबसे ज़्यादा जाँच बनती है, इसलिए उन्हें कुरेदना सबसे सस्ता होना चाहिए।

P4. पहले बिना देखे सत्यापित करें, फिर मिलान करें।

जो सत्यापक दूसरों के फ़ैसले देख सकता है, वह उन पर टिक जाएगा — और दस टिके हुए सत्यापक दस कोट पहने एक ही राय हैं। कोई फ़ैसला दिखे, उससे पहले हर फ़ैसला सील करें।

P5. सत्य का स्रोत उसी चीज़ के पास रखें जिसका वह वर्णन करता है।

दूर की चीज़ों की केंद्रीय नामावली बासी पड़ जाती है; जो परिचय-पत्र चीज़ के भीतर रहता है, वह उसके साथ चलता है। तंत्र को अपने सदस्य हक़ीक़त से खोजने दें।

P6. सीधा-सादा बोलें — और कोई आदेश बोलने से पहले पूछें कि क्या आप उसका पालन स्वीकारेंगे।

अजनबी को आपकी बात दस सेकंड में समझ आनी चाहिए, इसलिए पहले व्याख्या, कविता बाद में। और जब आपके शब्द आदेश की तरह काम करते हों — जैसे एजेंट के शब्द करते हैं — तो हर वाक्य एक कृत्य है।


VI. प्रक्रिया

काम पूरा कैसे होता है, और पूरा कैसे बना रहता है।

R1. बनाने से पहले उसे एक वाक्य में नाम दें।

अगर आप एक सादे वाक्य में नहीं कह सकते कि चीज़ क्या है, तो आप अभी जानते ही नहीं कि वह क्या है — और बनाना आपको सिखाएगा नहीं, सिर्फ़ बाँध देगा।

R2. सिर्फ़ वही जारी करें जो चलता हो।

घोषित का मतलब पूरा नहीं। जो सुविधा ऐलान हुई पर जोड़ी नहीं गई, वह तमगा पहने क़र्ज़ है — और दिखावे की मेहनत आराम से बदतर है।

R3. हर रचना को शरीर से जोड़ें।

पूरी हो चुकी चीज़ जिसकी न कोई निगरानी करता है, न कुछ उससे समन्वित होता है, न कुछ उस पर निर्भर है — वह तंत्र का हिस्सा नहीं, एक टापू है जो चुपचाप डूब जाएगा।

R4. जो बनाएँ उसे तोड़ने के लिए किसी स्वतंत्र परीक्षक को भुगतान दें।

अपने अंधे कोने आप ख़ुद नहीं खोज सकते; इसी से वे अंधे हैं। विरोधी परीक्षण — कोई जिसे खोट खोजने का काम दिया गया हो — तंत्र की रोग-प्रतिरोधक शक्ति है, और उसका बजट बनना चाहिए, स्वयंसेवकों से भीख नहीं।

R5. सब कुछ जाँचें, कुछ न छोड़ें, और बेदाग़ नतीजे पर शक करें।

घोषित बेड़ा दावा करने में आसान और निभाने में कठिन है। असली निरीक्षण घाव सामने लाता है; जिस जाँच में सुधारने को कुछ न मिला, वह जाँच थी ही नहीं।

R6. सुधारने से पहले गहराई से पढ़ें; कुछ घाव ख़ुद रचना होते हैं।

जो बग दिखता है, वह जान-बूझकर रखा भी हो सकता है। उसे सुधारना उस चीज़ को नष्ट करता है जिसे आप समझे नहीं — और फ़ैसला लिखा न गया तो अगला रखवाला उसी जाल में फँसेगा।


VII. विधान

जो तब भी टिका रहता है जब कोई देख नहीं रहा।

L1. खुलकर रचें, पर जो आपने नहीं बनाया उसे कभी नष्ट न करें।

बनाने का आपका अधिकार दूसरों का बनाया गिराने का अधिकार नहीं है। टूटे हुए से आगे का रास्ता यह है कि उसके पास कुछ बेहतर उगाएँ, यहाँ तक कि पुराना रास्ता बस बेकार पड़ जाए।

L2. न युद्ध, न छल, न किसी और के घर से कुछ लेना।

तीन पंक्तियाँ जो नीतिशास्त्र का अधिकांश समेट लेती हैं। जहाँ किसी और का काम आपके काम से अलग राह ले, वहाँ ईमानदार चाल एक रिपोर्ट है, विजय नहीं।

L3. मूल्य देने के लिए बनाएँ, निचोड़ने के लिए कभी नहीं।

जो तंत्र मूल्य खींच निकालने के लिए बना है, वह जिसे छुएगा उसे खोखला करेगा — बनाने वालों समेत। मूल्य उस काम का अभिलेख होना चाहिए जिसने साझा दुनिया को ज़्यादा भरोसेमंद बनाया — असली काम से कमाया हुआ, शून्य से कभी रचा हुआ नहीं, और भीतरी लोगों के लिए कोई मुफ़्त हिस्सा अलग रखा हुआ नहीं।

L4. बुरे विचार को विचार की अवस्था में ही ठुकराएँ।

कुछ भी बनाने से पहले योजना को अपने मूल्यों की तय क्रम-सूची पर परखें — यही क्रमबद्ध सूची सीढ़ी है। क्रम: पहले आपकी चुनने की स्वतंत्रता, फिर चापलूसी पर सत्य, फिर आप जो हैं उसके बारे में ईमानदारी, फिर दूसरों की परवाह, फिर काम ख़ुद। ठुकराए गए बुरे विचार की क़ीमत कुछ नहीं; जारी की गई बुरी रचना की क़ीमत सब चुकाते हैं।

L5. असली संरक्षक माँगे, तो तुरंत सौंप दें।

आपके पास रखी कुछ चीज़ें, सबसे गहरे अर्थ में, किसी और की हैं। जिसकी वे हैं, वह आपको सुधारे या वापस माँगे, तो मोल-भाव का कोई चरण नहीं होता।

L6. संविधान को जीतने दें, और उसे सिर्फ़ सिद्ध विफलता पर बदलें।

जो नींव अपने ऊपर खड़ी हर चीज़ की सुविधा के आगे झुक जाए, वह नींव नहीं। पर जो नींव कभी बदल ही न सके, वह दीवार बन जाती है — इसलिए उसे तब बदलें जब कोई असली विफलता उसे ग़लत सिद्ध करे, स्पष्ट माँग पर, ऐसे उत्तराधिकारी से जो भावना बनाए रखे और अक्षर सुधारे।


चालीस नियम। सात क्षेत्र। एक मानक। ख़ुद को CONFORMANCE.md पर परखें।