ہفتہ، 15 دسمبر، 2007

مونو (Mono) میری نظر سے

منگوئل ڈی اکازا صاحب جن کی جوہر شناس نظروں نے ڈاٹ نیٹ کے ابتدائی دور سے ہی بروا کے چکنے چکنے پات پہچان لیے تھے۔ اسی دوران انھوں میں سی شارپ میں بطور مشق سی شارپ کا ہی ایک عدد کمپائلر لکھا۔ کمپائلر وہ سافٹویر ہوتا ہے جو ہائی لیول لینگوئج جیسے جاوا، سی شارپ وغیرہ کو مشین کوڈ یعنی صفر ایک کے "قابل پڑھائی" کوڈ میں بدلتا ہے تاکہ کمپیوٹر اسے سمجھ سکے اور اس پر عمل بھی کرسکے۔ زیمین وہ کمپنی تھی جس میں یہ صاحب کام کررہے تھے۔ زیمین ایک مرحوم کمپنی ہے جو لینکس اور یونکس کے لیے آزاد سافٹویر بنانے میں خاصی مشہور تھی بعد میں اسے نووِل نے خرید لیا اور آج کل اس کے ڈویلپرز نووِل کے انڈر ہی کام کررہے ہیں۔ سو بات یہاں پہنچی کی زیمین کو بھی منگوئل صاحب کا آئیڈیا پسند آٰیا اور انھوں نے ڈویلپرز کی اکھاڑ پچھاڑ کرکے ایک عدد پراجیکٹ تشکیل دے ڈالا جس کا نام مونو رکھا گیا۔ اس کے بارے میں پہلا اعلان مورخہ 19 جولائی 2001 کو ایک کانفرنس میں کیا گیا۔Mono
مونو کا پہلا ورژن تین سال کی محنت کے بعد 30 جون 2004 میں جاری کیا گیا جسے مونو 1.0 کہا جاتا ہے۔
مونو کا نشان ایک بندر ہے۔ ہسپانوی میں مونو بندر کو کہتے ہیں۔
مونو مائیکرو سافٹ ڈاٹ نیٹ فریم ورک کا آزاد مصدر متبادل ہے اور اس کا مقصد بھی یہی ہے کہ ڈاٹ نیٹ کو لینکس ،یونکس، بی ایس ڈی اور میک تک پھیلایا جائے۔ مائیکرو سافٹ کے ایک بیان کے مطابق وہ تحقیق و تلاش کے سلسلے میں مختص اپنے وسائل کا اسی فیصد ڈاٹ نیٹ پر خرچ کررہے ہیں۔ یہی وجہ ہے کہ ڈاٹ نیٹ فریم ورک بہت تیزی سے ترقی کررہا ہے اور اس میں شامل زبانوں کا ڈھیر ہی لگتا جارہا ہے۔ ڈاٹ نیٹ فریم ورک ایک پھر دو، تین اور اب 3.5 موجود ہے۔ اس رفتار کا مقابلہ کرنا مونو جیسے پراجیکٹ کے لیے شاید ممکن بھی نہیں۔ تاہم اس وقت مونو کی صورت حال یہ ہے کہ اس کے تازہ ترین ورژن 1.2.6 بتاریخ 12 دسمبر 2007 میں سی شارپ 2 اور وژوئل بیسک ڈاٹ نیٹ مع سی شارپ 3 کی جزوی سپورٹ موجود ہے۔ ونڈوز ڈاٹ فارمز اور دوسری اے پی آئیز کی سپورٹ ابھی تک مکمل نہیں ہے۔ ڈاٹ نیٹ فریم ورک 3 کی سپورٹ تجرباتی ورژن بنام اولیو تلے ارتقائی مراحل میں ہے تاہم ابھی اس کو جاری کرنے کا کوئی امکان نہیں۔
میں تکنیکی باتوں میں جانے سے قاصر ہوں چونکہ اتنا علم میرے پاس نہیں کہ اس کی وضاحت کرسکوں۔ مونو کی تاریخ کے سلسلے میں معلومات انگریزی وکی پیڈیا اور اس کی آفیشل سائٹ سے لی گئی ہیں۔ میں اس کے دوسرے پہلوؤں پر کچھ گفتگو کرنا چاہوں گا۔
مونو مائیکرو سافٹ کے ملکیتی مال کی اوپن سورس نقل ہے۔ اور اس میں مائیکرو سافٹ کی ہی پینٹنٹ شدہ کچھ ٹیکنالوجیز بھی استعمال کی جارہی ہیں۔ اے ایس پی۔ نیٹ، اڈو۔ نیٹ اور ونڈوز فارمز نامی کئی حصے ایسے ہیں جو مونو میں اس لیے شامل ہیں تاکہ اسے ونڈوز کے ساتھ مشابہہ رکھا جاسکے۔ لیکن ان کی بنیاد پر مائیکرو سافٹ مونو پر مقدمہ بھی کرسکتا ہے۔ مونو کا سب سے بڑا سپانسر نوویل ہے۔ نوویل اوپن سورس حلقوں میں ایک متنازعہ کمپنی کے طور پر جانی جاتی ہے۔ ریڈ ہیٹ کی طرح یہ سوسی لینکس انٹر پرائز ایڈیشن کے نام سے ایک لینکس او ایس تیار کرتی ہے۔ سوسی لینکس کا ایک عدد کمیونٹی ورژن بھی ہے جو اوپن سورس کے عمومی فلسفے کے تحت مل جل کر تیار اور جاری کیا جاتا ہے۔ نوویل مائیکرو سافٹ کے ساتھ مل کر کام کرنے کو برا نہیں سمجھتی۔ اس سلسلے میں اس نے مائیکرو سافٹ سے کئی ایک معاہدے بھی کررکھے ہیں جیسے لینکس اور ونڈوز سرورز کے مابین ہم آہنگی پیدا کرنے کا معاہدہ۔۔اس کے ساتھ مائیکرو سافٹ کئی کمپنیوں کے ساتھ ایک دوسرے پر پیٹنٹ مقدمات نہ کرنے کے معاہدے بھی کرچکی ہے جس میں نوویل بھی شامل ہے۔
اوپن سورس والوں کو اعتراض اس بات پر ہے کہ مائیکرو سافٹ پر اعتبار کیونکر کیا جائے۔ پچھلے بیس سالوں میں م س نے جب چاہا اپنے معیارات بدل ڈالے، اس کے معاہدوں کا اعتبار نہیں اور اسے صرف اپنی اجارہ داری قائم رکھنے سے غرض ہے تو ڈاٹ نیٹ کو اوپن سورس میں کیوں قبول کیا جائے۔ اوپن سورس کا یہ اعتراض کہ کل کو اگر م س نے اپنے اس معاہدے کی خلاف ورزی کرتے ہوئے مونو پر مقدمہ کردیا تو یہ پراجیکٹ تو ٹائیں ٹائیں فش ہوجائے گا۔ نیز مونو صرف اور صرف ڈاٹ نیٹ کی نقل ہے چناچہ م س جب چاہے اپنے معیارات آئندہ آنے والے ورژنوں میں بدل کر مونو کی ساری ترقی کا بیڑہ غرق کرسکتا ہے۔
لیکن بعض لوگ مونو کے سلسلے میں بہت پرامید ہیں۔ بلاشبہ م س نے ڈاٹ نیٹ میں اب تک کی تمام اہم زبانوں کی خوبیاں سمو دی ہیں۔ سی، سی پلس پلس اور جاوا کے بہترین فیچرز سی شارپ میں موجود ہیں۔ سب سے اہم بات ڈاٹ نیٹ کا جاوا کے بائٹ کوڈ کی طرح کا طرز عمل ہے۔ ڈاٹ نیٹ کی درجن بھر سے زیادہ زبانیں پہلے ایک انٹرمیڈیٹ لینگوئج میں ترجمہ ہوتی ہیں جہاں سے اس کو ڈاٹ نیٹ فریم ورک مشین کوڈ میں تبدیل کرتا ہے۔ یہ خوبی ان تمام زبانوں کے کوڈ کو ایک دوسرے کی کلاسز استعمال کرنے کی اجازت دیتی ہے۔ جاوا میں یہی کام جاوا رن ٹائم انوائرمنٹ کرتا ہے لیکن اس میں صرف جاوا کا بائٹ کوڈ ہوتا ہے جو کہ پلیٹ فارم کی قید سے آزاد ہوتا ہے۔ ڈاٹ نیٹ میں کوڈ نہ صرف پلیٹ فارم کی قید سے آزاد ہے بلکہ جاوا کی طرح صرف جاوا میں لکھنے کی قید نہیں۔ آپ سی شارپ استعمال کرسکتے ہیں، وی بی ڈاٹ نیٹ اپنی پیشرو وی بی 6 سے بہت حد تک ملتی جلتی ہے اسے آزمائیں۔ جاوا شارپ موجود ہے جو جاوا کو ڈاٹ نیٹ سے ملاتی ہے۔ پائتھون کے لیے بھی آئرن پائتھون کے نام سے ایک زبان موجود ہے۔
پچھلے چھ سال سے مونو لینکس یونکس مارکیٹ میں پہچانا جارہا ہے اور 3 سال سے اس کے مستحکم ورژن مارکیٹ میں موجود ہیں۔ سوال یہ اٹھتا ہے کہ لوگ اب بھی مونو کا نام ہی کیوں جانتے ہیں؟ اس سلسلے میں کئی قسم کی رکاوٹیں موجود ہیں۔ مونو کو اوپن سورس برادری کا اعتبار شاید ابھی مکمل طرح سے حاصل نہیں ہوسکا۔ اس میں کچھ بگز بھی موجود ہیں۔ بیگل ایک ڈیسکٹاپ تلاش گر ہے لیکن اکثر اوقات جب یہ چلے تو میموری لیک ہونے کی شکایت کی جاتی ہے۔ یعنی آپ کا سسٹم یکلخت کی میموری کے قحط میں مبتلا ہوجاتا ہے۔ پچھلے دنوں میں نے ایک مونو میں بنا ہوا فائل مینجر اتارا۔ یہ چند کلو بائٹس کا ڈیبین پیکج تھا۔ لیکن جب میں نے اسے اپنے کبنٹو سسٹم پر انسٹال کرنے کےلیے چلایا تو موصوف نے مجھے 73 پیکجز کی ڈیپنڈنسی لسٹ پکڑا دی۔ لینکس میں ڈیپنڈنسی سے مراد وہ سافٹویرز یا پیکجز ہوتے ہیں جو پروگرام چلنے کے لیے مطلوبہ سپورٹ و ماحول فراہم کرتے ہیں۔ ان پیکجز میں مونو کے پیکج بھی شامل تھے۔ بتانا یہ مقصود تھا کہ مونو کو ابھی تک ڈسٹروز میں آفیشلی شامل نہیں کیا گیا۔ چاہیے تو یہ کہ اسے ڈسٹرو کی انسٹالیشن سی ڈی میں شامل کیا جائے نا کہ متعلقہ پروگرام کی تنصیب کے وقت صارف کو اسے اتارنا پڑے۔
مونو میں ابھی تک تجارتی استعمال کے لیے کوئی خاص اطلاقیہ سوائے آئی فولڈر کے نہیں لکھا جاسکا۔ البتہ ڈیسک ٹاپ کے لیے کافی اطلاقیے یعنی ایپلی کیشنز لکھی جاچکی ہیں۔ جو خاصے مقبول بھی ہوئے ہیں۔ کچھ دن ہوئے میں نے پالڈو کے بارے میں سنا جس کا پیکجنگ سسٹم یو پیکج نامی ایک نظام پر مشتمل ہے جو مونو اور ایکس ایم ایل کو استعمال کرتے ہوئے بنایا گیا ہے۔ کئی ایک اطلاقیے اور پروجیکٹس ایسے ہیں جن میں مونو کا استعمال جان کر آپ حیران رہ جائیں گے۔ ان میں وکی پیڈیا بھی شامل ہے جو اپنے تلاش کے نظام کے لیے مونو کی بنیاد پر بنے ہوئے اطلاقیوں سے کام لیتا ہے۔
مونو ابھی اتنا مقبول نہیں جتنا ڈاٹ نیٹ ہوچکا ہے۔ لیکن اس کی بنیاد پر بننے والے اطلاقیے اب منظر عام پر آرہے ہیں۔ مونو کا مستقبل بلاشبہ روشن ہے۔ اس پراجیکٹ نے مجھے متوجہ کیا کہ میں ڈاٹ نیٹ سیکھوں۔ پچھلے کچھ دن سے میں اس سلسلے میں کچھ کام کررہا ہوں۔ مونو کو بنیاد بنا کر شاید میں سی شارپ یا وی بی ڈاٹ نیٹ نہ سیکھ سکوں لیکن سیکھنے کے بعد میں مونو میں پروگرامز لکھنا پسند کروں گا۔ آپ بھی اسے ٹرائی کیجیے اور یقین کریں آپ مایوس نہیں ہونگے۔

