دبيان نظام التشغيل الحر، تعرف عليه وعلى دورة حياة اصداراته

debian
1
لينكس -كما تعلم- مجرد نواة. لذلك من الخطأ أن يقال ”توزيعة لينكس“ أو ”نظام لينكس“: فهي في الحقيقة توزيعات أو نظم تعتمد على لينكس. تغفل هذه العبارات ذكر البرمجيات التي تستخدم دوماً لإكمال هذه النواة، ومنها البرامج التي طورها مشروع غنو (GNU).

يُصرُّ د. ريتشارد ستولمن، مؤسس مشروع غنو (GNU)، على ضرورة استخدام العبارة ”غنو/لينكس“، للاعتراف بالإسهامات المهمة التي قدمها مشروع غنو ولإظهار مبادئ حرية البرمجيات بشكل أفضل. اختار دبيان اتباع هذه التوصية، ولذلك يسمّي توزيعاته حسب هذه النصيحة. كما يمكنك التعرف أكثر على هذا الاصرار في التسمية من خلال التوجه للمقال التالي: لماذا يجب أن نقول غنو/لينكس .. أسئلة شائعة يجيبها مطور المشروع ريتاشرد ستولمون.

مقدمة قصيرة حول دبيان

دبيان هي توزيعة GNU/Linux ونظام تشغيل كامل، يتضمن برمجيات ونظم تثبيت وإدارة، وكل ذلك يعتمد على النواة Linux (لينكس) أو FreeBSD وعلى البرمجيات الحرة (خصوصاً المأخوذة من مشروع GNU). عندما أنشأ Ian Murdock (إيان موردك) دبيان عام 1993، تحت لواء FSF (مؤسسة البرمجيات الحرة).كانت عنده أهداف واضحة، عبّر عنها في Debian Manifesto (بيان دبيان).
كان لنظام التشغيل الحر الذي أراده ميزتين أساسيتين. أولاً، الجودة: يجب تطوير دبيان بكل حرص، حتى تستحق استخدام النواة لينكس. كما يجب أن تكون توزيعة غير تجارية، لكن موثوقة بما يكفي لتنافس التوزيعات التجارية الكبيرة. لم يكن تحقيق هذا الطموح المزدوج ممكناً، حسب رؤيته، إلا بفتح عملية تطوير دبيان كما هو حال لينكس ومشروع GNU. وهكذا، سوف تحسن مراجعة النظراء المنتج باستمرار.يحوي دبيان أكثر من 29,000 حزمة مصدرية (برنامج).
من حيث الجودة، فإن سياسة دبيان وفترة الاختبار الطويلة قبل إصدار نسخة مستقرة جديدة تبرر سمعة المشروع في الاستقرار والتناسق. وبالنسبة للتوافر، فكل شيء متاح على النت عبر مرايا عديدة حول العالم، مع رفع التحديثات كل ست ساعات.
يبيع العديد من تجار التجزئة أقراص CD-ROM على الإنترنت بأسعار مخفضة جداً (غالباً بسعر التكلفة)، التي يمكن تنزيل ”صورها“ مجاناً. هناك عيب واحد فقط: الزمن الطويل بين إصدارات النسخ المستقرة الجديدة (أحياناً يستغرق تطويرها أكثر من عامين)، الذي يؤخر تضمين البرمجيات الجديدة.

دورة حياة دبيان

للاطلاع على الصورة بدقة أفضل يرجى الضغط هنا 

infographic_debian-v0.8.en

يحوي مشروع دبيان ثلاث أو أربع نسخ مختلفة في الوقت نفسه، تسمى تجريبية، غير مستقرة، اختبارية، ومستقرة. كل واحدة توافق مرحلة مختلفة من التطوير. لفهم الوضع بشكل جيد، دعنا نلقي نظرة على رحلة البرنامج، منذ التحزيم الأولي حتى إضافته إلى النسخة المستقرة من دبيان.
يشير المصطلح ”إصدار“ (release) ‒في مشروع دبيان‒ لنسخة محددة من التوزيعة (مثلاً، ”unstable release“ يعني ”النسخة غير المستقرة“). كما يشير إلى الإعلان العام عن إطلاق أي نسخة (مستقرة) جديدة.

