ساحر القرن الأخير

ساحر القرن الأخير

“مبرمجوا الغد هم سحرة المستقبل.. ستبدو و كأنك تملك قوى خارقة مقارنة بالآخرين”  غابي نويل مؤسس شركةValve

 

 لا يختلف اثنان في الاقرار أن  المبرمج في عصرنا الحالي هو من يقود عجلة الابتكار و التطور . بيد أن الآخر يرى فيه صورة الساحر صاحب طلاسم غريبة .. قصتنا اليوم تتمحور حول العصا السحرية للمبرمج العاشق للحرية  !

 

الحرية في زمن الحوسبة السحابية

 

شئنا أم أبينا العالم يتطور بسرعة كل يوم.. كل ساعة.. لا بل كل لحظة .. ألحوسبة السحابية اصبحت أساس كل شيء رغم المخاطر التي تهدد معلوماتنا و لكن الا يمكن أن نجعل الحوسبة السحابية تحت السيطرة ؟ هل يمكن أن نستفيد من مزاياها لبناء برمجيات حرة مواكبة لتقنيات العصر بعيدة عن الطرق التقليدية؟ هذه الأسئلة كانت بداية طريقي في مشروع بحثي طويل سنة 2014 و الذي تحول فيما بعد الى مشروع تخرج او ما عرف لاحقا بـ Devbox

 

بيئات التطوير و مشكلةcross platform

 

انتقلت منذ اواخر 2012 الى جنو لينكس و اصبح هو الى اليوم نظامي الاساسي و اصبح بيئة تطويري المفضلة لكني وجدت مشكلة في المنهج الدراسي بسبب الدوت نت(.NET) . و اضطررت لتنصيب الوندوز بجانب جنو و هو ما أحبطني و بحثت عن بدائل لكن دون جدوى. كان الحل النهائي الاعتماد على بيئة تطوير ويب و ما أكثرهم ! التطبيقات الحرة منها كانت اما مكتوبة بجافاسكريبت و بسيطة للغاية أو أنها مكتوبة بـRails . مشكلة Rails ان استضافته صعبة و مكلفة مقارنة بالـphp

 

البرمجة في المناهج التعليمية

 

رغم ان تخصصي هندسة برمجيات الا اني لم اتعلم البرمجة في المدرسة . و الكثير يختارون البرمجة كمهنة مستقبلية لان راتبها عالي مقارنة بالمهن الاخرى او تحت ضغط العائلة . كنت أريد برمجة بيئة تطويرية حرة تستخدم لتدريس البرمجة و تساعد المدرسين في عملهم
ولادة Devbox و أجنحة Openstack
كل هذه الاسباب كانت الدافع لولادة Devbox . انهيت تطوير البيتا في ربيع 2015 و قمت بتجربته على Openstack و حصل المشروع على جائزة افضل مشروع تخرج لذلك العام و تم دعوتي فيما بعد الى تطاهرة وطنية احتفالا بـSoftware Freedom Day و لكن لظروف قاهرة عجزت عن الحضور . بعد اشهر قليلة دعاني الاستاذ المشرف على تأطيري و القيت محاضرة في جامعتي عن المشروع و آفاقه . الجميل في الموضوع أنه يمكنك حتى استضافة على سيرفر عادي يدعم الـphp ان لم تكن من محبي Cloud .

 

فشل و بداية جديدة

 

بسبب الدراسة و ضيق الوقت و الامكانيات توقفت عن تطوير المشروع و مررت بفترة فراغ و ظننت ان كل شيء انتهى الى ان تحدث الي اخي و صديقي العزيز علي و سالي عن أحوال المشروع و عرض على الانضمام الى مشروع أوروك و ادراج مشروعي تحت مظلته و كان هذا أفضل قرار اتخذته في حياتي . علي كان أول المعجبين و المناصرين للمشروع منذ أيامه الأولى . بمجرد انضمامي لمشروع أوروك ، وجدت فريق عمل صغير بأحلام كبيرة . وجدت كل الدعم سواء بكلمات التشجيع او توفير البنية التحتية او حتى المساهمة في الكود المصدري و التصميم بشكل عام .

 

