الخميس، 24 أكتوبر، 2013

أول توزيعة لينكس استعملتها

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

لازلت احتفظ في أدراج مكتبي بعلبة أول توزيعة لينكس اشتريتها مع أقراصها عام 1999 من معرض للكتاب في عنابة، وهي توزيعة ريدهات 5.0 (قبل أن تنشطر إلى RHEL وفيدورا)، حيث استعملتها على أول حاوسب لي كان بمعالج i486. 


الجمعة، 11 أكتوبر، 2013

نجاح لينكس كنظام سطح مكتب

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

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

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

وليعذرني هواة البرمجيات الحرة إن قلت لهم أن هذه الشروط الأربعة قلّ ما تتوفر في مشروع لا تدعمه شركة مرموقة. من يستقرئ تاريخ تطور البرمجيات سيجد أن جل المشاريع الناجحة الكبيرة، وحتى المفتوحة منها، تقف وراءها شركات معتبرة. لعل الاستثناءات القليلة هنا هي خادم أباتشي ومترجم جنو في بداياته ونواة لينكس في مقتبل عمرها أيضا.أما اليوم فمطورو معالجات الحواسيب من أكبر المساهمين في مترجم جنو والشركات التي تقف وراء نواة لينكس مثل آي بي أم وريدهات ونوفال وإينتل غنية عن التعريف. وربما لم نجانب الصواب إذا قلنا أن نسبة البرمجيات التطوعية إلى نسبة البرمجيات التي تتدعمها الشركات مثل نسبة الزراعة التقليدية إلى الزراعة المصنعة.
أيضا من يسبر سوق الحواسيب المكتبية التي يسيطر عليها الويندوز و بدرجة أقل الماك، سيرى أن هذه الشروط الأربعة التي ذكرت (النضج، الثبات، التوثيق والبيئة البرمجية المتكاملة) متوفرة في هاذين النظامين بسبب الدعم المتواصل لهما لأزيد من عقدين من الزمن من أكبر شركتين تقريبا في تكنلوجيا الحاسوب (ميكروسوفت وآبل). فواجهة ويندوز الرسومية نضجت مع نسخة سنة 95 بل واستوت مع إصدار XP SP2، وهي ثابتة إلى حد كبير وموثقة جيدا وتلقى دعما متواصلا ولها أكثر من بيئة تطوير متكاملة. ونفس الشيء تقريبا يقال بالنسبة لواجهة الماك الرسومية خصوصا منذ الإصدار العاشر.

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

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

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

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

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

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