La Fondation Rust a annoncé conjointement le "Consortium Rust pour les systèmes critique" avec des partenaires industriels tels que Arm, AdaCore, Lynx Software Technologies et Woven, la filiale de Toyota spécialisée dans les technologies de mobilité. Son objectif est de soutenir l'utilisation responsable de Rust dans les logiciels critiques.
Les travaux du consortium commenceront par la création d'une charte et d'objectifs publics, selon l'annonce, avec un champ d'application pouvant inclure le développement de lignes directrices, de bibliothèques, d'outils d'analyse statique, de méthodes formelles, etc. pour répondre aux exigences industrielles et légales.
Le groupe peut également superviser les travaux de mise en œuvre financés par la Fondation Rust, y compris les subventions accordées à des équipes universitaires existantes ou à des projets de logiciels open-source. Le groupe s'efforcera de coordonner et d'étendre les projets et normes existants en matière de sécurité critique, y compris la norme SAE JA1020. Les produits livrables du consortium seront développés et licenciés d'une manière compatible avec les autres projets du projet Rust.
La Fondation Rust publie pour l'annonce :
La Fondation Rust, AdaCore, Arm, Ferrous Systems, HighTec EDV-Systeme GmbH, Lynx Software Technologies, OxidOS, TECHFUND, TrustInSoft, Veecle et Woven by Toyota sont ravis d'annoncer conjointement la création du Consortium Rust pour les systèmes critique (Safety-Critical Rust Consortium). L'objectif principal de ce groupe sera de soutenir l'utilisation responsable du langage de programmation Rust dans les logiciels critiques, c'est-à-dire les systèmes dont la défaillance peut avoir un impact sur la vie humaine ou causer de graves dommages environnementaux ou matériels.
L'adhésion au Consortium Rust pour les systèmes critique est ouverte aux organisations membres de la Fondation Rust et à d'autres invités, tels que des experts industriels, académiques et juridiques.
Les travaux du consortium commenceront par la création d'une charte et d'objectifs publics, et les comptes rendus des réunions seront publiés régulièrement. Le Consortium Rust pour les systèmes critique assurera la liaison avec le projet Rust par l'intermédiaire des directeurs de projet de la Fondation Rust et des membres des équipes du projet Rust. Le champ d'action du consortium, qui sera entièrement défini dans la charte, peut inclure le développement de lignes directrices, de linters, de bibliothèques, d'outils d'analyse statique, de méthodes formelles et de sous-ensembles de langages pour répondre aux exigences industrielles et légales. Les produits livrés par le consortium seront développés et licenciés d'une manière compatible avec les autres initiatives du projet Rust.
Le groupe pourra également superviser les travaux de mise en œuvre financés par la Fondation Rust, y compris les subventions accordées à des équipes universitaires existantes ou à des projets FOSS. Tout travail financé par la Fondation Rust sera soumis en amont, sous licence FOSS, et toutes les spécifications seront librement disponibles. Le groupe s'efforcera en outre de coordonner et d'étendre les projets et normes existants en matière de sécurité, notamment la norme SAE JA1020.
"C'est passionnant ! Je suis vraiment heureux de voir la Fondation Rust et tous ceux qui travaillent dans le domaine de la sécurité se réunir sur ce sujet", a déclaré Graydon Hoare, créateur du langage de programmation Rust.
"La sécurité est notre priorité absolue dans le développement de logiciels pour véhicules. Traditionnellement, atteindre les plus hauts niveaux de sécurité a été une entreprise complexe et de longue haleine, nécessitant l'utilisation d'outils et de processus spécialisés au-delà du langage de programmation. Nous sommes donc heureux de collaborer avec des experts de premier plan dans le domaine de la sécurité afin d'intégrer de nouveaux outils tels que Rust dans nos systèmes critiques", a déclaré JF Bastien, ingénieur distingué chez Woven by Toyota.
"Rust s'est déjà imposé comme un langage de programmation sûr et sécurisé auprès des développeurs de l'open source, de l'industrie et des gouvernements. Il est maintenant temps d'utiliser cet élan pour faire de Rust un langage courant dans les domaines critiques, en fournissant des processus et des spécifications qui permettent à Rust d'être certifié dans cet espace", a déclaré Joel Marcey, directeur de la technologie à la Fondation Rust.
L'adhésion au Consortium Rust pour les systèmes critique est ouverte aux organisations membres de la Fondation Rust et à d'autres invités, tels que des experts industriels, académiques et juridiques.
Les travaux du consortium commenceront par la création d'une charte et d'objectifs publics, et les comptes rendus des réunions seront publiés régulièrement. Le Consortium Rust pour les systèmes critique assurera la liaison avec le projet Rust par l'intermédiaire des directeurs de projet de la Fondation Rust et des membres des équipes du projet Rust. Le champ d'action du consortium, qui sera entièrement défini dans la charte, peut inclure le développement de lignes directrices, de linters, de bibliothèques, d'outils d'analyse statique, de méthodes formelles et de sous-ensembles de langages pour répondre aux exigences industrielles et légales. Les produits livrés par le consortium seront développés et licenciés d'une manière compatible avec les autres initiatives du projet Rust.
Le groupe pourra également superviser les travaux de mise en œuvre financés par la Fondation Rust, y compris les subventions accordées à des équipes universitaires existantes ou à des projets FOSS. Tout travail financé par la Fondation Rust sera soumis en amont, sous licence FOSS, et toutes les spécifications seront librement disponibles. Le groupe s'efforcera en outre de coordonner et d'étendre les projets et normes existants en matière de sécurité, notamment la norme SAE JA1020.
"C'est passionnant ! Je suis vraiment heureux de voir la Fondation Rust et tous ceux qui travaillent dans le domaine de la sécurité se réunir sur ce sujet", a déclaré Graydon Hoare, créateur du langage de programmation Rust.
"La sécurité est notre priorité absolue dans le développement de logiciels pour véhicules. Traditionnellement, atteindre les plus hauts niveaux de sécurité a été une entreprise complexe et de longue haleine, nécessitant l'utilisation d'outils et de processus spécialisés au-delà du langage de programmation. Nous sommes donc heureux de collaborer avec des experts de premier plan dans le domaine de la sécurité afin d'intégrer de nouveaux outils tels que Rust dans nos systèmes critiques", a déclaré JF Bastien, ingénieur distingué chez Woven by Toyota.
"Rust s'est déjà imposé comme un langage de programmation sûr et sécurisé auprès des développeurs de l'open source, de l'industrie et des gouvernements. Il est maintenant temps d'utiliser cet élan pour faire de Rust un langage courant dans les domaines critiques, en fournissant des processus et des spécifications qui permettent à Rust d'être certifié dans cet espace", a déclaré Joel Marcey, directeur de la technologie à la Fondation Rust.
Qu'est-ce que la "sécurité critique" ? Rust est déjà sûr !
La sécurité d'un langage de programmation fait référence à la capacité d'un langage à prévenir les erreurs ou les comportements indéfinis au moment de la compilation ou de l'exécution. D'autre part, le terme "sécurité critique" fait référence à la capacité d'un système à fonctionner sans provoquer d'accidents ou de défaillances catastrophiques susceptibles de nuire aux personnes, aux biens ou à l'environnement. Ainsi, si les systèmes critiques s'appuient sur des langages qui mettent l'accent sur la sûreté et la sécurité, tels que Rust, les outils de programmation ne sont qu'un élément de la stratégie globale.
Quelles sont les industries considérées comme système critique ?
Les industries particulièrement concernées par la sécurité fonctionnelle comprennent les transports (automobile, aviation, espace), l'énergie, les sciences de la vie, etc. En raison de leurs impacts potentiels, ces industries sont souvent réglementées, ont des considérations de responsabilité et sont guidées par des normes telles que IEC 61508, ISO 26262, IEC 62304 et DO-178C. Ces industries ont des décennies d'expérience en matière de livraison de produits, d'apprentissage par itération sur la base d'un retour d'information réel, et d'amélioration des processus. Un écosystème d'outils et de fournisseurs d'outils a évolué, et les meilleures pratiques ont été apprises pour créer une culture de la sécurité autour de l'outillage.
Pourquoi Rust ?
Rust offre des avantages particuliers en termes d'ergonomie pour les développeurs, de productivité et de qualité des logiciels ; cependant, il manque un puits profond et établi de processus de sécurité et une connaissance collective de l'industrie des systèmes critiques.
Sans combler cette lacune, un développeur doit principalement s'appuyer sur les meilleures pratiques et les précautions normatives, ce qui peut limiter l'innovation. Les développeurs Rust qui s'écartent des sentiers battus peuvent se retrouver confrontés à une enquête en cas d'accident. Dans ces circonstances, tout ce qui semble inhabituel fera l'objet d'une recherche de faute. Ce risque décourage l'adoption généralisée de Rust, empêchant les développeurs de profiter de tous ses avantages tout en étant potentiellement confrontés à des coûts financiers, moraux et de réputation.
Le manque de ressources critiques en matière de sécurité dans l'écosystème du langage de programmation Rust constitue également une opportunité intéressante. En intégrant rapidement les leçons tirées d'années de développement minutieux et d'erreurs passées dans l'écosystème open source plus large, Rust peut devenir un composant précieux d'une boîte à outils de sécurité adaptable à divers secteurs et niveaux de gravité critiques pour la sécurité.
Que signifie ce développement pour Rust ?
Répondre à des besoins de sécurité critique a un coût, tout comme répondre à des besoins de sécurité ou de qualité. Certains de ces coûts peuvent être répartis entre plusieurs priorités, comme la vérification et la validation par la revue de code, la rédaction d'un cahier des charges, l'identification des propriétés d'une "nomenclature logicielle", etc. Le langage de programmation Rust peut supporter certains coûts raisonnables avec la participation des parties intéressées, mais ces coûts ne peuvent pas être imposés à l'écosystème Rust sans réfléchir. En effet, un projet open source de loisir sur crates.io ne peut pas soudainement être rendu système critique, on ne peut pas lui dire que des vies dépendent de l'exactitude du projet, sans que les membres de la communauté n'y réfléchissent sérieusement et ne s'y rallient.
Pourquoi cet effort, sous l'égide de la Fondation Rust ?
Il existe déjà des efforts dans ce domaine, notamment SAE JA1020. Ces efforts sont louables et répondront probablement aux besoins de leur public cible. Cependant, les menbres fondateurs du Consortium Rust pour les systèmes critique espérent qu'un effort plus large sous l'égide de la Fondation Rust pourra répondre aux besoins de la communauté Rust dans son ensemble, plutôt qu'à un sous-ensemble d'industries, de groupes et/ou de cas d'utilisation. De plus, les besoins de groupes spécifiques sont parfois en contradiction avec les besoins d'autres membres de la communauté. Cela peut conduire à des tensions lors de l'adoption d'exigences strictes, ou causer des frictions dans les groupes spécifiques qui ont un retard significatif dans l'évolution du langage et des outils qui l'entourent. En travaillant sous les auspices de la Fondation Rust, le Consortium Rust pour les systèmes critique peut minimiser le risque d'une telle fracture.
Comment ce groupe va-t-il travailler avec le projet Rust ?
Le Consortium Rust pour les systèmes critique devrait attirer de nombreux participants qui ne sont pas encore des utilisateurs de Rust. Les membres du groupe initial comprennent que le projet Rust fonctionne de manière particulière et se méfie des entités externes qui promeuvent agressivement leurs propres objectifs. L'espoir des membres du groupe initial est d'écouter les contributions des membres du projet Rust et de comprendre comment élargir au mieux la base d'utilisateurs et l'applicabilité de Rust sans affecter négativement les utilisateurs actuels de Rust et les participants au projet Rust. Le Consortium Rust pour les systèmes critique devrait collaborer avec l'équipe de spécification du langage du projet Rust et l'équipe des méthodes formelles. Il devrait également travailler comme le fait le projet Rust - par le biais de Zulip et de réunions virtuelles avec des comptes-rendus publics. Le consortium prévoit de tenir sa première réunion en personne à la RustConf 2024 par désir de s'intégrer et de travailler étroitement avec le projet Rust.
Le Consortium Rust pour les systèmes critique a l'intention de tenir toutes les parties prenantes au courant de son travail, en suggérant des modifications ou des ajouts à la façon dont le langage et les bibliothèques Rust sont créés et en abordant la façon dont les différents niveaux de sécurité adoptent le langage et les bibliothèques. Cela permettra de créer un espace pour une variété d'outils destinés à soutenir les activités de sécurité, de vérification et de validation, et d'assurance qualité au sein de Rust. Ce travail permettra à son tour de créer des meilleures pratiques, qui pourront ensuite être discutées avec les évaluateurs de la sécurité et les gouvernements afin d'établir plus officiellement les meilleures pratiques en tant que recommandations.
Quel est l'impact attendu en dehors de la Fondation et du projet Rust ?
Des travaux tels que les SAE ne deviendraient pas obsolètes grâce à un Consortium Rust pour les systèmes critique, mais ils deviendraient plus étroits en adaptant les travaux plus larges à leur public spécifique, après avoir informé le Consortium Rust pour les systèmes critique de ses besoins. Le Consortium Rust pour les systèmes critique, et plus largement la Fondation Rust, poursuivraient alors un rôle d'adoption et de défense de l'industrie, auprès des utilisateurs de Rust ainsi qu'auprès d'entités externes telles que les gouvernements et les groupes de normalisation internationaux. La Fondation Rust s'engage à garantir que le financement et le soutien sont disponibles en cas de besoin, y compris pour les bénévoles de la communauté et les initiatives financées, comme pour cette initiative de sécurité.
La Fondation Rust conclue l'annonce en déclarant :
En bref, nous avons besoin de votre aide ! Nous voulons que le Consortium Rust pour les systèmes critique reflète une grande variété de perspectives, y compris diverses industries de la sécurité, des représentants de groupes de normalisation guidant ces industries, des fournisseurs d'outils qui s'adressent à ces industries, et des membres de la communauté Rust des espaces de langage et de bibliothèque qui sont intéressés par une collaboration. Les organisations intéressées, les individus et les membres de la Fondation Rust sont invités à nous contacter par email à contact@rustfoundation.org.
La Fondation Rust est une organisation indépendante à but non lucratif dédiée à la sûreté, la sécurité, la durabilité et la santé du langage de programmation Rust et des personnes qui l'utilisent. Grâce à des partenariats étroits avec des organisations passionnées par Rust, le projet Rust et sa communauté grandissante, la Fondation Rust contribue à forger un meilleur avenir open source avec Rust.
Source : Fondation Rust
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
La Maison Blanche invite les développeurs à abandonner le C et le C++ pour passer à des langages comme le Rust, jugés supérieurs pour sécuriser les espaces mémoire des logiciels
« Les équipes Rust chez Google sont deux fois plus productives que celles qui se servent de C++ », d'après un responsable de l'entreprise, qui lance le débat de la productivité entre Rust et C++
Enquête Developer Nation : Rust est le langage de programmation qui connaît la croissance la plus rapide, sa communauté de développeurs ayant doublé de taille au cours des deux dernières années