نبذة عن مشروع أوروك

 

لمن لا يعرف مشروع أوروك هو عبارة عن مجتمع متكون من مجموعة من الاشخاص المتحفزين الذين يتشاركون عدد من الافكار القوية عن المجتمع الحر و الثقافة الحرة , جميعنا نساعد بعضنا البعض و نتشارك الاسباب نفسها لدعم و بناء المشاريع الحرة , مشروع اوروك يقدم مجموعة من الاهداف التي يتبعها اعضاء المجتمع و التي تعمل على تعزيز و تقوية ثقافة و برامج البرمجيات الحرة .تم اختيار اسم المشروع تيمناً بمدينة الوركاء العراقية. أوروك مظلة لعدة مشاريع فرعية لمطوري أوروك نذكر منها توزيعة أوروك جنو/لينكس المبنية على تريسكال و التي أحدثت ضجة على الانترنيت منذ اصدارها . يمكنكم أن تسألوا الشيخ غوغل عنها! لمزيد من المعلومات او التواصل مع المطورين تفضلوا بزيارة الموقع الرسمي هنا

 

الاصدار RC على الابواب

 

تجنبا لمشاكل العلامات المسجلة وقع تغيير اسم المشروع الى UrukCloudIDE . و نحن الان بصدد التحضير لاطلاق الاصدار RC قريبا. من مزايا البرنامج :
– دعم كل لغات البرمجة
– اضافة المشاريع و الملفات
– يتوفر على حسابي المدير و المطور مع امكانية الاتصال بالمدير
– خاصية Notification
– يعتمد على PSR4 autoloading و PSR2 coding standards
– يحتوي على db migration tool لتسهيل التعامل مع قواعد البيانات اثناء التطوير
– اضافة php cs fixer افتراضيا لتسهيل coding format عند المساهمة في الكود المصدري و العديد من المكتبات الاخرى اترك لكم حرية اكتشافها.
للاشارة فان الاسماء الرمزية للاصدارات مأخوذة عن السلسلة اليابانية الشهيرة JoJo’s Bizarre Adventure و سيحمل الاصدار المستقر الاول اسم Jonathan و هو اسم الشخصية الرئيسية في السلسلة.
جوناثان بطل سلسلة جوجو

 

كلمة الختام

 

نضرب لكم موعدا مع اصدار ٌRC و اذا كنتم فضوليين يمكن المسارعة في تجربة النسخة التطويرية من مستودع Github مشروع اوروك يرحب بكل مساهماتكم و مشاريعكم من أجل مزيد دعم البرمجيات الحرة عامة و المبرمجين العرب خاصة.

إقرا المزيد

أساسيات Git و البدايات مع NotABug – الدرس الثاني

بعد ان تعرفنا في التدوينة السابقة على نظام Git و كيفية التسجيل في موقع NotABug , سنكمل اليوم ان شاء الله التدوينة الثانية لنتعرف على كيفية انشاء مستودع في موقع NotABug و لنبدأ بسم الله :

بعد ان اكملنا التسجيل , و عند تسجيل الدخول الى الموقع ستظهر لك النافذة التالية :

( ملاحظة : انقر على الصورة لمشاهدتها بالحجم الكامل )

 

4ستلاحظ وجود علامتي زائد ( + ) في الشريط العلوي الازرق و اخرى داخل المربع الاخضر كما تشاهد في الصورة , قم بتحريك مؤشر الفأرة على اي واحد منهما لتظهر لك نافذة تحتوي على ثلاثة خيارات موضحة في الصورة التالية:

5اختر الخيار الاول (New Repository) و الذي يتيح لك انشاء مستودع جديد لمشروعك لتنتقل للنافذة التالية و التي تحتوي على الامور التالية:

6– الخانة الاولى تخص اسم المستودع و الذي ستشاركه مع الاخرين او يصبح كمعرف للمشروع ككل لذلك يجب اختيار الاسم بشكل جيد فهو بمثابة URL المشروع.

– ستلاحظ خانة اختيار (CheckBox) و هذه تعتبر مهمة جدا في بعض الاحيان اذ عند تعليمها يصبح المستودع شخصي و لن يكون ظاهرا للاخرين ما عداك و هذه الخاصية غير متوفرة في الاشتراك العام على GitHub كما ذكرنا في التدوينة السابقة و يعتبر ميزة قوية

– الخانة الثالثة خاصة بوصف المشروع , قم بكتابة وصف مختصر للمشروع و اهدافة بصورة مبسطة بعيدة عن التعقيد او التشابك في الافكار

– بالنسبة للنوافذ المنسدلة (Language ) فمنها نختار لغة البرمجة التي كتب بها المشروع او اللغة الاعم و (Licence ) نحدد منها الترخيص الخاص بالمشروع و كلا الخيارين غير الزامي و لكن يفضل و بشدة تحديد ترخيص المشروع حفاظا على الحقوق الرقمية و تلافيا للسرقة العلمية

سنقوم في هذه السلسلة من التدوينات بعمل مستودع باسم (testpy) لشرح الاوامر عليه , لذلك سنضع في الخانة الاولى اسم المستودع (testpy) و نكتب وصف بسيط عن المشروع و نحدد لغة البرمجة (Python) من القائمة (Language) و نختار الترخيص (GPL3) كترخيص للمشروع

