في خطوة مهمة لمجتمع مطوري Linux، أعلن المطور Christian Brauner عن دمج دعم لغة Rust في نظام التهيئة الشهير systemd. هذه الإضافة لا تشير إلى إعادة كتابة النظام بأكمله بلغة Rust، بل تتيح للمطورين استخدامها في بناء مكونات طرفية جديدة.
ما الذي يتغير؟
يأتي هذا التغيير في سياق تطوير الإصدار systemd 263، حيث تم تقسيم جهد سابق (طلب السحب رقم 44144) إلى خمسة أجزاء منفصلة، وكان أبرزها الجزء الثاني الذي يدعم البرامج المكتوبة بلغة Rust. تتضمن الأجزاء الأخرى أدوات مساعدة مثل keyring-util و voa-util لشهادات kernel keyrings، بالإضافة إلى إضافة systemd-keyring-setup.
من المهم الإشارة إلى أن دعم Rust في systemd يأتي مع قيود واضحة. سيتم استخدام Rust فقط للمكونات الطرفية الجديدة، ولن يتم نقل أي شيفرة C موجودة إليها. هذا يعني أن systemd لن يُعاد كتابته بلغة Rust، بل ستُستخدم الأخيرة لتطوير الإضافات الجديدة بشكل مستقل عن المكونات الأساسية المعتمدة على C.
جانب آخر مهم هو أن عملية البناء لن تعتمد على Cargo، وهو مدير الحزم ونظام البناء المعتاد للغة Rust. بدلاً من ذلك، سيتم بناء كل شيء باستخدام Meson، وهو نظام البناء الحديث الذي يعتمد عليه systemd بالفعل، ويُستخدم أيضًا على نطاق واسع في مشاريع مثل GNOME ومكتبة Mesa 3D الرسومية. Meson نفسه مكتوب بلغة Python ويستخدم Ninja لإدارة عملية التجميع، وهو نفس النظام المستخدم في بناء Chrome و Android.
كما يجب ألا تستخدم أي شيفرة Rust في systemd المكتبة القياسية. قد يبدو هذا الشرط متطرفًا لمن هم أكثر دراية بلغة C، ولكنه ممارسة شائعة وطبيعية في برمجة Rust المضمنة.
المتطلبات والتأثير على المطورين
تتضمن متطلبات النظام لاستخدام Rust مع systemd إصدار Rust 1.85 أو أحدث (تم إصداره في فبراير 2025)، و bindgen 0.71.1 أو أحدث (من ديسمبر 2024)، و Meson 1.4.0 (من مارس 2024). هذه الإصدارات تعتبر معتدلة وغير حديثة جدًا، فمثلاً، إصدار Meson هذا هو المضمن في Debian 13.
بالنسبة للمطورين، هذا يعني أنهم يستطيعون الآن الاستفادة من ميزات أمان وأداء Rust في تطوير مكونات نظام التشغيل، لكن ضمن سياق محدد يركز على المكونات الجديدة والطرفية. نرى أن هذه خطوة إيجابية تدعم التنوع التكنولوجي وتوفر خيارات جديدة للمطورين، مع الحفاظ على استقرار systemd. من المهم التنويه إلى أن استدعاء systemd من شيفرة Rust كان ممكنًا بالفعل لسنوات عبر أدوات موجودة مثل حزمة systemd التي ظهرت عام 2015.
المصدر: theregister.com