एरिक ऑलमैन: इलेक्ट्रॉनिक मेल के प्लंबर
लगभग बीस वर्षों की एक ऐसी अवधि थी जिसमें पृथ्वी पर भेजा गया लगभग हर ईमेल बर्कले (Berkeley) के एक स्नातक छात्र द्वारा लिखे गए प्रोग्राम से होकर गुजरता था। एरिक ऑलमैन (Eric Allman) ने ईमेल को डिज़ाइन नहीं किया था, और उन्होंने कभी ऐसा दावा भी नहीं किया। उन्होंने इसके पीछे की सबसे नीरस और कठिन समस्या को हल किया: ऐसे असंगत मेल सिस्टम को, जिन्हें उन लोगों ने बनाया था जिन्होंने एक-दूसरे से कभी बात नहीं की थी, बिना संदेश खोए आपस में संदेशों का आदान-प्रदान करने के लिए तैयार करना। जब एसोसिएशन फॉर कंप्यूटिंग मशीनरी (ACM) ने उन्हें 2025 की कक्षा में फेलो चुना, तो उनका प्रशस्ति पत्र केवल चार शब्दों का था — इलेक्ट्रॉनिक मेल के विकास के लिए।
बर्कले का बचपन
एरिक पॉल ऑलमैन (Eric Paul Allman) का जन्म 2 सितंबर 1955 को कैलिफोर्निया के एल सेरिटो (El Cerrito) में हुआ था, जो उस विश्वविद्यालय से खाड़ी के पार कुछ मील की दूरी पर था जिसने उनके जीवन को परिभाषित किया। उन्होंने जल्दी ही अपने हाई स्कूल के मेनफ्रेम तक अपना रास्ता बना लिया, और वहाँ से यूसी बर्कले (UC Berkeley) के कंप्यूटिंग केंद्र तक पहुँचे। उन्होंने 1973 में बर्कले में दाखिला लिया, ठीक उसी समय जब यूनिक्स (Unix) अमेरिकी कंप्यूटर विज्ञान विभागों में फैल रहा था, और उन्होंने 1977 में स्नातक की डिग्री और 1980 में मास्टर डिग्री प्राप्त की।
वह कभी उस दायरे से बाहर नहीं निकले। ऑलमैन अभी भी बर्कले में रहते हैं, और उनका सबसे स्थायी काम उसी जगह के कुछ ब्लॉक के भीतर किया गया जहाँ वे पले-बढ़े थे।
वह समस्या जो कोई नहीं चाहता था
1970 के दशक के अंत तक इलेक्ट्रॉनिक मेल मौजूद था, लेकिन एक एकल चीज़ के रूप में नहीं। यह एक साथ कई असंगत चीज़ों के रूप में मौजूद था। ARPANET के अपने नियम थे; स्थानीय यूनिक्स नेटवर्क के पास अन्य नियम थे; अलग-अलग सिस्टम इस बात पर असहमत थे कि एक पता कैसे लिखा जाना चाहिए, एक हेडर में क्या होना चाहिए, और संदेश को कौन सा प्रोटोकॉल ले जाना चाहिए। एक नेटवर्क पर एक उपयोगकर्ता जो दूसरे नेटवर्क पर किसी उपयोगकर्ता को लिखना चाहता था, वह व्यवहार में, बदकिस्मत था।
ऑलमैन का पहला उत्तर डिलीवरमेल (delivermail) था। उनका दूसरा, जिस तक वे 1981 तक पहुँचे, वह सेंडमेल (sendmail) था, और उनके बीच का अंतर ही उनका पूरा योगदान है। सेंडमेल कोई मेल सिस्टम नहीं था। यह एक मेल ट्रांसफर एजेंट था — एक राउटर और अनुवादक जो मेल सिस्टम के बीच में बैठता था, जिस भी रूप में संदेश आता था उसे स्वीकार करता था, यह पता लगाता था कि उसे आगे कहाँ जाना है, और उसके पतों और हेडर्स को उस रूप में फिर से लिखता था जिसकी अगली हॉप को आवश्यकता थी। यह SMTP, बाद में ESMTP, और DECnet के Mail-11 का समर्थन करता था।
बीस प्रश्न, घड़ी पर आठ मिनट, और अब तक टेस्ट देने वालों के सामने मापा गया पर्सेंटाइल। साइन-अप नहीं।
IQ टेस्ट दें →महत्वपूर्ण डिज़ाइन निर्णय यह था कि इस अनुवाद में से कुछ भी हार्ड-कोडेड नहीं था। सेंडमेल का व्यवहार रीराइटिंग रूल्स (rewriting rules) द्वारा संचालित होता था — एक छोटी, घनी पैटर्न-मैचिंग भाषा, जो एक कॉन्फ़िगरेशन फ़ाइल में रखी जाती थी, जो यह बताती थी कि एक आकार के पते को दूसरे आकार के पते में कैसे बदला जाए। ऑलमैन ने एक नीति के बजाय एक तंत्र का निर्माण किया। जब ईमेल बदला, जैसा कि वह चालीस वर्षों तक लगातार बदलता रहा, सेंडमेल को दोबारा लिखने की आवश्यकता नहीं पड़ी; बस इसके नियमों को बदलने की आवश्यकता पड़ी।
यही कारण है कि सेंडमेल बर्कले सॉफ्टवेयर डिस्ट्रीब्यूशन (BSD) का हिस्सा बन गया और फिर अनिवार्य रूप से हर यूनिक्स सिस्टम पर डिफ़ॉल्ट मेल ट्रांसफर एजेंट बन गया, और यही कारण है कि इसकी कॉन्फ़िगरेशन फ़ाइल सिस्टम प्रशासकों के बीच प्रसिद्ध है। यहाँ तक कि सॉफ्टवेयर का संयमित विवरण भी एक जटिल कॉन्फ़िगरेशन सिंटैक्स को स्वीकार करता है। शक्ति और दर्द ठीक एक ही जगह से आए।
सिस्लॉग (Syslog)
सेंडमेल के अंदर एक दूसरा आविष्कार छिपा था जो बच निकला और पहले से कहीं अधिक क्षेत्र पर विजय प्राप्त की। ऑलमैन को प्रोग्राम के लिए यह रिकॉर्ड करने का एक सुसंगत तरीका चाहिए था कि वह क्या कर रहा था, इसलिए उन्होंने सिस्लॉग (syslog) नामक एक लॉगिंग सुविधा लिखी। यह मूल रूप से सेंडमेल के लिए विशिष्ट थी। इंटरनेट हॉल ऑफ फ़ेम के शब्दों में, यह अब लगभग सभी ओपन सिस्टम और पेरिफेरल्स में उपयोग की जाने वाली वास्तविक मानक लॉगिंग तंत्र है — वह चीज़ जो आपके सर्वर, राउटर और प्रिंटर द्वारा उत्पन्न लाइनों को लिखती है जब उनके साथ कुछ भी होता है। इसे 2001 में RFC 3164 के रूप में लिखे जाने और बाद में RFC 5424 द्वारा प्रतिस्थापित किए जाने से पहले दो दशकों तक अनौपचारिक रूप से मानकीकृत किया गया था।
ऑलमैन के दो छोटे टुकड़े भी दैनिक उपयोग में जीवित हैं। ऑलमैन इंडेंट स्टाइल (Allman indent style), जिसे कभी-कभी BSD स्टाइल कहा जाता है, उन दो तरीकों में से एक है जिनसे C प्रोग्रामर अपने ब्रेसिज़ (braces) रखते हैं। और BSD Trek, जो अभी भी लिनक्स के bsdgames पैकेज में भेजा जाता है, फोर्ट्रान (Fortran) स्टार ट्रेक (Star Trek) गेम का उनका C पोर्ट है।
कंपनी
ऑलमैन ने डेटाबेस फर्म ब्रिटन ली (Britton Lee), जो बाद में शेयरबेस (Sharebase) बनी, और इंटरनेशनल कंप्यूटर साइंस इंस्टीट्यूट में काम किया। 1998 में उन्होंने और ग्रेग ओल्सन (Greg Olson) ने एमरीविले, कैलिफ़ोर्निया में Sendmail, Inc. की स्थापना की, ताकि ओपन-सोर्स संस्करण के साथ व्यावसायिक रूप से सॉफ़्टवेयर विकसित किया जा सके; कंपनी का अंततः प्रूफपॉइंट (Proofpoint) द्वारा अधिग्रहण कर लिया गया। उस अवधि में उन्होंने जो आर्किटेक्चर जोड़ा, milter, उसने तीसरे पक्षों को मेल पथ में फ़िल्टर प्लग करने दिया — वह हुक जिसके माध्यम से स्पैम और वायरस फ़िल्टरिंग को बाद में दुनिया के मेल सर्वर पर ग्राफ़्ट किया गया। ऑलमैन ने कहा है कि उन्हें उम्मीद है कि ईमेल में भविष्य का अधिकांश विकास ट्रांसफर एजेंट के बजाय milters में होगा।
उन्होंने ACM Queue बनाने में भी मदद की, जिसे जानबूझकर उन शैक्षणिक पत्रिकाओं के बीच रखा गया जिन्हें चिकित्सक नहीं पढ़ते और विज्ञापनदाताओं द्वारा आकार दी गई व्यापार पत्रिकाओं के बीच रखा गया, और USENIX में प्रारंभिक नेतृत्व भूमिकाओं के बाद इसके संपादकीय बोर्ड और ACM काउंसिल में बैठे। उन्होंने ब्रायन कोस्टलेस (Bryan Costales) के साथ O'Reilly की Sendmail पुस्तक का सह-लेखन किया, द आर्किटेक्चर ऑफ ओपन सोर्स एप्लिकेशन (The Architecture of Open Source Applications) में योगदान दिया, और बाद में बर्कले की स्वार्म लैब (Swarm Lab) में वितरित कंप्यूटिंग और इंटरनेट-ऑफ-थिंग्स प्लेटफॉर्म पर काम किया।
एरिक को जीनियस क्यों कहा जाता है
प्रदर्शन पर गुणवत्ता सैद्धांतिक चमक नहीं है और ऑलमैन ने कभी अन्यथा दिखावा नहीं किया। यह अनिश्चितता के तहत डिज़ाइन निर्णय है — असंगत सिस्टम की गड़बड़ी को देखने और यह सही ढंग से पहचानने की क्षमता कि कौन सा हिस्सा बदलता रहेगा और कौन सा नहीं, फिर बदलते हिस्से को कॉन्फ़िगरेशन के रूप में और स्थिर हिस्से को कोड के रूप में बनाने की क्षमता। सेंडमेल के रीराइटिंग रूल्स एक शर्त थे कि ईमेल के पते के नियम दशकों तक अनसुलझे रहेंगे। शर्त सही थी, और यही कारण है कि 1981 में एक स्नातक छात्र द्वारा लिखा गया प्रोग्राम तीस साल बाद भी दुनिया के मेल का एक बड़ा हिस्सा ले जा रहा था। यह एक दुर्लभ प्रकार की इंजीनियरिंग दूरदर्शिता है, और मान्यता इसे दर्शाती है: इंटरनेट हॉल ऑफ फ़ेम ने उन्हें 2014 में एक इनोवेटर के रूप में शामिल किया, ACM ने उन्हें 2009 में एक डिस्टिंग्विश्ड इंजीनियर और 2025 में एक फेलो बनाया, और बर्कले ने उन्हें 2013 में कंप्यूटर विज्ञान में एक डिस्टिंग्विश्ड पूर्व छात्र नामित किया।
प्रतिवाद उचित है और स्पष्ट रूप से बताने योग्य है। ऑलमैन ने कोई एल्गोरिदम नहीं खोजा, कोई प्रमेय सिद्ध नहीं किया और कोई प्रोटोकॉल उत्पन्न नहीं किया; ईमेल, SMTP और ARPANET दूसरों का काम थे। उनकी प्रतिभा, यदि यह शब्द लागू होता है, तो वह शिल्प है — किसी ऐसे व्यक्ति की व्यावहारिक बुद्धि जो ऐसा बुनियादी ढांचा बनाता है जिसे हर किसी के साथ संपर्क में जीवित रहना पड़ता है। और शिल्प की एक वास्तविक कीमत थी। सेंडमेल की कॉन्फ़िगरेशन भाषा प्रसिद्ध रूप से दंडित करने वाली है, एक बाधा जिसके बारे में प्रशासकों की पीढ़ियों ने शिकायत की है और जिसने इसके बाद लिखे गए प्रतिद्वंद्वी मेल ट्रांसफर एजेंटों को प्रेरित करने में मदद की है। एक उपकरण जिसे केवल विशेषज्ञ ही सुरक्षित रूप से संचालित कर सकते हैं, एक समझौता किया गया डिज़ाइन है, चाहे वह कितना भी टिकाऊ क्यों न हो। प्रोग्रामरों के लिए ऑलमैन की अपनी सलाह विशिष्ट रूप से ग्लैमरस नहीं है: एक ऐसा प्रोजेक्ट चुनें जो आपके व्यक्तित्व से मेल खाता हो, साफ और अच्छी तरह से प्रलेखित कोड लिखें, क्योंकि आपकी प्रतिष्ठा दांव पर लगी होगी।
विरासत
ऑलमैन गे हैं और उन्होंने अक्टूबर 2013 में BSD यूनिक्स के एक प्रमुख डेवलपर मार्शल किर्क मैकक्युसिक (Marshall Kirk McKusick) से शादी की, जो तीस से अधिक वर्षों से एक साथ थे; वे स्नातक स्कूल में मिले थे, और वे दोनों मिलकर उस सॉफ़्टवेयर के एक बड़े अनुपात के लिए जिम्मेदार हैं जिसने यूनिक्स को इंटरनेट का ऑपरेटिंग सिस्टम बनाया। उनके सम्मान में 2006 में टेलुराइड टेक फेस्टिवल अवार्ड ऑफ टेक्नोलॉजी (Telluride Tech Festival Award of Technology) शामिल है। हालांकि, उनके काम का सबसे अच्छा माप यह है कि यह अदृश्य है। कोई भी मेल ट्रांसफर एजेंट के बारे में नहीं सोचता है, और कोई भी सिस्लॉग लाइन नहीं पढ़ता है जब तक कि कुछ टूट न जाए — जो कि ठीक वैसी स्थिति है जिसे बुनियादी ढांचे को प्राप्त करना माना जाता है।



