L’open source et les systèmes embarqués critiques : une prochaine révolution ?

On voit apparaître de plus en plus de logiciels open source sur le marché de l’embarqué, du fait de ses multiples vertus, tant au niveau économique que sociétal. Cependant, cette part de logiciels open source s’amoindrit de manière vertigineuse dès qu’on intègre le marché de l’embarqué critique.

Quels sont les enjeux du développement de l’open source dans la conception de logiciels et systèmes embarqués critiques ?

Les Systèmes embarqués critiques, un secteur à part

L’Open source se développe depuis près de 25 ans mais reste encore minoritaire aujourd’hui dans l’informatique en général et encore plus en ce qui concerne les systèmes et logiciels critiques, liés directement à la sécurité des biens et des personnes. Ils sont ainsi soumis à des contrôles beaucoup plus strictes et plus suivis que tout autre logiciel embarqué. En effet le développement de logiciels critiques en Open source nécessite d’aller plus loin que  le simple partage des codes sources : il faut également partager plus d’éléments du cycle de vie logiciel tels que les exigences ou les cas de tests. Cependant, l’open source permettrait de faire des économies de taille quant au développement des solutions. Les logiciels critiques représentent en effet des coûts de développement très élevés.
En utilisant l’Open Source, les développeurs pourraient ainsi partir de bases communes ayant déjà prouvé leur efficacité pour leur nouveaux développements.
D'autre part, l'ouverture peut être un facteur important de fiabilité et de sécurité. En effet, le code source étant plus ouvert, il est utilisé à plus grande échelle et vérifié par des équipes différentes donc potentiellement avec des techniques distinctes permettant ainsi de rendre optimale la détection de failles, y compris les failles qui peuvent être exploitées par des utilisateurs malicieux.
Un produit qui a été très largement utilisé tend à devenir plus fiable avec le temps. L’open source pourrait ainsi devenir un gage en termes de qualité et de sécurité des systèmes critiques. Une fois ce constat admis, il reste à lever de nombreux freins tant dans les mentalités actuelles que dans les business model établis jusqu’ici.

La création d’un nouveau business model adapté à ces nouvelles normes

Les mouvements participatifs commencent à fleurir sur Internet. Nous nous dirigeons vers un monde plus ouvert. L’Open Source fait partie intégrante de ce nouveau modèle. De prime abord, les professionnels peuvent penser qu’en donnant les sources ils perdent l’avantage technologique sur un concurrent. Même s’il n’existe pas encore aujourd’hui d’analyse probante démontrant l’économie budgétaire réalisée suite à l’adoption de solutions Open Source, ce système économique permet de partager les coûts de développement, offrant ainsi un moyen à l’industrie de réduire ses dépenses en mutualisant les compétences.
Dans le cas précis des systèmes et logiciels critiques, il s’agira dans un premier temps d’arriver à s’entendre et à savoir partager le plus d’éléments possibles du cycle de vie du logiciel : les tests qui permettent de vérifier le bon fonctionnement du logiciel, les sources, les exigences, les standards de codage, les documents de conception… Il faut donc apprendre à partager et arriver à se comprendre également sur ce qui ne touche pas directement  au code source.
Un des challenges est de trouver un business model viable pour éditeurs de logiciels spécialisés dans ce type de développement puisqu’ils ne peuvent se reposer sur la protection de licences propriétaires ou de brevets. Baser leur offre commerciale uniquement sur les services rendrait difficile  la valorisation des activités de maintenance et d’évolution contrôlée de ces logiciels critiques ouverts.
Dans le logiciel non critique, de nombreux développeurs ont décidé de changer leur modèle pour de l’open source afin de répondre aux exigences accrues de leurs clients. Cela permet de s’appuyer sur une communauté large et experte afin de construire des solutions commerciales mutualisées. Dans le monde des logiciels critiques, les acteurs étant beaucoup moins nombreux, les  entreprises devront apprendre à coopérer avec leurs concurrents, seuls à avoir des besoins similaires,  sur les parties non différenciatrices des logiciels critiques qu’ils développent (par exemple, les couches basses). Ces parties représentent un pourcentage très important des coûts de maintenance à long terme et sont donc une cible idéale pour une mutualisation.
De nombreux défis nous attendent donc dans les prochaines années. Il s’agira dans un premier temps de mettre en lumière les avantages de l’Open Source dans le développement des applications critiques, mais également de s’accorder sur un fonctionnement commun, tout en changeant les mentalités avec des business model innovants et mutualisés.