La vision de l'Open Source chez SNCF Connect & Tech - François Nollen

Ingénieur issu de l’Institut Mines-Télécom Atlantique, François Nollen possède un profil technique spécialisé dans le développement logiciel. Il a été consultant pour plusieurs grandes organisations, participant à des projets de développement à grande échelle. L’Open Source fait partie intégrante de sa culture professionnelle. En 2013, il rejoint Voyages-sncf – désormais SNCF Connect & Tech – et occupe actuellement les rôles de Référent Expertise et Ambassadeur Tech. En tant que Référent Open Source, François contribue activement au projet Tock et est membre de l’association TOSIT. Il nous a fait part de sa vision de l’Open Source au sein de SNCF Connect & Tech et de ses convictions sur des enjeux plus globaux, comme les liens entre IA et Open Source, le numérique responsable, la pédagogie sur l’Open Source, etc.
Peut-on considérer SNCF Connect & Tech comme un acteur de l’Open Source ?
SNCF Connect & Tech a toujours beaucoup utilisé les logiciels Open Source depuis sa création en 2000 – à l’époque Voyage-sncf.com. Depuis 2015, l’entreprise est passée de consommateur à producteur, partageant des solutions techniques créées en interne avec la communauté. D’abord de petites contributions et des « forks » de logiciels déjà ouverts sur GitHub, puis des solutions complètes plus ambitieuses créées par l’entreprise. Il y a eu des succès, des échecs aussi, ce qui nous a aidé à mieux comprendre les mécanismes des projets Open Source : comment permettre à une communauté d’émerger puis l’animer, pour que le logiciel trouve son public et soit pérenne.
Dans les belles histoires qu’on aime partager, la solution Tock, plateforme ouverte d’IA conversationnelle, fut un succès rapidement repris par de petites et grandes organisations (comme ENEDIS, Linagora, RTE, Smart Tribune, Crédit Mutuel Arkéa, l’Université de Lorraine et d’autres). Cela nous a rapproché d’acteurs importants partageant les mêmes besoins de solutions ouvertes maîtrisables. Cette réussite a contribué à pérenniser notre mouvement vers l’Open Source.
SNCF Connect & Tech a plusieurs métiers, celui d’e-commerçant avec SNCF Connect et celui d’éditeur et de prestataire technologique pour le Groupe SNCF et d’autres acteurs des mobilités. Produire des logiciels Open Source n’était pas une évidence mais c’est une posture désormais assumée car on voit de plus en plus la valeur apportée par l’Open Source. Qu’il s’agisse de Tock ou Flutter (également au cœur de SNCF Connect), on se donne des moyens de partager et diffuser ces technologies ouvertes.
A ma connaissance nous n’avons pas une stratégie explicitement « Open Source-first » comme cela peut exister dans certains grands groupes français, pas plus qu’un programme interne de type OSPO (« Open Source Program Office »).
« Il ne semble pas y avoir une seule manière d’aller vers l’Open Source. »
Au sein de SNCF Connect & Tech, on mise de plus en plus sur l’Innersource, parfois appelé « Open Source interne ». Si le code métier reste interne à l’entreprise, il s’agit de fonctionner plus ouvertement en interne : que le code soit accessible à tous les collaborateurs, à l’image des communautés Open Source – on s’inspire donc des pratiques, de la culture Open Source pour améliorer la collaboration et la qualité des développements.
Grâce à l’Innersource, avez-vous pu constater une meilleure adoption de l’Open Source chez les développeurs, ou l’impact est-il plutôt du côté des décideurs ?
Adopter les pratiques Innersource ou Open Source dans l’organisation ne peut qu’aider à avancer vers davantage d’ouverture. En pratique toutefois, à travers mon expérience, le sujet semble rarement du côté des développeurs. Ceux-ci sont souvent « pro-Open Source » et les premiers porteurs de ces initiatives.
La majorité des développeurs sont habitués à tirer parti de solutions Open Source depuis toujours. Ils sont plus enclins à se former et utiliser des logiciels ouverts, pour plusieurs raisons. D’une part ils sont souvent l’état de l’art de nombreux domaines (comme l’IA). La transparence et la réactivité de ces projets donnent confiance (par exemple en matière de cyber-sécurité). D’autre part, les logiciels Open Source sont la promesse d’un savoir-faire plus pérenne, plus réutilisable et plus visible en externe que les outils propriétaires et frameworks conçus en interne – rapidement obsolètes et anonymes.
Autre phénomène intéressant à observer : l’Open Source peut apporter du sens au travail des développeurs, autorisés à reverser une partie de leur code à la communauté, contribuant activement aux logiciels qu’ils utilisent pour réussir leurs projets. Chez SNCF Connect & Tech par exemple, nous voulons « innover pour rendre les mobilités durables accessibles à tous » ; pour certains collaborateurs il n’y a qu’un pas vers les communs numériques et la contribution aux logiciels libres ; c’est tout naturellement qu’ils se mettent alors à porter l’Open Source et deviennent des moteurs sur ces projets.
« Adopter l’Open Source et permettre ou encourager la contribution, cela peut aider à attirer de nouveaux talents et mieux les fidéliser, en particulier dans un contexte assez tendu ou recruter de bons développeurs est difficile. »
L’éventail de ces atouts portés par l’Open Source nous sont apparus grâce à des expériences réussies comme celle de Tock. Faire le pari de l’Open Source nous permettait d’être plus libres de nos choix, davantage en maîtrise de nos projets (pas d’effet boîte noire, liberté d’hébergement, économies d’échelle, etc.). Nous n’avions pas vraiment anticipé l’effet levier de la communauté, qui contribue aujourd’hui activement et améliore la solution, ni que certains développeurs y trouveraient du sens – jusqu’à parfois vouloir rejoindre nos équipes pour cela.
Si la plupart des développeurs sont convaincus par l’Open Source, quid des autres types de profils – RH, fonctions achats, équipes juridiques, maîtrise d’œuvre, etc. ? C’est là qu’il est intéressant de partager les succès comme celui de Tock, pour montrer que cela fonctionne, que tout le monde y gagne et que la valeur dépasse souvent ce qu’on avait anticipé. Ainsi la culture progresse et les réticences naturelles s’estompent peu à peu.
Dans les avantages de l’Open Source, on parle souvent de souveraineté, ou d’indépendance. Mais à l’échelle de l’entreprise, est-ce qu’on ne se retrouve pas tout de même en situation de dépendance par rapport aux développeurs qui ont créé la solution ?
C’est un sujet intéressant et cela dépend beaucoup de la situation de l’entreprise. C’est vrai, à partir du moment où l’on utilise un logiciel, on a probablement une forme de dépendance envers ceux qui le maitrisent – ceux qui le comprennent, le fournissent, le créent, peuvent le faire évoluer. C’est toujours intéressant de pouvoir soi-même analyser, modifier le logiciel si besoin. On a parfois l’intuition qu’un logiciel Open Source c’est « gratuit » parce qu’il n’y a pas de frais de licence, pourtant il y a bien un coût quand on veut/doit faire évoluer le logiciel (correctifs, nouveaux besoins, contexte changeant) et on a besoin de compétences techniques.
Pour une organisation sans développeurs en interne, choisir l’Open Source peut sembler compliqué : il faudra être accompagné (d’une ESN par exemple) pour effectuer les développements, pour disposer d’un support technique, etc. Mais même dans ce cas de figure, l’avantage du modèle Open Source c’est que l’organisation peut choisir une ou plusieurs ESN, comparer, mettre en concurrence, pourquoi pas embaucher plus tard un développeur si cela semble pertinent. L’entreprise conserve donc plusieurs options, elle est moins facilement « enfermée » dans son choix technologique.
Si le temps passe et qu’un prestataire disparaît ou que les développeurs d’une équipe passent à autre chose, cela reste un avantage d’avoir misé sur de l’Open Source. Au pire, le code reste disponible et on peut espérer retrouver ou reconstruire le savoir-faire : d’autres développeurs peuvent s’approprier la solution, ils ont accès au code, aux tests, à la documentation. Cela prendra un peu de temps, mais c’est faisable. On ne peut pas toujours en dire autant de solutions « sur l’étagère » si le fournisseur ne tient pas ses engagements ou qu’il disparaît simplement (faillite, rachat, fin du produit).
« Le modèle Open Source peut apporter des éléments de réponse pour mitiger l’obsolescence des logiciels, par rapport aux produits SaaS (« Software as a Service »). »
Une stratégie Open Source ne signifie pas forcément qu’on fait tout en interne et qu’on n’a besoin de personne, plutôt qu’on a davantage d’options et moins de choix imposés par la technologie ou les fournisseurs.
En quoi l’explosion des IA génératives serait un boost pour l’Open Source et son utilisation ?
Le cœur de valeur en IA ce sont les données mais aussi les modèles : d’une certaine manière, ils représentent une capacité à comprendre et répondre aux besoins des clients, des utilisateurs, des collaborateurs aussi. Avant ChatGPT et l’essor des LLM (« Large Language Models »), rien que pour le chatbot OUI.sncf lancé en 2016 il a fallu qualifier des dizaines de milliers de phrases. Construire un modèle pertinent dans son domaine métier, c’est un véritable investissement. Choisir une solution Open Source apporte plus de maîtrise sur ce cœur de valeur : choisir si on le met chez un partenaire, si on le partage avec des tiers, etc.
Dans le domaine de l’IA, l’innovation est souvent d’origine universitaire, académique …et disponible en Open Source. Les géants du Web (Meta, Google, Microsoft et autres) ont bien saisi les avantages de ce modèle et publient beaucoup d’outils en Open Source également. Pour certains, ils sont même de moins en moins « en compétition » avec l’Open Source, pour se positionner davantage en « leaders » de l’Open Source dans tel ou tel domaine.
L’exemple de GPT est intéressant : la solution d’OpenAI adoptait un modèle ouvert jusqu’au succès phénoménal de ChatGPT. Quand les investissements et les enjeux sont devenus énormes, l’entreprise a préféré refermer sa solution et réduire les informations partagées à la communauté. Dans les mois qui ont suivi, de plus en plus de discours critiques se sont fait entendre, notamment de profils académiques et de références en matière d’IA. Quelques exemples m’ont marqué : Yann LeCun (Meta) favorable à la recherche fondamentale ouverte et prônant l’émergence de plateformes Open Source en Europe (source) ; Laurence Devillers (chercheuse et auteure) expliquant les biais induits par ces technologies, dénonçant l’opacité des logiciels boîtes noires, qu’« on ne peut pas faire confiance à une intelligence artificielle sans connaître son mode de fonctionnement » (source).
Ces derniers mois, on voit émerger énormément d’alternatives Open Source en parallèle de la course que se livrent les géants du domaine. Les objectifs et la manière de fonctionner sont différents : au lieu de rivaliser sur la taille des modèles (extrêmement coûteux et pas toujours beaucoup plus performants), l’Open Source progresse sur d’autres terrains. Ces communautés, échangeant et innovant les unes avec les autres en permanence, ont pu dépasser des problèmes qui paraissaient insolubles il y a quelques mois.
Pour finir, plus l’IA et les algorithmes se généraliseront dans tous les domaines de notre vie, plus se poseront les questions d’éthique, d’explicabilité, de protection des données, mitiger les biais, mieux comprendre le fonctionnement et les effets de ces technologies. Naturellement, ouvrir les modèles en Open Source constitue un pas vers davantage de transparence.
Aux États-Unis l’Open Source n’est pas du tout câblé comme en Europe, qu’est-ce qui différencie les deux modèles selon vous ?
Sans être un spécialiste, peut-être qu’aux États-Unis (et ailleurs) les géants de la tech font surtout de l’Open Source pour un avantage en termes d’innovation technique, attirer les talents, autrement dit répondre à des enjeux « industriels » ?
Le « numérique responsable », les communs numériques, la protection des données semblent des préoccupations d’abord européennes, même si ces notions commencent à s’exporter ici ou là. C’est un discours qu’on entend assez souvent : une sorte d’exception culturelle ? J’imagine que les acteurs européens de l’Open Source n’étant pas les mêmes, ils ne considèrent et produisent peut-être pas l’Open Source de la même manière, pour les mêmes raisons, avec les mêmes résultats qu’outre-Atlantique ?
Que faut-il faire en Europe, en France ? Espérer un « Google européen » ou accepter qu’il n’y en ait pas ? S’appuyer sur nos élites ou assumer qu’il est inutile d’essayer de faire des choses à si grande échelle ? Je n’ai pas ces réponses, le débat est ouvert et les idées avancent à leur rythme. Je note que depuis 2021 notamment, plusieurs initiatives sont mises en place dans les administrations françaises, pour que les services publics s’appuient davantage sur des solutions ouvertes, pour recruter des profils compétents dans ce domaine, pour permettent les retours utilisateurs, pour ouvrir la contribution aux personnels et aux citoyens. A suivre.
Sur l’aspect numérique responsable, comment l’Open Source contribue à minimiser l’impact négatif du numérique selon vous ?
« Le lien n’est pas direct, évident et trivial, mais il existe. »
Que l’on pense aux effets du numérique sur l’environnement ou sur la société, on peut se douter que l’Open Source et le logiciel communautaire vont plutôt dans le bon sens, apportent des éléments de réponse. D’abord, il y a l’effet mutualisation des efforts et les économies d’énergie. Au lieu de refaire la roue, que chacun développe son logiciel dans son coin, les logiciels ouverts paraissent plus efficaces, leurs briques peuvent resservir. Ce n’est certainement pas suffisant mais c’est toujours de l’énergie qui ne sera pas dépensée à reconstruire les mêmes outils. Pour le fonctionnement des logiciels une fois créés, on évoque souvent les infrastructures Cloud comme un moyen de rationaliser les ressources. Quoiqu’il en soit, fabriquer un logiciel ou l’utiliser sollicitent tous deux des infrastructures – un ordinateur, un smartphone, un data center… Ils consomment de l’énergie, sans parler des métaux et terres rares nécessaires à leur fabrication. Par ricochet, moins on les sollicite lors des développements, moins on dépense d’énergie, plus on allonge leur durée de vie.
Toujours dans la logique de communs et d’innovation ouverte, on peut se dire que si les personnes les plus compétentes travaillaient ensemble à des logiciels plus optimisés, plus sobres, plus efficaces, cela améliorerait l’impact environnemental global de nos applications. L’Open Source, c’est aussi un effet « intelligence collective » qui nous sera peut-être utile pour construire un numérique moins carboné.
Le numérique responsable, ce sont aussi les autres effets sur nos sociétés, avec des sujets comme l’inclusion, la mixité, l’accessibilité… On pourrait aussi évoquer le phénomène du « ghost work » derrière certains services d’IA, masquant des effets sociaux parfois positifs (accès à l’emploi de populations traditionnellement tenues à l’écart) parfois désastreux (pas d’accompagnement, pas de protection sociale). La culture Open Source et l’intelligence collective paraissent à l’opposé de ces pratiques, apportant plutôt transparence et innovation accessible à tous.
Cela ne surprendra personne : numérique responsable et logiciel libre portent des valeurs que certains qualifieront de bon sens, en tous cas d’ouverture et de progrès plus durable, qui s’accordent bien.
N’est-il pas compliqué de faire valoir les valeurs et avantages de l’Open Source, avec d’une part un vocabulaire associé plutôt complexe pour des néophytes, et d’autres part un manque de leadership centralisé ?
C’est vrai que le terme « Open Source » est connoté, cela semble un sujet technique à un niveau très opérationnel : on pense aux lignes de code, aux développeurs, à GitHub, etc. Pas étonnant que cela ne parle pas à tout le monde. On peut essayer d’employer d’autres termes, parler de « logiciel libre », de technologies « ouvertes », de « communs » numériques, etc. Cela peut parler davantage à certaines audiences. On peut aussi vulgariser ou associer l’idée à d’autres innovations qui seront de meilleurs véhicules à grande échelle. Par exemple, avec la médiatisation et l’engouement pour l’IA, peut-être que les notions de boîtes noires, de protection des données, d’algorithmes dans le domaine public, d’innovation ouverte, etc. pourront progressivement atteindre et intéresser davantage de personnes ?
Pour répondre à la 2nde partie de votre question sur la « gouvernance » de l’Open Source, je ne sais pas s’il s’agit d’un seul mouvement, ou plusieurs mouvements. Le domaine est constitué d’une foule d’acteurs différents, qui ne voient pas les choses de la même manière. C’est assez flagrant par exemple, quand on observe les grands salons européens sur l’Open Source. En Belgique au FOSDEM, les échanges ont lieu dans des salles de cours, ambiance estudiantine et tenues décontractées, peu de kakemonos, quasi aucun « marketing ». En France, le salon Open Source Experience rassemble d’autres profils : il y a davantage d’affichage et d’annonces, des personnalités politiques, des stands associatifs, des industriels, des fondations… Tous jouent un rôle clef dans le développement des logiciels libres. C’est un écosystème assez complexe, bien qu’il semble parler d’un même sujet l’Open Source. Pas sûr qu’il y ait un mouvement, une audience unique, un profil type en lien avec l’Open Source. On voit des modèles économiques différents, des bénévoles et des entreprises qui en font un « business », de petits et grands producteurs d’Open Source, de petits et grands consommateurs. Il y a tellement de déclinaisons que c’est difficile de porter des messages à échelle mondiale sur le sujet, encore plus d’en être « la tête de pont ». Au sein d’une organisation peut-être : pourquoi pas avoir un responsable de l’Open Source, un OSPO, etc. pour acculturer, diffuser, fluidifier les échanges et faire avancer les choses. Mais je ne suis pas sûr que cela soit transposable à une échelle internationale, si on peut fédérer tout ça – ou si c’est souhaitable d’ailleurs.
Je vous pose la question, est-ce qu’il faut fédérer ou peut-être créer plus de ponts entre les écosystèmes ?
Il y a certainement beaucoup de ponts à créer. Il y a aussi probablement, beaucoup d’éducation à faire auprès des utilisateurs. Pour mieux comprendre le sujet, nos responsabilités, aiguiser notre esprit critique, se poser quelques bonnes questions lorsqu’on choisit un service numérique : « Où vont mes données? Ce service est-il plus ou moins sécurisé qu’un autre, ai-je confiance ? À qui va mon argent, mes données, en échange de quoi ? », etc.
Peut-être qu’on pourrait comparer cela aux débats sur le bio : « Comment faire pour que les clients choisissent les meilleurs produits ? Est-ce trop complexe, trop cher ? Faut-il subventionner la filière, subventionner les consommateurs les moins autonomes ? Une grande tête de pont pour représenter la filière, ou plutôt éduquer les consommateurs à faire le bon choix quand ils font leur course ? Si tout le monde achetait du bio, les produits les moins bons disparaîtraient… »
Comment influencer la société à prendre un chemin vertueux grâce à l’Open Source ? Je n’ai évidemment pas la réponse, c’est d’une complexité incroyable et une question plus politique que technique ! Certains diront que c’est aux gouvernements de donner la tendance, et c’est peut-être en train de se faire doucement en favorisant l’Open Source dans les administrations par exemple. Est-ce suffisant ? C’est une autre question. Dans l’absolu il y a des choses qui se font, qui se structurent via l’Europe, les gouvernements, les entreprises, les associations.
Pour conclure, c’est certainement une bonne chose de continuer à créer des communs numériques. On aurait aussi besoin de nouveaux outils et ressources pour mieux vulgariser et rendre l’Open Source accessible à tous, afin que ces enjeux de logiciels libres et d’innovations ouvertes touchent un jour toutes les audiences.