- L’adoption de Rust par Ubuntu montre que, dans le cycle d’adoption des technologies, Rust est en train de passer des early adopters au grand public du marché, en franchissant le gouffre
- Canonical a adopté Rust comme langage par défaut pour les nouveaux logiciels d’infrastructure, en remplacement de certains usages de C, C++ et Python, tout en investissant à la fois financièrement et en réputation dans le développement d’utilitaires sûrs en mémoire
- Comme les utilisateurs de la majorité précoce (Early Majority) veulent des « standards du secteur » et de la compatibilité avec les workflows existants, le remplacement d’utilitaires en mode drop-in est une stratégie clé pour franchir ce gouffre
- La question de l’extension de la bibliothèque standard de Rust revient sur le devant de la scène, avec une réévaluation de l’idée de « Rust Platform », rejetée en 2016, qui pourrait en réalité mieux convenir à la majorité précoce
- Une structure capable de transformer l’adoption en investissement, ainsi que la capacité d’inclusion fondée sur l’empathie de la communauté open source, sont essentielles pour la prochaine phase de croissance de Rust
Le « franchissement du gouffre » de Rust varie selon les domaines
- Le fait que Rust ait franchi le gouffre dans le Technology Adoption Life Cycle dépend du domaine considéré
- Chez Amazon, Rust s’est solidement imposé pour construire de vastes data planes ou des agents sensibles aux ressources, mais il reste souvent perçu comme excessif pour le développement généraliste
- Dans le domaine des Safety Critical Software, il existe des réussites, mais la plupart des acteurs du secteur restent encore en mode observation
L’importance des « clients de référence »
- La clé pour franchir le gouffre est de disposer de clients de référence (reference customers)
- Les premiers adopteurs achètent des agents du changement (change agents), tandis que la majorité précoce cherche à améliorer la productivité de l’existant en minimisant les ruptures
- Voir des organisations similaires réussir est le facteur le plus convaincant pour adopter une nouvelle technologie
- Le succès de Rust au sein de l’équipe S3 est convaincant pour les grandes équipes de services, mais beaucoup moins directement pour les équipes qui développent des services CRUD
La stratégie d’adoption de Rust par Ubuntu (Canonical)
- Lors de Rust Nation, le VP of Engineering de Canonical, Jon Seager, a présenté une keynote intitulée « Rust Adoption At Scale with Ubuntu »
- Canonical limitait jusqu’ici ses langages de développement internes à Python, C/C++ et Go, mais y a récemment ajouté Rust comme langage par défaut pour les nouveaux travaux d’infrastructure
- À l’image de la keynote de Lars Bergstrom sur l’adoption de Rust chez Google, l’approche combine vision et pragmatisme
- C’est précisément le type de caractéristiques nécessaires pour passer des premiers adopteurs à la majorité précoce
Investir dans des utilitaires sûrs en mémoire
- Jon Seager a indiqué qu’Ubuntu devait soutenir la création d’utilitaires fondés sur la sûreté mémoire dans une logique de « pay it forward »
- Canonical finance actuellement le développement de sudo-rs et ntpd-rs au sein de la Trifecta Tech Foundation, ainsi que le travail de uutils sur coreutils
- L’idée est qu’Ubuntu essaie et valide d’abord ces nouveautés, afin que d’autres distributions puissent ensuite en bénéficier
- Les utilitaires drop-in qui s’intègrent tels quels dans les workflows existants répondent au besoin de la majorité précoce de minimiser les discontinuités
Les attentes des nouveaux adopteurs : étendre la bibliothèque standard
- Lors d’un dîner, Jon Seager a déclaré qu’il fallait réexaminer la politique de petite bibliothèque standard de Rust
- C’est une demande récurrente depuis des années ; il ne s’agit pas simplement de fournir une grande bibliothèque standard, mais d’envisager une alternative sous forme de projet appelée « Battery Packs »
- La Rust Platform proposée en 2016 — l’idée de reconnaître certaines crates comme une bibliothèque standard étendue — avait été rejetée par les premiers adopteurs à l’époque, mais pourrait en réalité convenir à la majorité précoce
- À l’époque, l’opinion dominante était qu’ajouter des dépendances dans
Cargo.toml suffisait
La nécessité de changer pour continuer à croître
- Pour passer des premiers adopteurs à la majorité précoce, le message doit être celui d’un « standard du secteur » et non d’un produit « state-of-the-art »
- Rust a réussi à gagner en reconnaissance dans l’industrie ; désormais, il doit devenir le meilleur choix non pas en fonction de « ce qu’il pourrait être », mais de « ce qu’il est réellement »
- Ces deux dimensions peuvent parfois entrer en tension
- Pour parler aux pragmatiques, il faut de la patience, une compréhension des enjeux du secteur concerné et une présence dans les conférences de l’industrie
Une structure qui transforme l’adoption en investissement
- L’élargissement de l’adoption de Rust entraîne une hausse de la demande envers le projet Rust et son écosystème
- Pour des organisations open source comme Canonical, les relations inter-organisations et les contributions comptent davantage que les $$
- Les développeurs de Rust for Linux ont d’abord été aidés par les maintainers de Rust, puis ils ont progressivement commencé à corriger eux-mêmes les bugs, tandis que les maintainers évoluaient vers un rôle de mentor
- Fait intéressant, les financements proviennent souvent davantage d’entreprises qui envisagent d’adopter Rust que de celles qui l’ont déjà adopté
- Des premiers adopteurs en interne poussent l’adoption dans leur organisation et allouent des budgets au développement de fonctionnalités « table stakes »
- D’après Alexandru Radovici, du Rust Foundation Silver Member Directory, de nombreuses entreprises de logiciels critiques pour la sécurité disposent de financements pour combler les lacunes de Rust, mais ne savent pas comment les utiliser
Le rôle de l’open source et l’importance de l’empathie
- L’open source est une excellente plateforme pour franchir le gouffre, mais les cliques et les « traditions orales » peuvent devenir des barrières à l’entrée
- Une idée peut être rejetée à cause d’un mauvais terme employé, ou une seule réponse impolie peut suffire à faire partir un nouveau contributeur
- Ce dont Rust a le plus besoin pour sa prochaine phase de croissance, c’est d’empathie dans l’open source
- L’essentiel est d’aller là où Rust peut aider les gens, puis de les soutenir et leur donner les moyens d’agir
Aucun commentaire pour le moment.