La ferme de compilation officielle de ROS peut désormais traiter les dépendances distribuées par Cargo, le gestionnaire de paquets de Rust. Cette évolution permet aux paquets ROS construits par l’infrastructure commune de s’appuyer plus directement sur des bibliothèques de l’écosystème Rust.
Le travail a été financé par l’Open Source Robotics Alliance, avec la participation d’Ekumen et d’Intrinsic. Open Robotics l’a annoncé le 2 novembre. L’objectif avait été formalisé en 2025 par le comité Infrastructure de l’OSRA : permettre à la ferme de compilation de résoudre des dépendances Cargo externes, puis de rendre ces bibliothèques utilisables dans les paquets distribués par ROS.
Un verrou de distribution pour les projets ROS en Rust
Rust est déjà employé dans des projets robotiques pour ses garanties sur la mémoire et son modèle de concurrence. Mais écrire un nœud ou une bibliothèque ne suffit pas à l’intégrer proprement dans une distribution ROS. Les paquets doivent être compilés, testés et publiés de manière reproductible sur les plateformes prises en charge.
Jusqu’ici, les dépendances venant de Cargo compliquaient ce parcours dans la ferme officielle. Les mainteneurs pouvaient faire fonctionner leur code localement ou dans une intégration continue spécifique, sans disposer du même chemin automatisé pour la publication ROS. Le nouveau support vise précisément cet écart entre prototype et paquet distribuable.
Cargo rejoint la chaîne de construction ROS
Cargo gère le manifeste d’un projet Rust, ses versions et les bibliothèques appelées « crates ». La ferme ROS doit désormais interpréter ces besoins dans une chaîne qui combine déjà les métadonnées des paquets, rosdep, les outils de compilation et la production de binaires pour plusieurs distributions.
Ce changement ne signifie pas que toutes les bibliothèques Rust deviennent automatiquement disponibles ni que leur maintenance est assurée par Open Robotics. Chaque paquet conserve la responsabilité de déclarer ses dépendances, de verrouiller des versions cohérentes et de respecter les licences. La reproductibilité et la sécurité de la chaîne logicielle restent des points de vigilance, en particulier lorsque des dépendances transitives évoluent.
Une ouverture pour les bibliothèques robotiques modernes
Pour les équipes ROS, le bénéfice attendu est concret : réutiliser des bibliothèques Rust publiées par Cargo sans maintenir un mécanisme de construction parallèle. Cela peut faciliter l’arrivée de pilotes, d’outils réseau ou de composants sensibles à la sûreté mémoire dans les distributions ROS.
L’impact sera progressif. Il dépendra du nombre de paquets adoptant cette voie, de leur disponibilité sur les architectures visées et de la maturité des liaisons avec les messages et services ROS. Le suivi public du projet décrit un effet attendu sur l’ensemble des projets de l’Open Source Robotics Foundation, pas seulement ROS 2.
Les éléments de référence sont l’annonce de l’OSRA, le ticket de suivi ROS 2 et le message officiel d’Open Robotics. Aucune vidéo officielle spécifique n’a été trouvée pour cette mise à jour d’infrastructure.