الحالة التجريبية

دعنا في البداية نلقي نظرة على على الحالة الخاصة للتوزيعة Experimental (التجريبية): هذه عبارة عن مجموعة من حزم دبيان التي تحوي برمجيات قيد التطوير، ولا يشترط أن تكون مكتملة، من هنا جاء الاسم. لا يستطيع كل شيء عبور هذه المرحلة؛ يضيف بعض المطورين هنا للحصول على ملاحظات من المستخدمين الأكثر خبرة (أو المستخدمين الشجعان).
فيما عدا ذلك، تستضيف هذه التوزيعة بين الحين والآخر التعديلات المهمة على الحزم الأساسية، التي سينتج عن إضافتها إلى غير المستقرة آثار خطيرة إذا وجدت فيها علل قاتلة. لذلك تعزل هذه التوزيعة بالكامل، ولا تهاجر حزمها أبداً إلى النسخ الأخرى (إلا عن طريق تدخل المشرف أو ftpmasters بشكل واضح ومباشر).
كما أنها ليست مستقلة بذاتها: فلا تحوي إلا مجموعة فرعية من الحزم، وهي لا تشمل النظام الأساسي عموماً. إذن، لا تفيد التوزيعة التجريبية إلا إذا جُمِعَت مع توزيعة أخرى مستقلة، مثل غير المستقرة.

الحالة غير المستقرة

autobuilder (1)

دعنا نلتفت إلى حالة الحزم النموذجية. يُنشِئ المشرف حزمة أولية، التي يترجمها للنسخة Unstable (غير المستقرة) من دبيان ويضعها على مخدم ftp-master.debian.org. هذا الحدث الأولي يستدعي تدقيق ومصادقة ftmasters. بعدها يصبح البرنامج متاحاً في التوزيعة غير المستقرة، وهي التوزيعة الأحدث التي يختارها المستخدمون الذين يهتمون بالحصول على أحدث الحزم أكثر مما تهمهم العلل الخطيرة. يكتشف هؤلاء البرنامج إذاً ويختبرونه.
إذا واجهتهم مشاكل، سوف يبلغون عنها إلى مشرف الحزمة. بعدها يحضر المشرف نسخاً مصححة بانتظام، التي يرفعها إلى المخدم.
كل تحديث جديد للحزمة ينتقل لجميع مرايا دبيان حول العالم خلال ست ساعات. بعدها يستطيع المستخدمون اختبار التصحيحات والبحث عن أي مشاكل أخرى نتجت عن التعديلات. قد تجري بعدها تحديثات عديدة سريعة. خلال هذه الفترة، تنطلق روبوتات البناء الآلي (autobuilder) للعمل.
في أغلب الأحيان، يملك المشرف حاسوباً شخصياً تقليدياً وحيداً ويترجم حزمته على المعمارية amd64 (أو i386)؛ تتولى البانيات الآلية (autobuilders) العمل وتترجم نسخاً لجميع المعماريات الأخرى آلياً. قد تفشل بعض الترجمات؛ عندها سيستقبل المشرف تقرير علة يوضّح المشكلة، التي تصحح لاحقاً في النسخ التالية. أما إذا اكتشف العلة أحد الخبراء في المعمارية المذكورة، فقد يرفق رقعة جاهزة للاستخدام بتقرير العلة.

الهجرة إلى الاختبارية

بعد مدة، تنضج الحزمة؛ وتترجم على جميع المعماريات، كما لن تجرى عليها أي تعديلات جديدة لفترة من الزمن. عندئذ تُرشَّح للتضمين في التوزيعة الاختبارية (Testing) — وهي مجموعة من الحزم غير المستقرة المختارة وفقاً لمعايير محددة. كل يوم يختار برنامج آلي الحزم التي ستضاف إلى الاختبارية، حسب مجموعة من العناصر التي تضمن مستوى معين من الجودة:
  1. عدم وجود علل حرجة، أو على الأقل، أن تكون العلل الحرجة أقل مما هي في النسخة الموجودة حالياً في الاختبارية؛
  2. قضاء 10 أيام على الأقل في غير المستقرة، وهذه فترة كافية للعثور على أي مشاكل خطيرة والإبلاغ عنها؛
  3. نجاح ترجمة الحزمة على جميع المعماريات المدعومة رسمياً؛
  4. يجب أن تكون اعتماديات الحزمة قابلة للحل في الاختبارية، أو أن يمكن على الأقل نقل اعتمادياتها معها.
من الواضح أن هذا النظام ليس معصوماً عن الخطأ؛ فالعلل الحرجة تظهر بانتظام في الحزم المضمنة في الاختبارية. مع ذلك، فهو فعال عموماً، والمشاكل التي تبرز فيالاختبارية أقل بكثير من التي تجدها في غير المستقرة، وبذلك تكون للعديد من الأشخاص حلاً وسطاً مقبولاً بين الاستقرار والحداثة.

الترقية من الاختبارية إلى المستقرة

release-cycle

دعنا نفترض أن حزمتنا وصلت الآن إلى الاختبارية. طالما أن هناك مجال للتحسين، يجب أن يتابع المشرف على الحزمة تحسينها وإعادة بدء العملية من غير المستقرة (لكن إضافتها لاحقاً إلى الاختبارية تكون أسرع عموماً: فإذا لم تتغير بشكل كبير، ستكون كل اعتمادياتها موجودة مسبقاً). عندما تصل إلى المثالية، ينتهي عمل المشرف.
الخطوة التالية، هي تضمينها في التوزيعة المستقرة (Stable)، وما هي ‒في الواقع‒ إلا نسخة بسيطة من الاختبارية في لحظة محددة يختارها مديرو الإصدار. في الحالة المثالية، يُتَّخذ هذا القرار عند جاهزية المُثبِّت، وعندما لا يحوي أي برنامج في الاختبارية أي علل حرجة.
بما أن هذه اللحظة لن تصل أبداً في الحقيقة، يجب أن يضحي دبيان عملياً: إما بإزالة الحزم التي لا يتمكن مشرفوها من تصحيح عللها في الوقت المناسب، أو الاتفاق على إصدار توزيعة تحوي بعض العلل من بين آلاف البرامج. يعلن مديرو الإصدار قبل هذا عن فترة تجميد، تحتاج أثناءها كل التحديثات التي تصل إلى الاختبارية للموافقة. الهدف هنا منع دخول أي نسخة جديدة (مع عللها الجديدة)، وقبول التحديثات التي تصحح العلل السابقة فقط.

مسار الحزمة بين نسخ دبيان المختلفة

debian-package-lifecycle

 في نهاية الرحلة

أصبحت حزمتنا المفترضة في التوزيعة المستقرة. توضح هذه الرحلة، التي لا تخلو من الصعوبات، التأخيرات الكبيرة التي تفصل إصدارات دبيان المستقرة. يساهم هذا إجمالاً في سمعة دبيان بمجال الجودة. بالإضافة لذلك، غالبية المستخدمين يرضون باستخدام إحدى التوزيعات الثلاث المتوفرة في كل الأوقات.
فمديري النظم، الذين تهمهم استقرارية مخدماتهم أكثر من أي شيء، لا يحتاجون آخر صيحات النسخة الحديثة من GNOME؛ يستطيعون اختيار دبيان المستقرة، وسيكونون راضين. أما المستخدمون النهائيون، الذين تهمهم إصدارات GNOME أو KDE الأخيرة بدلاً من الاستقرارية التي لا تهتز، سيجدون دبيان الاختبارية حلاً وسطاً مقبولاً بين الحصول على أحدث البرمجيات وبين عدم وجود مشاكل كبيرة.
أخيراً، المطورون والمستخدمون الأكثر خبرة يستطيعون تمهيد الطريق عبر اختبار أحدث التطورات في دبيان غير المستقرة في منبعها، على حساب أوجاع الرأس وملاقاة العلل التي تظهر في كل النسخ الجديدة من البرامج. لكل واحد دبيان خاص به!
المصادر:
1