المعلوماتية > برمجيات
مطلوب مبرمجو COBOL، والسبب جائحة الكورونا!
أدى انتشار فيروس COVID-19 في الولايات المتحدة الأمريكية إلى فقدان كثيرٍ من الناس لوظائفهم إثر الإغلاق الذي أمرت به الحكومة، وقد دفع هذا الأمر إلى زيادة طلبات تعويض البطالة لمن هم في أمسّ الحاجة إلى المال لتأمين الطعام ومستلزمات الحياة الضرورية الأخرى، ونتيجةَ كون أنظمة عدة ولايات -مثل ولاية نيوجيرسي New Jersey- مبنية على لغة COBOL القديمة التي تبلغ من العمر قرابة 40 عامًا؛ عانت هذه الأنظمة العجز، وأعلن حاكم ولاية نيوجيرسي "فيل مورفي Phil Murphy" في مؤتمر صحفي حاجةَ الولاية إلى متطوعين ذوي مهارات في لغة COBOL (1،2).
إنّ COBOL لغةُ برمجة يزيد عمرها على 60 عامًا، وكانت -يومًا ما- عنصرًا رئيسيًّا في تطوير البرمجيات داخل قطاعَي الحكومة والصناعة، وأصبحت COBOL في أواخر الثمانينيات منسيةً لدرجة أنّ عديدًا من الجامعات لم تضمّها إلى مناهج علوم الحاسوب (Computer Science). وعلى الرغم من وجود أنظمة قيد الخدمة حاليًّا مبنية باستخدام COBOL؛ لكن يوجد عدد قليل جدًّا من مطوّري البرمجيات تحت سن الخمسين قد شاهدوا سطرًا واحدًا بلغة COBOL، بغض النظر عن كتابة الشيفرات البرمجية وتطويرها باستخدام هذه اللغة.
ولمّا كان أوجُ انتشار لغة COBOL في السبعينيات؛ فهذا يعني أنه من المحتمل أنّ غالبية خبراء COBOL في أمريكا قد تجاوز عمرهم 60 عامًا؛ مما يجعلهم من المعرضين لخطر الإصابة أو الموت بفيروس COVID-19، ولربما أكل الدهر خبرتهم ومعلوماتهم عن COBOL، ومن المرجح أن عديدًا منهم لم يطوّر أنظمةً باستخدام COBOL منذ فترة طويلة (1).
مشكلة COBOL القديمة الجديدة
حين تطلّب خطأ الألفية Y2K* تحديث الأنظمة القديمة القائمة على لغة COBOL منذ قرابة الربع قرن -أي من منتصف إلى أواخر التسعينيات-، دق عديدٌ من الخبراء الصناعيين ناقوسَ الخطر من كون أعداد مبرمجي لغة COBOL تتضاءل بسرعة، وقد عُيِّنَ في ذلك الوقت بعض مبرمجي COBOL المتقاعدين لإجراء الإصلاحات المرتبطة بأزمة الألفية، وكان يوجد آنذاك شبه قبول عالمي على مستوى الصناعة لحقيقة وجوب استبدال العديد من الأنظمة القائمة على لغة COBOL قبل أن تصبح صيانتها مشكلة خطيرة (2).
وقد أعرب كثيرٌ من الناس عن مخاوفهم منذ ذلك الحين؛ بما في ذلك تقرير حكومي بعنوان "حاجة الوكالات الفيدرالية إلى معالجة أنظمة الشيخوخة القديمة Federal Agencies Need to Address Aging Legacy Systems" والذي قُدِّمَ إلى لجنة الكونغرس الأميركي US Congressional Committee في عام 2016 (2).
دور IBM في حل المشكلة
تعمل شركة IBM مع عملائها على نحو وثيق للاستجابة لاحتياجاتهم وحشد الطاقات لإيجاد حلول للتحديات التي يواجهها عملاؤهم، وتفتخر شركة IBM في الأيام الأخيرة بالمشاركة مع مشروع Open Mainframe التابع لمؤسسة لينوكس Linux لإنشاء ثلاث مبادرات جديدة لتلبية الاحتياجات الفورية والمؤقتة، وهذه المبادرات هي (3):
- استدعاء مبرمجي COBOL جميعهم إلى منتدى نقاش: يُعدّ هذا المنتدى بوابةً للمواهب الجديدة تمكّن أصحاب العمل من التواصل مع مبرمجي COBOL الخبراء المتاحين، وتوفر هذه المبادرة الجديدة طريقةً فورية لمساعدة الخبراء على توظيف خبراتهم عند الحاجة إليها. ستكون هذه البوابة متاحةً للباحثين عن العمل، أو للمتقاعدين ذوي الخبرة، أو للطلاب الذين أكملوا بنجاح مقررات لغة COBOL، أو للمحترفين الذين يرغبون في التطوع.
- المنتدى الفني لنقاش COBOL: يراقب مبرمجون خبراء في لغة COBOL موردًا مؤقتًا جديدًا لتقديم النصائح المجانية ومشاركة الخبرات في هذه الأزمة. سيتيح هذا المورد المجالَ للمبرمجين جميعهم بمختلف مستوياتهم لإدارة المشكلات وتعلّم تقنيات جديدة والتعجيل في الوصول إلى الحلول اللازمة حين يعدّل المبرمجون هذا الرمز المهم.
- تدريب COBOL مفتوح المصدر: دورة جديدة مفتوحة المصدر مُعدّة لتعليم المبتدئين لغة COBOL ولإنعاش ذاكرة الخبراء حولها. وقد عملت شركة IBM مع العملاء ومع معهد التعليم العالي لتطوير دورة متعمّقة لتعلم لغة COBOL مع VSCode، والتي ستكون متاحة عالميًّا ومجانًا خلال أسبوع يبدأ من 10 نيسان/ أبريل 2020. علمًا أنه خلال شهر أيار/ مايو لعام 2020 سَيُحَوَّل هذا المنهاج إلى دورة فيديو تعلم ذاتي بالتعاون مع المختبرات والدروس التعليمية المتاحة على منصة كورسيرا Coursera ومنصات التعلم الأخرى.
- الأخطار الأمنية: قد تعمل الأنظمة القديمة بوجود ثغرات أمنية معروفة يصعب معالجتها تقنيًّا أو ستتطلب معالجتها تكلفة عالية. وفي بعض الحالات لم يعد يقدّم البائعون الدعم للعتاديات (Hardware) أو للبرمجيات (Software)؛ مما يخلق ثغرات أمنية وتكاليف إضافية.
- العجز في تلبية الاحتياجات المهمة: قد لا تتمكن الأنظمة القديمة من مواكبة الاحتياجات المهمة على نحو موثوق لأنها مهملة وقديمة.
- مشكلة التوظيف: يحتاج الموظفون خبرةً في التكنولوجيا القديمة ولغات البرمجة من أجل تشغيل الأنظمة القديمة وصيانتها.
- زيادة التكاليف: تزداد كلفة تشغيل الأنظمة القديمة وصيانتها بمرور الوقت، وترتبط مسألة التكلفة بالعوامل الثلاثة السابقة؛ إما لأن المشكلات السابقة تزيد من التكلفة كما هو الحال في مشكلة العجز في تلبية الاحتياجات، وإما لكون الوكالة لا تتلقى عائدًا ماليًا على الاستثمار. فضلًا على ذلك، في عصر الميزانيات المحدودة يمكن أن تحد التكاليف المرتفعة لصيانة الأنظمة القديمة من قدرة الوكالات على تطوير أنظمة جديدة أو بديلة.
- المخاطر: تأخذ الوكالات بعين النظر المخاطرَ المرتبطة بالحفاظ على النظام القديم وتحديثه. على سبيل المثال؛ قد تمنح الوكالات أولويةً لتحديث الأنظمة القديمة التي تحتوي على ثغرات أمنية أو للبرمجيات التي توقف دعمها من قبل المورد. وعلى الرغم من ذلك؛ قد تقلل محدودية الوصول إلى النظام من الحاجة إلى تحديث نظام قديم.
- مدى حرج النظام: تأخذ الوكالات بعين النظر مدى حرج النظام فيما يخص مَهمّات الوكالة، وقد أعلنت عدة وكالات أنها ستقدّر أهمية النظام القديم بالنسبة إلى مَهمّات وكالاتها قبل أن تقرر تحديثه.
- التكاليف: تنظر الوكالات إلى تكاليف إبقاء النظام القديم وإلى تكاليف تحديثه، فعلى سبيل المثال؛ وفقًا لوزارة المحاربين القدماء (Department of Veterans Affairs (VA قد يُظهِر تحليل تكلفة دورة حياة للنظام القديم أنّ كلفة التحديث تتجاوز التكاليف المتوقعة لصيانة النظام. وعلى نحو مشابه؛ لاحظت وزارة الدفاع Department of Defense (DOD) أنه من المهم تقييم تكاليف الانتقال إلى نظام جديد أو بديل قبل اتخاذ أي قرار بشأن تحديثه.
- الأداء: تنظر الوكالات إلى الأداء التشغيلي للنظام القديم قبل اتخاذ قرار تحديثه، وخصوصًا إذا كان أداء النظام القديم ضعيفًا؛ فقد تقرر الوكالة تحديثه.
فهل يا ترى ستتخذ الحكومات عبرةً من الأزمة البرمجية التي سببتها جائحة فيروس COVID-19؟ أم إنها ستُبقي على أنظمتها وبرمجياتها بعد أن تتخلص من التحميل الزائد التي واجهته حين زوال هذه الجائحة؟
*بإمكانكم معرفة المزيد من المعلومات عن خطأ الألفية هنا
المصادر:
2- Steinberg، J.، 2020. COVID-19 Response: New Jersey Urgently Needs COBOL Programmers (Yes، You Read That Correctly). [online] Cacm.acm.org. Available at:
3- IBM News Room. 2020. Explore IBM - IBM Systems. [online] Available at:
4- Gao.gov. 2020. [online] Available at: