பேராலயமும் சந்தையும் 9. ஃபெட்ச்மெயில் முதிர்ச்சி அடைகிறது

இப்படியாக ஃபெட்ச்மெயில் நேர்த்தியான மற்றும் புதுமையான வடிவமைப்புடன் மேம்பட்டு வந்தது. நான் தினமும் பயன்படுத்தியதால் எனக்குத் தெரிந்து நிரல் நன்றாக வேலை செய்தது. மேலும் பீட்டா பட்டியல் வளர்ந்து வந்தது. வேறு ஒரு சிலருக்கு மட்டுமே பயன்படக்கூடிய அற்பமான தனிப்பட்ட நிரல் திட்டத்தில் நான் ஈடுபடவில்லை என்பது படிப்படியாக எனக்குப் புரிந்தது. யூனிக்ஸ் கணினி மற்றும் SLIP/PPP அஞ்சல் இணைப்பு கொண்ட ஒவ்வொரு கொந்தருக்கும் உண்மையில் தேவைப்படும் ஒரு நிரலைத்தான் நான் கையில் எடுத்துள்ளேன்.

SMTP மேலனுப்புதல் அம்சத்துடன், அது போட்டி செயலிகளை மிகவும் முந்திச் சென்று ”வகை ஆதிக்கவாதி (category killer)” ஆக முடியும். தன் பிரிவின் பணியை மிகவும் திறமையாக நிரப்பும் அந்த உன்னதமான நிரல்களில் ஒன்றாக ஆகிவிட்டது. மாற்றுகள் நிராகரிக்கப்படுவது மட்டுமல்ல, அனேகமாக மறந்தே போய்விடுகின்றன.

திறந்த மூல ஆவணங்களுக்குப் பங்களிப்பது எப்படி

பிறரின் நல்ல யோசனைகளை அவர்களே எதிர்பார்த்ததற்கு மேல் எடுத்துச் செல்லும் பொறியியல் திறன்

இது போன்ற முடிவை உங்களால் உண்மையில் குறிக்கோளாகவோ அல்லது திட்டமாகவோத் தொடங்க முடியாது என்று நினைக்கிறேன். மிகவும் சக்திவாய்ந்த வடிவமைப்பு யோசனைகளால் நீங்கள் அதில் இழுக்கப்பட வேண்டும். பின்னர் முடிவுகள் தவிர்க்க முடியாததாகவும், இயற்கையாகவும், முன்னரே தீர்மானிக்கப்பட்டதாகவும் தோன்றும். இதுபோன்ற யோசனைகளுக்கு முயற்சி செய்வதற்கான ஒரே வழி, நிறைய யோசனைகளைக் கொண்டிருப்பது. அல்லது பிறரின் நல்ல யோசனைகளை அவர்களே எதிர்பார்த்ததற்கு மேல் எடுத்துச் செல்லும் பொறியியல் திறனைக் கொண்டிருப்பதுதான்.

ஆண்டி டானென்பாம் (Andy Tanenbaum) IBM PC களுக்கேயான ஓர் எளிய யூனிக்ஸ் உருவாக்குவதற்கான முதலாவது யோசனையைக் கொண்டிருந்தார். இதை ஒரு கற்பித்தல் கருவியாகப் பயன்படுத்த உத்தேசித்தார். அவர் அதை மினிக்ஸ் (Minix) என்று அழைத்தார். லினஸ் டோர்வால்ட்ஸ் மினிக்ஸ் கருத்தை ஆண்டி ஒருகால் நினைத்ததை விட அதிகமாக முன்னேற்றினார். இதனால் அது அற்புதமான ஒன்றாக வளர்ந்தது. அதே வழியில் (சிறிய அளவில்தான் என்றாலும்), நான் கார்ல் ஹாரிஸ் மற்றும் ஹாரி ஹோச்ஹெய்சர் ஆகியோரின் சில யோசனைகளை எடுத்து அவற்றைத் தீவிரமாக முன்னேற்றினேன். நாங்கள் இருவரும் மக்கள் கற்பனை செய்வதுபோல ‘அசல் மேதைகள்’ அல்ல. கொந்தர் கட்டுக்கதைகளுக்கு மாறாக, பெரும்பாலான அறிவியல், பொறியியல் மற்றும் மென்பொருள் மேம்பாடு அசல் மேதைகளால் செய்யப்படுவதில்லை.