الان بعد ان انتهيت من كتابة المعلومات اللازمة للمشروع انقر على الزر الازرق (Creat Repository) لانشاء المستودع و مبارك عليك المستودع الجديد بالرابط التالي :  (https://notabug.org/uruk/testpy) , و لنوضح اجزاء الرابط لاننا سنحتاجه فيما بعد :
-الجزء الاول من الرابط يحتوي على عنوان الموقع بشكل عام (https://notabug.org)

-الجزء الثاني يحتوي على اسم المستخدم وهو في مثالنا باسم (uruk) و الذي قمنا بانشاءه في التدوينة السابقة

-الجزء الثالث يحتوي على اسم المستودع و الذي في مثالنا باسم (testpy)

ليتكون الرابط بشكل عام متكونا من  ( اسم الموقع + اسم المستخدم + اسم المستودع ) وهو في مثالنا  (https://notabug.org/uruk/testpy) وهو عنوان المستودع , و طالما ان المستخدم بامكانه انشاء اكثر من مستودع في نفس الحساب لذلك سيكون التغير فقط في اسم المستودع الاخير

و لكن الان ماذا لو اراد المستخدم مسح المستودع بالكامل او الغاءه بشكل نهائي ؟

الامر ايضا بغاية السهولة فكل ما عليك هو النقر على Setting على يمين الشاشة لتنتقل الى نافذة الاعدادات :

9قم بالنزول للاسفل في نافذة الاعدادات لتجد زر (Delete This Repository)  كل ما عليك الان النقر لتظهر لك نافذة التاكيد التالية :

Screenshotاكتب اسم المستودع المراد حذفه بشكل صحيح في الخانة الاولى , و كلمة السر الخاصة بحسابك في الخانة الثانية ثم انقر على (Confirm Deletion) ليتم حذف المستودع مع الملفات نهائيا

و سوف نتعرف في التدوينة القادمة ان شاء الله على كيفية تثبيت Git على نظامك و التعامل مع اوامره لرفع الملفات و التحديث و المزامنة و اضافة الملفات

( اذا وجدت اي خطأ علمي او معلومة غير صحيحة او خطأ مطبعي الرجاء تنبيهنا عنه فنحن البشر خطاؤون و جل من لا يسهو )

إقرا المزيد

أساسيات Git و البدايات مع NotABug – الدرس الاول

اساسيات git و البدايات مع notabug

السلام عليكم
سنتحدث في هذه التدوينات ان شاء الله عن نظام Git و كيفية التعامل معه من خلال NotAbug بصورة مختصرة و مبسطة قدر الامكان من دون الخوض في غمار التفاصيل الدقيقة لتتعرف في النهاية كيفية انشاء و تعديل و مشاركة المستودعات , فلنبدأ:
حسنا , ماهو Git ؟
على حسب التعريف الرسمي لموقع Git فهو : نظام مجاني و مفتوح المصدر للتحكم في النسخ الموزع الغير مركزي او بالانجليزية (Git is a free and open source distributed version control system)
يبدو التعريف مربك نوعا ما او معقد !!! صحيح ؟
لنقم بتبسيط التعريف عن طريق مثال بسيط :
لنفترض انك مطور او مصمم وتعمل على مشروع معين , لذلك من المؤكد ان المشروع سيحتوي على تغيرات مستمرة و اضافات و تعديلات متكررة ( لانه برنامج او مشروع ممتاز ونشيط 🙂  ) و التي ادت الى عمل المشروع بشكل ممتاز و انتشاره بصورة جيدة , و هذا ادى الى طلب مطور اخر المشاركة في تطوير المشروع , شيء جميل , ربما يكون من المستطاع ان يتم التعاون فيما بينكم على تعديلات الشيفرات المصدرية سواء بالمراسلة او التقابل في مقهى او كازينو و التباحث و التعديل على الكود او المصدر , و لكن ماذا لو ازداد عدد اعضاء الفريق سيبدو من الصعب جدا ادارة العمل او قد يصبح من المستحيل احيانا في المشاريع الضخمة و الكبيرة ( كمشروع نواة لينكس )!!!
او لنفترض ان المشروع قد تم التعديل عليه و هذا التعديل احدث ضررا في الشفرة المصدرية و ادى الى حصول علل ادت الى عدم عمله بصورة صحيحة و الكارثة الاتعس انه لا توجد نسخة احتياطية اخرى من البرنامج عندما كان يعمل بصورة صحيحة ( يوم سيء و فأل مزعج فعلا 🙁  ) !!!
و هذه الامور حصلت بالفعل للكثير من المشاريع فما هو الحل في هذه الحالة ؟
هنا جاءت فكرة انشاء ادوات تقوم بعمل ادارة و مزامنة و مشاركة منظمة بين اعضاء الفرق لتسهيل العمل فيما بينهم و تنسيق الامور و عمل نسخ احتياطية للشفرة المصدرية ( بمعنى ادق حل المشاكل التي قمنا باستعراض بعضها ) و لعل اشهرها و افضلها على الاطلاق هو Git وهو ما سنتعلم كيفية التعامل معه .اعتقد ان التعريف اصبح واضحا الان .
تم انشاء Git من قبل لينوس تورفالدز Linus Torvalds في سنة 2005 للقيام بادارة تطوير نواة لينكس و الذي تطور فيما بعد و يصبح على ماهو عليه الان لتستخدمه كبرى الشركات مثل Google او facebook او twitter او ميكروسوفت و غيرها العديد من الشركات و المشاريع.
من مميزات ال Git امكانية تثبيته على العديد من الانظمة و التعامل معه مثل نظام جنو/لينكس او ووندوز او ماك او اس و يمتاز بسهولة التعامل مع اوامره و انشاء المستودعات Repository (المستودع من تسميته يمكن تشبيهه بالخزانة او الحاوية التي تجمع ملفات او مجلدات في مكان واحد لحفظها او مشاركتها فيما بعد , “و الذي سيأخذ حيز كبير من هذه الدروس” ) , كذلك امكانية رجوع التعديلات الى وقت سابق و محدد و الكثير غيرها من الامور .
يوجد العديد من التطبيقات الرسومية و تطبيقات الوب التي تتيح التعامل مع ال Git , و سنتعرف في هذه الدروس على كيفية استخدام NotAbug ( و الذي يتشابه كثيرا مع GitHub) على انظمة جنو/لينكس فما تطبقه في NotAbug من اوامر او تطبيق يمكن استخدامه في GitHub,
و لكن قبل ذلك ماهو NotAbug و GitHub اصلا ؟ و لماذا نستخدم NotAbug بدلا من GitHub ؟!!!!!!
NotAbug او GitHub هي مواقع انترنت ( او بتعبير اصح تطبيقات وب ) تتيح للمستخدم التعامل مع Git و انشاء المستودعات و مشاركتها , و لكن لماذا NotAbug ؟
لعل اهم الاسباب التي جعلتنا نختاره هو الرخصة الحرة تماما و توفر الكود المصدري له بشكل حر و شفاف على العكس من GitHub الذي كوده المصدري غير متوفر بشكل واضح و رسمي على الرغم من انه يحتوي على مشاريع حرة و مفتوحة المصدر .
الشيء الاخر هو ان NotAbug يحتوي على خصائص متاحة بالمجان لا يمكن استخدامها في GitHub مثل المستودع الخاص , فلو اردت مثلا ان تقوم بانشاء مشروع خاص بك لاي سبب كان سواء كان غير منتهي الانشاء او لمجرد الحصول على الخصوصية , يجب عليك ان تدفع مبلغا من المال شهريا( اشتراك شهري) للحصول على هذه الخدمة في GitHub , اما على صديقنا العزيز NotAbug فهو متاح بالمجان ( مع قبلة حب كبيرة 🙂  )
من اجل انهاء المهمة سنحتاج الى :
1- التسجيل في موقع NotAbug
2- انشاء مستودع على NotAbug
3- عمل نسخة من المستودع على جهازك و من ثم اضافة ملفات المراد رفعها على ال NotAbug
4- التعرف على اهم الاوامر لمزامنة الملفات مع المستودع الاصلي
لذلك نحتاج في البداية الى ايميل لاكمال عملية التسجيل لذلك  و سنفترض ان لديك ايميل , قم بالتوجه الى موقع NotAbug عن طريق الرابط التالي https://notabug.org/ لتظهر لنا النافذة التالية :

ملاحظة : خطوات التسجيل هي نفسها تقريبا على GitHub

( ملاحظة : انقر على الصورة لمشاهدتها بالحجم الكامل )

1
انقر على رز Register للانتقال الى صفحة التسجيل قم بادخال المعلومات المطلوبة كما في الصورة التالية :

2
مبارك عليك لقد تم التسجيل بشكل ناجح بالموقع
المرحلة التالية هي انشاء المستودع على الموقع و هذا ما سنتعرف عليه في التدوينة القادمة ان شاء الله.

( اذا وجدت اي خطأ علمي او معلومة غير صحيحة او خطأ مطبعي الرجاء تنبيهنا عنه فنحن البشر خطاؤون و جل من لا يسهو )

إقرا المزيد

تثبيت الحزم الديبيانية على ارتش لينكس

السلام عليكم

سنتحدث اليوم عن طريقة تثبيت الحزم الديبيانية على توزيعة ارتش لينكس , فكما هو معروف ان توزيعة ارتش لا تتعامل افتراضيا مع الحزم الديبيانية و الريدهاتية (deb , rpm) و توجد بعض الحزم تاتي فقط بهذه الصيغ !

و كما هو معروف ان لا شيء مستحيل في عالم جنو / لينكس لا سيما توزيعة ارتش لينكس المجنونة و سنعرف الان الى كيفية التثبيت عن طريق تثبيت dpkg ! تماما كما يتم في التوزيعات الديبيانية .

في البداية تاكد من تثبيتك لـ yaourt و ذلك عن طريق اضافة مستودعات AUR لملف
/etc/pacman.conf

الان قم بتثبيت dpkg عن طريق yaourt كالتالي:

yaourt -S dpkg
و اكمل خطوات التثبيت , بعد الانتهاء عندما تريد تثبيت اي حزمة ديبيانية قم بفتح الطرفية و توجه الى مسار الحزمة و نفذ الامر التالي :

sudo dpkg -i PACKAGE_NAME.deb

قم باستبدال PACKAGE_NAME باسم الحزمة لديك . و في حال كان لديك اكثر من حزمة استبدل PACKAGE_NAME بعلامة النجمة * لتثبيت كل الحزم في المسار المحدد

إقرا المزيد

بديل 1: تفعيل HTML5 بديل flashplayer بشكل كامل على متصفح فايرفوكس

السلام عليكم و رحمة الله  بركاته

سيتم في فقرة (بديل) نشر تدوينة بين فترة و اخرى لتتحدث عن بديل حر او مفتوح المصدر للبرامج المغلقة و خصوصا للمنتقلين لجنو/لينكس وسنبدأ اليوم مع المتوفي (سيء الصيت ) الفلاشبلاير flashplayer , اذ تفاجأت اليوم بتشغيل جميع فيديوات الفيسبوك لدي على الرغم من اتي لا استخدم الفلاشبلاير في نظامي منذ فترة طويلة مستبدلا اياه بتقنية HTML5 . حسنا لنختصر الكلام و نبدأ العمل :

في البداية توجه الى الرابط التالي : https://www.youtube.com/html5

لتظهر لك نافذة تفعيل HTML5

1

و لكن كما تلاحظ بانه لا يدعم بعض الصيغ او بعض انواع الدقة للفيديوات , لا مشكلة سنتعرف الى كيفية التفعيل كل ما عليك هو اتباع الخطوات التالية :

1- افتح لسان جديد في الفايرفوكس واكتب في شريط العنوان about:config كما موضح في الصورة

2

2- بعد ان تنقر بزر enter سيطلب منك تاكيد للدخول , انقر على الزر الازرق و اكمل

3

3- ستظهر لك نافذة اعدادات الفايرفوكس

4

, اكتب في خانة البحث التالي media.fragmented-mp4 كما موضح في الصور

5

, قم بتفعيل جميع الخيارات التي تظهر بالنقر المزدوج عليها لتحويل خانة Value الى TRUE ماعدى الاختيار  media.fragmented-mp4.use-blank-decoder  و المؤشر علية في الصورة التالية يجب تحويل قيمة Value الى false

6

4- الان قم بالبحث عن media.mediasource لتحويل جميع القيم التي تظهر الى TRUE بالنقر المزدوج عليها

7

5-الان ناتي للخطوة الاخيرة , قم بأعادة تحميل صفحة https://www.youtube.com/html5  ستلاحظ ان جميع الخيارات تم تفعيلها و اصبحت باللون الازرق

8

, كلما عليك فعله هو النقر على الزر الازرق لجعل مشغلك الافتراضي هو HTML5

9

و مبروك عليك التحرر من فلاشبلاير 🙂

==========================

 

تحديث (لغاية 1/1/2017):

في حال واجهتك هذه الرسالة :


libavcodec may be vulnerable or is not supported, and should be updated to play videos

عندها قم بالتاكد من تثبيتك او تحديث لحزمة  libav-tools ثم توجه الى

about:config

ثم ابحث عن القيمة

media.libavcodec.allow-obsolete

و غير قيمتها الى :

true

بعد ذلك ابحث عن :

media.decoder-doctor.notifications-allowed

و غير قيمتها الافتراضية الى :

MediaWMFNeeded,MediaWidevineNoWMFNoSilverlight

 

و اعد تشغيل المتصفح

إقرا المزيد

لماذا التنقل بين التوزيعات؟

ما هي افضل توزيعة ؟

ما هي افضل واجهة ؟

لماذا النظام يحتوي على العديد من التوزيعات ؟

لماذا هنالك العديد من مدراء البرامج و العديد من الحزم ذات الامتدادات المختلفة ؟

لماذا ﻻ استطيع الاستقرار على توزيعة معينة ؟

.

.

.

.

.

العديد منا ( اذا لم يكن الكل ) قد تبادر الى ذهنه هذه الاسئلة و تكررت في باله فلماذا اغلب المستخدمين ﻻ يستقرون على توزيعة اكثر من بضع شهور , و سرعان ما يعجب بتوزيعة اخرى لسبب او اخر !

سأحاول في الاسطر القليلة القادمة ان اجيب على هذه الاسئلة من تجربتي الشخصية و على الرغم من انها ليست بالتجربة الكبيرة و لكن اتمنى ان يستفاد البعض منها ان شاء الله .

في البداية و قبل كل شئ يجب معرفة بعض الامور الاساسية و الاتفاق على بعض الاسس .

اول شيء هو : ماهو هذا النظام و كيف نشأ ؟ و هل تسميته جنو/لينكسصحيحة ام لينكس هي اﻻصح ؟

بدأت الفكرة من العبقري ريتشارد ستالمن الذي اوجد مشروع جنو GNU “ و عمل عليه لسنوات عديدة ليعمل على مبدأ نظام يونكس UNIX “ و لكن ببرامج و ادوات تمت كتابتها بالكامل من الصفر , فبعد ان تم منع تداول نظام يونكس UNIX “ مجاناً اﻻ بعد شراء تراخيص من الشركة المالكة له , قرر ريتشارد ستالمن ان يقوم ببناء نظام تشغيل مشابه لنظام يونكس UNIX “ و لكنه مستقل بحد ذاته اي انه ﻻ يعتمد على اي شيء خاص بذلك النظام و بدأ المشروع في منتصف الثمانينيات و تحديدا في عام 1984 و قد بين ريتشارد ستالمن تسمية نظامه بأنه نوع من التلاعب بالالفاظ اذ ان الاسم “GNU” يمثل بالتحديد الحروف الاولى من العبارة “Gnu’s Not Unix” اي جنو ليس يونكس و هذا بحد ذاته تحدي كبير للشركة المالكة للنظام , لكن بقي امر اخر وهو نواة النظام و التي تمثل روح النظام , هنا بدأ القدر يساعد ريتشارد ستالمن اذ ظهر لينوس تورفالدزفي بداية التسعينيات و تحديدا في عام 1991 بنواته المسماة لينكس Linux” لتكتمل لوحة ريتشارد ستالمن و يظهر النظام بشكل كامل و طرح الى المستخدمين لتجربته , اذاً فالنظام يتكون من مشروعين منفصلين هما مشروع جنو GNU “ و نواة لينكس Linux” لهذا ﻻ يمكن تسميته بنظام جنو فقط او نظام لينكس فقط بل جنو/لينكس GNU/LINUX و تلفظ جنو سلاش لينكس

بعد هذه المقدمة السريعة جدا تبين ان النظام يتكون من ادوات جنو بنسبة كبيرة و نواة لينكس و هذا ينطبق على جميع التوزيعات , فمثلاً توزيعات ديبيان و هي من التوزيعات العريقة و الكبيرة تعمل على ادوات جنو و نواة لينكس , كذلك الحال مع اوبن زوزا او ريدهات او فيدورا او سلاكوير او ارتش او جنتو او غيرها من التوزيعات الام في النظام , فلا يوجد فرق بين توزيعة و اخرى سوى ببعض الامور الفرعية و لكن الاساس ثابت و هو ( العديد من ادوات جنو + نواة لينكس = نظام جنو/لينكس)

حسناً هل هذا يعني ان جميع التوزيعات متشابهة مع بعضها ؟

كلا , فنحن اتفقنا بأن الجوهر و اﻻساس هو واحد و لكن هذا ﻻ يعني جميع التوزيعات متشابهة , فالبعض قام بتطوير ادوات خاصة به و دمجها بالنظام و البعض الاخر قام باضافة تعديلات على النواة و غيرها من الامور الفنية مثل الحزم فدبيان و ما بني عليها تستخدم امتداد .deb و ريدهات و ما بني عليها يستخدم rpm , و البعض الاخر استخدم هذه الامتدادات لتوزيعاته الخاصة به و هكذا و لكن نكرر ان المبدأ هو واحد مع بعض الاختلافات .

لكن لماذا هذا التنوع في التوزيعات ؟

التنوع هو احد اكبر نقاط القوة في النظام , فهو يلبي جميع الاذواق و المتطلبات , فمثلا ديبيان توزيعة عملاقة شأنها شأن سلاكوير او ارتش او زوزا او ريدهات او غيرها من التوزيعات الام لكن رأى البعض انها ﻻ تلبي رغباته من حيث الشكل او السياسة او الادوات التي تأتي معها , فقامو بعمل تعديلات عليها و انشأوا توزيعاتهم الخاصة بهم كما حصل مع اوبونتو كمثال و التي ظهرت من ديبيان و التي تعتبر اسهل في التعامل من ديبيان نفسها و بسيطة للمستخدم الجديد و بواجهة مختلفة , و لكن البعض الاخر لم يرضى بهذا ايضا فقام بعمل التعديلات عليها ايضا و على الواجهة لتظهر لينكس منت و هكذا فالتنوع يلبي جميع الرغبات و لكل الفئات بدلاً من التقيد بشكل واحد و برامج واحدة و امور روتينية معقدة , و هذا التنوع يعطي للمستخدم كامل الحرية في الاختيار و التعامل ,

مما سبق يتظح لماذا تنوعت الواجهات فهي وجدت لتسهيل استخدام النظام من قبل المستخدم و لتلبية اذواق الجميع و هنا يتحكم ذوق المستخدم و قناعته بأن هذه الواجهة افضل من غيرها او انها تلائم مواصفات جهازه او ﻻ .

اﻻن نأتي الى السؤال الاهم لماذا عدم الاستقرار مع توزيعة معينة ؟

الاجابة بسيطة و هي المستخدم نفسه فلو رجعنا قليلا نلاحظ ان النظام يعمل على نفس الادوات و نفس النواة مع بعض الاختلافات البسيطة و لنأخذ تجربتي كمثال بسيط :

بدات تجربتي مع النظام بالصدفة عند سؤال احد الاصدقاء في الجامعة عن وجود نظام اخر غير الوندوز و الماك فأجاب بوجود لينكس و اعطاني قرص مضغوط يحتوي على اوبن زوزا على ما اتذكر كانت اصدارة 10 و لكن لم تنجح تجربتي معه بسبب صعوبة التثبيت و عدم امتلاكي للنت انذاك لارجع بعدها مع اوبونتو 10.4 التي ادهشتني بجمالها و الوانها الجميلة و لكن لم استخدمها كثيرا بسبب النت ايضا حتى بدأت فعليا مع 10.10 , وواجهت العديد من الصعاب معه بسبب تجربتي البسيطة و عدم انتشار النظام فالقليل جدا ممن سمعوا بالنظام و لكن بمساعدة صديقي العزيز عبد المجيب استطعت اﻻستمرار معها لفترة جيدة استمرت تقريبا 8 شهور خصوصا مع اوبونتو 11.4 و 11.10 و استمريت بالتنقل بين التوزيعات فقمت بتجربة ما ﻻ يقل عن 20 توزيعة مختلفة و لم استقر على توزيعة معينة , و لكن ما حصل اني كلما شاهدت فيديوات عبد المجيب و اعجابه باﻻرتش لينكس ازدادت الرغبة بتجربتها و بعد اكثر 12 محاولة لتثبيت الارتش ( كل محاولة ﻻ تقل عن ثمان ساعات متواصلة بسبب سرعة النت التي تصل الى 20k ) استطعت اخيرا من تثبيت النظام و ابهرني النظام بقابليته للتخصيص من حيث الحزم و تنوع الحزم و رغبت بتثبيت واجهة يونتي عليه و فعلا حصل هذا لي و قمت بعدها بتثبيت جميع الامور الخاصة باوبونتو على الارتش فأدركت حينها ان السبب هو بي انا كمستخدم فجميع الادوات موجودة على جميع التوزيعات تقريبا اﻻ ما ندر ,

مثلا المنتاري التي احدثت ضجة ما يفرقها عن اوبونتو هو بعض البرامج و الواجهة فقمت بتثبيت الواجهة و الادوات على نظامي دون الحاجة الى عمل فورمات و تثبيت المنتاري و الحال نفسه مع منت وواجهة سينامون او ماتيه و بهذا استطعت الاستقرار مع توزيعتي دون الحاجة الى تغييرها , كذلك الحال عند استخدامي ديبيان قمت بتثبيت جميع الامور التي ارغب بها دون الحاجة الى تغيير النظام …..

و نصيحتي لكل مستخدم لنظام جنو لينكس هو الاستقرار على توزيعة معينة وواجهة محددة حسب احتياجاته و رغباته كي ﻻ يصاب بالملل و التعب من التنقل بين التوزيعات و بالتالي النقم على النظام …

اتمنى ان تكون الفكرة قد وصلت الى الجميع ان شاء الله

مع امنياتني للجميع بالخير و الموفقية الدائمة ان شاء الله ( و الاستقرار مع التوزيعات و الواجهات 🙂 )

hayder ctee

إقرا المزيد