4 تبصرے:

  1. آپکی پوسٹ پڑھ کر تو لگتا ہے کہ یہ م س والوں‌ کی ہمارے ہاں‌ یعنی لینکس میں نقب لگانے کی ایک اور کوشش ہے۔ اللہ میاں‌ خیر کرے۔

    جواب دیںحذف کریں
  2. شاید
    لیکن لینکس کو ملکتی سافٹویرز کے ساتھ چلنا ہوگا اگر اسے صارف دوست بننا ہے تو۔

    جواب دیںحذف کریں
  3. معذرت کے بر وقت تبصرہ نہیں کر سکا۔ مضمون بہت تحقیق کے بعد لکھا گیا ہے اور ماشاء اللہ خشک موضوع کو کافی دلچسپ بنا کر لکھا ہے۔
    کیا آپ کے علم میں ہے کہ مونو پر کوئی سنجیدہ ایپلیکیشن بنی ہو؟ کیونکہ دیکھنے میں یہ آیا ہے کے اگر کوئی ڈاٹ نیٹ پر ڈیویلپمنٹ کا ارادہ کرتا ہے تو پھر شاذ و نادر ہی لینکس کا انتخاب کرتا ہے۔ بہر حال ایک متبادل کے طور پر تو یہ موجود ہے لیکن لینکس پر جاوا یا لیمپ کو مات دینے کے لیے شاید ابھی کچھ وقت لگے گا۔

    جواب دیںحذف کریں

براہ کرم تبصرہ اردو میں لکھیں۔
ناشائستہ، ذاتیات کو نشانہ بنانیوالے اور اخلاق سے گرے ہوئے تبصرے حذف کر دئیے جائیں گے۔