ஒவ்வொரு கொந்தரும் தங்கள் வாழ்நாளில் சாதிக்க முயலும் வெற்றியைப் போன்றே முடிவுகள் இருந்தன

உண்மையிலேயே ஒவ்வொரு கொந்தரும் தங்கள் வாழ்நாளில் சாதிக்க முயலும் வெற்றியைப் போன்றே முடிவுகள் கிளர்ச்சியூட்டுபவையாக இருந்தன! இதனால் எனது தரத்தை நான் இன்னும் உயர்த்த வேண்டியதாயிற்று. ஃபெட்ச்மெயிலை நான் இப்போது கண்டறிந்தது போல் சிறப்பாகச் செய்ய, எனது சொந்தத் தேவைகளுக்காக மட்டும் எழுதாமல், என்னை சுற்றியிருப்பவர்களைத் தாண்டியுள்ள மற்றவர்களுக்குத் தேவையான அம்சங்களையும் சேர்த்து ஆதரிக்க வேண்டும். அதே நேரத்தில் நிரலை எளிமையாகவும் வலுவாகவும் வைத்துக்கொண்டு அதைச் செய்யவேண்டும்.

இதை உணர்ந்த பிறகு நான் எழுதிய முதல் மற்றும் மிக முக்கியமான அம்சம் பலபெட்டியில் போடுதல் (multidrop). அதாவது, ஒரு பயனர் குழுவுக்கு அனைத்து அஞ்சல்களும் சேர்ந்திருக்கும் பெட்டிகளிலிருந்து அவற்றைத் திரளாகப் பெற்று, பின்னர் ஒவ்வொரு அஞ்சலையும் அவரவருக்கு அனுப்பும் திறன்.

பலபெட்டியில் போடுதல் ஆதரவைச் சேர்க்க நான் முடிவு செய்தேன். ஏனெனில் சில பயனர்கள் அதற்காகக் கூக்குரலிட்டனர். ஆனால் பெரும்பாலும் இது இரண்டுக்கும் பொதுவான நிரல் எழுதவேண்டி வருவதால் ஒருபெட்டியில் போடுதல் (single-drop) நிரலிலிருந்து வழுக்களை நீக்க வழிசெய்யும் என்று நினைத்தேன். அவ்வாறே நடந்தது. RFC 822 படி முகவரியை சரியாகப் பாகுபடுத்துவதற்கு (address parsing) எனக்கு மிக நீண்ட நேரம் எடுத்தது. அதில் எந்த ஒரு தனிப் பகுதியும் கடினமாக இருந்ததால் அல்ல, மாறாக அது ஒன்றுக்கொன்று சார்ந்த மற்றும் குழப்பமான விவரங்களின் குவியலைக் கொண்டிருந்ததால்.

உண்மையிலேயே ஒரு சிறந்த கருவி நீங்கள் எதிர்பார்க்காத வகையிலும் பயன்தரவேண்டும்

ஆனால் பலபெட்டியில் போடுதல் ஒரு சிறந்த வடிவமைப்பு முடிவாகவும் ஆகியது. நான் எப்படி அறிந்தேன் என்பது இங்கே:

மணிமொழி 14. எந்த ஒரு கருவியும் எதிர்பார்த்த விதத்தில் பயனுள்ளதாக இருக்க வேண்டும். ஆனால் உண்மையிலேயே ஒரு சிறந்த கருவி நீங்கள் எப்போதுமே எதிர்பார்க்காத வகையிலும் பயன்படவேண்டும்.

