مشروع systemd يقبل كود Rust رسميًا في المكونات الجديدة الطرفية فقط
دمج مشروع systemd في 24 أكتوبر 2026 الـ pull request الذي يسمح رسميًا بكتابة كود بلغة Rust داخله، بحسب تغطية Linuxiac وPhoronix.
والقرار محدود بشرط واضح: Rust مسموح فقط في المكونات الجديدة التي لا يعتمد عليها أي جزء آخر، وهي ما يُسمّى leaf components، أي المكونات الطرفية في شجرة الاعتماديات. أما الكود القديم المكتوب بلغة C فلن يُنقل، والمكتبة الأساسية للمشروع تبقى بلغة C.
وطريقة الإدخال نفسها محسوبة. فالبناء يبقى على Meson دون Cargo، وتُكتب برامج Rust بنمط no_std، وتستدعي مكتبات C عبر bindings مولّدة آليًا. والدعم اختياري يتحكم فيه flag في Meson، فمن لا يفعّله لا يتغير لديه شيء.
وأول مكون مكتوب بلغة Rust سيكون systemd-keyring-setup، ومن المتوقع أن يصدر في الإصدار 263 في ديسمبر.
والكلمة الأهم في القرار هي leaf. فمشروع systemd يسير في الطريق الذي سلكته نواة Linux عبر مشروع Rust for Linux: الجديد بلغة Rust، والقديم يبقى بلغة C، ولا يُعاد كتابة ما يعمل بالفعل. وهذا يعكس تقديرًا بأن كلفة إعادة الكتابة أعلى من فائدتها، حتى في مشروع بحجم systemd.
وبالنسبة للفرق التي تفكر في نقل مشروع كامل إلى Rust، يقدم القرار سابقة قريبة: البدء بالأطراف الجديدة التي لا يعتمد عليها شيء، وترك القلب كما هو.