أنظمة ترقيم البرامج وتطبيقات الويب: معلومات عامة
عند الحديث عن “الدورة التطويرية” لبرامج سطح المكتب Desktop Software و تطبيقات الويب Web Software. ثمة إصدارات رئيسة عند تطوير أي برنامج أو تطبيق وهي:
-
الإصدارة Alpha
-
الإصدارة Beta
-
إصدارات RC وهي اختصار من Release Candidate
- الإصدارة النهائية Final Release أو تسمى أيضاً Stable Release أي الإصدارة المستقرة.
إصدارات Alpha هي الإصدارات التجريبية الأولى التي تحمل أهم الملامح والميزات الأساسية لأي برنامج, وتكون عادةً الإصدارات التي تحتوي على قدر كبير من الأخطاء البرمجية والمشكلات. قد يصدر منها أكثر من إصدار: Alpha 1, Alpha 2 … الخ. قلقة قليلة من الشركات البرمجية تصدر هذه الإصدارات, وغالباً تصدر إصدارات Beta دون المرور في طور إصدارات Alpha.
من الشركات التي تصدر هذا النوع من الإصدارات: شركة Kasperlabs المنتجة لمضاد الفيروسات الشهير Kaspersky Anti-Virus.
في المرحلة الثانية, تصدر إصدارات Beta وهي أيضا إصدارات تجريبية وقد يصدر منها أكثر من نسخة Beta 1, Beta2… الخ. تكتفي بعض الشركات بإصدار واحد Beta 1 وفي هذه الحالة يسمونه Beta (بدون أرقام) وقد تصدر إصدارات أخرى Beta 2, Beta 3 … الخ.
من الشركات التي تصدر هذه الإصدارات: شركة مايكروسوفت وشركة Adobe والكثير الكثير من الشركات. منها أيضاً WordPress التي تنتج برنامج التدوين المفتوح المصدر “ووردبريس” وهو تطبيق ويب.
وفي المرحلة قبل النهائية, ستصدر إصدارات RC التي كما قلنا هي اختصار من Release Candidate واسمها يدل على الهدف منها وهو التمهيد للإصدارة النهائية من البرنامج وفي هذه الحالة يصدر منها RC1, RC2 … الخ. علماً بان الكثير من الشركات المنتجة تتجاهل هذا الطور وتصدر الإصدارة النهائية مباشرة Final Release.
من الشركات التي تصدر هذا النوع من الإصدارات أي إصدارات RC: مايكروسوفت في حزمها “الترقيعية” لأنظمة التشغيل وندوز التي تعرف باسم Service Packs وتختصر SP. ومنها أيضا شركة ESET المنتجة لبرنامج الحماية الشهير Nod32 Anti-Virus و WordPress, برنامج التدوين كما ذكرنا سابقاً, والكثير من الشركات الأخرى.
سنتعرف الآن على أهم أنظمة ترقيم إصدارات البرامج Version Numbers أو Version Numbering أو Version Schemes أو Software Versioning … جميها أسماء لنفس المفهوم وهو “ترقيم البرامج”. كمثال: تقرأ مثلاً:
Kaspersky 7.0.125
نظام:
major.minor[.build[.revision]]
وفي هذا النظام, يبدأ رقم الإصدارة برقمها النهائي v 2 أو v5 أو v7 ..الخ. ثم بالتحديثات الفرعية التي تشتمل على عدد الميزات أو الإضافات الجديدة ثم الإضافات الفرعية وأخيراً عدد الأخطاء البرمجية التي تم أصلاحها. مثال:
هذا الرقم
7.1.2.125
والذي يعني:
أن رقم الإصدارة هو الإصدارة السابعة (بدأت بالرقم 7).
أضيفت ميزة رئيسة واحدة. ثم أضيفت ميزتين فرعيتين, وأخيراً أصلح في هذه الإصدارة 125 خطأ برمجي.
نظام الترقيم بالسنوات
تضاف السنة التي صدر فيها البرنامج بنهايته, هذا مثال:
Office 2007
نظام شركة MathWorks المنتجة لبرنامج MATLAB الهندسي وهو نظام فريد من نوعه ومقتصر عليها, يبدأ بالحرف R وهو اختصار من Release ثم السنة التي صدرت بها هذه النسخة, وأخيراً ينتهي بحرف أبجدي. بدأت هذه الشركة باعتماد هذا النظام منذ الإصدارة R2006a ثم تلتها الإصدارات التالية:
-
R2006b
-
R2007a
-
R2007b
-
وفي 1/3/2008 صدرت الإصدارة R2008a.
وتلاحظ أن ثمة أكثر من نظام للترقيم تستخدمه هذه الشركات. ثمة الكثير من أنظمة الترقيم الأخرى … النظام الذي لا تفهم معناه (الذي لم أذكره في هذا المقال) , يمكنك أن تسأل عنه في التعليقات فأشرحه لك. في موسوعة ويكيبيديا الحرة, ستجد مقالاً تفصيلياً يناقش كل هذه الأفكار.
بعض الأسئلة
كيف أعرف ما هو رقم الإصدارة لبرنامجٍ ما؟
افتح البرنامج ثم اذهب إلى قائمة About فتقرأ رقم الإصدار.
كيف أعرف رقم الإصدار لتطبيق ويب (ووردبريس على سبيل المثال).
من خلال موقع الشركة أو بالذهاب إلى ملف Read me.
ماذا عن نظام ترقيم الوثائق الإلكترونية؟
الوثائق الإلكترونية تستخدم تسمية مختلفة وهي Revision والتي تعني “مراجعة”. شخصياً, في كتابي الإلكتروني Intro2Matlab استخدم هذا النظام, مثلاً:
Intro2Matlab Revision 2.0
والسؤال الأهم: ما أهمية معرفتي لكل هذه المعلومات:
1. بمعرفة رقم الإصدار وفهم نظامه تستطيع تحديد “هل ينبغي عليك الترقية أم لا؟” أو “ما أهمية الترقية إلى النسخة الأحدث من برنامجٍ ما؟” أو “هل أن النسخة الجديدة تستحق الشراء والترقية إليها؟” … الخ.
2. هذا مفيد جداً للمطورين وللمبرمجين لترقيم مشروعاتهم البرمجية.
3. معلومات تقنية عامة استمتع بمعرفتها … ألا تحب المعرفة؟
بقي أن أشير إلى نقطة أخيرة: قلتُ في البداية بأن الدورة التطويرية للبرامج تبدأ بإصدارات Alpha ثم Beta ثم RC ثم Stable Release … ولكن, بعض الشركات الأخرى مثل شركة ياهوو, تنشر بعض برامجها مروراً بطورين وحيدين هما:
-
Preview Release
-
Final Release
نسخة Preview هذه هي ليست نسخة تجريبية, بل “للعرض فقط” والذي يعني أنها تنشر برنامجها بهذه النسخة لعرضها على المستخدمين لإبداء الرأي وليس للتجربة. كلمة “التجربة” أو بالإنجليزية “Beta testing” تعني تجربة البرنامج للإبلاغ عن الأخطاء البرمجية. في عالم البرمجيات, يستخدم المصطلح “Bug” والذي قد يترجم تقنياً بالقول “خطأ برمجي”. كلمة Bug هذه بالإنجليزية, تعني “دودة” وهي دودة “البق” … ربما هذا هو اسمها بالعربية, لا أدري …
أرحب بجميع أسئلتكم واستفساراتكم في التعليقات …
أرسل إلى صديق - نسخة للطباعة


من أجمل المواضيع التي قرأتها مؤخرا !
سابقا كنت أتساءل عن معنى الارقام التي تأتي بعد رقم الإصدار في الشكل التالي “7.1.2.125″ …. لكن بعد قراءتي للموضوع أخذت نفسا عميقا وجلست أردد “إذن هي كذلك!”
جزاك الله خير على الموضوع المفيد جدا.
@ Abdullah:
“إذن هي كذلك!” … نعم, هي كذلك … مسرورٌ جداً لأنك وجدت الإجابة في هذه التدوينة
هذه المدونة من اجمل المدونات و ربنا يوفقك
احب اضيف ان اصل كلمة bug هو ان كان فيه عطل فى جهاز الكمبيوتر فى جامعة هارفارد فى الاربعينات و لما دوروا على السبب طلع عبارة عن حشرة كانت موجودة على احدى الدوائر فى الجهاز!!!!
و ده الرابط على wikipedia
http://en.wikipedia.org/wiki/Software_bug
@ elwology: شكراً على رأيك في رحلة ضَوْء, هذه المدونة. وشكراً على المشاركة بالمعلومة الجميلة. شخصياً لم أكن أعرفها