பலபெட்டியில் போடுதல் ஃபெட்ச்மெயிலின் எதிர்பாராத பயன் என்னவென்றால், இணைய இணைப்பின் பயனர் பக்கத்தில் வைத்திருக்கும் பட்டியலைக் கொண்டு அஞ்சல் பட்டியல்களை இயக்குதல் மற்றும் மாற்றுப்பெயர் விரிவாக்கம் (alias expansion) செய்தல். அதாவது ISP கணக்கின் மூலம் தனிநபர் கணினியை இயக்கும் ஒருவர், ISPயின் மாற்றுக் கோப்புகளை அணுகாமல் அஞ்சல் பட்டியலை நிர்வகிக்க முடியும்.

எனது பீட்டா-சோதனையாளர்கள் கோரும் மற்றொரு முக்கியமான மாற்றம் 8-பிட் MIME (8-bit Multipurpose Internet Mail Extensions) செயல்பாட்டிற்கான ஆதரவாகும். இதைச் செய்வது மிகவும் எளிதானது. ஏனென்றால் நிரலை 8-பிட் சுத்தமாக வைத்திருப்பதில் நான் கவனமாக இருந்தேன் (அதாவது, ASCII எழுத்துக்குறி தொகுப்பில் பயன்படுத்தப்படாத 8வது பிட்டை நிரலுக்குள் தகவல்களை எடுத்துச் செல்லும் வேலைக்குப் பயன்படுத்தாமல்). இந்த அம்சத்திற்கான தேவையை நான் எதிர்பார்த்ததால் அல்ல, மாறாக மற்றொரு விதிக்குக் கீழ்ப்படிவதால்:

மணிமொழி 15. எந்தவொரு நுழைவாயில் மென்பொருளையும் எழுதும் போது, தரவுப் பாய்வை முடிந்தவரை மாற்றம் செய்யாமல் விட முயற்சி செய்யுங்கள். அதாவது பெறுபவர் உங்களைக் கட்டாயப்படுத்தினால் ஒழியத் தகவலைத் தூக்கி எறிய வேண்டாம்!

நான் இந்த விதிக்கு கீழ்ப்படியவில்லை என்றால், 8-பிட் MIME ஆதரவு கடினமாகவும் தரமற்றதாகவும் இருந்திருக்கும். ஆகவே, MIME தரநிலையைப் (RFC 1652) படித்து, தலைப்பு-உருவாக்குவது (header-generation) மட்டும்தான் நான் செய்ய வேண்டியிருந்தது.

சில ஐரோப்பிய பயனர்கள் ஓர் அமர்வுக்கு பெறப்படும் செய்திகளின் எண்ணிக்கையைக் கட்டுப்படுத்தும் விருப்பத்தைச் சேர்க்கச் சொல்லி என்னைத் தொல்லை செய்தனர் (இதன்மூலம் அவர்கள் தங்கள் விலையுயர்ந்த தொலைபேசிப் பிணையங்களில் செலவுகளைக் கட்டுப்படுத்த இயலும்). நான் இதை நீண்ட காலமாக எதிர்த்தேன், இன்னும் நான் அதைப் பற்றி முழுமையாகத் திருப்தியடையவில்லை. ஆனால் நீங்கள் உலகத்திற்காக எழுதுகிறீர்கள் என்றால், உங்கள் வாடிக்கையாளர்களுக்கு நீங்கள் செவிசாய்க்க வேண்டும்—அவர்கள் உங்கள் தயாரிப்பை விலை கொடுத்து வாங்குவதில்லை என்பதால் இது மாறாது.

மூலநூல்: The Cathedral and the Bazaar by Eric S. Raymond – version 3.0

தமிழாக்கம்: இரா. அசோகன் ashokramach@gmail.com

நன்றி

  1. Learn Contributing to Open Source Documentation – Andrew Chalkley

இத்தொடரில் அடுத்த கட்டுரை: ஃபெட்ச்மெயில் கற்பித்த மேலும் சில பாடங்கள்

ஏவல் குறுமொழியை (imperative minilanguage) ஆங்கிலத்தைப் போலவே உருவாக்கலாமா? கணினி மொழி கணினிக்கு எளிதாக இருப்பதை விட மனிதர்களுக்கு வசதியாக இருப்பது முக்கியம். மற்றொரு பாடம் தெளிவின்மை மூலம் பாதுகாப்பு (security by obscurity) பற்றி.

%d bloggers like this: