17/11/2024 –, C002
Le logiciel libre et ouvert a permis le développement de nombreuses applications et librairies, dont certaines sont plus couramment utilisées que leur équivalent propriétaire.
Il favorise les échanges, permet de partager ses idées, et lorsqu’il est correctement mis en place, améliore la sécurité des logiciels.
Maintenir un logiciel ou une librairie open-source peut également être une tâche très solitaire.
Les utilisateurs peuvent avoir tendance à montrer une forme d’ingratitude face au travail fourni, et il peut être difficile de trouver des co-mainteneurs.
Le cas de leftpad, ou plus récemment, de xz sont de bons exemples de cette difficulté à maintenir un petit logiciel libre.
D’un autre côté, certains logiciels ouverts sont aujourd’hui maintenus par des communautés très actives, utilisés par de nombreuses sociétés, et sont loin de manquer de mainteneurs. L’un des exemples les plus marquants est peut-être Kubernetes, qui comptabilise des milliers de contributeurs et des centaines d’entreprises.
Mais comment ces projets fonctionnent-ils ?
Comment des milliers de développeurs peuvent-ils réussir à collaborer ensemble et maintenir un code stable ?
Contribuer à ces projets est-il accessible à tout le monde ?
Serait-il possible de reproduire la même recette sur d’autres projets, avec moins de collaborateurs ou des technologies vieillissantes?
Pour tenter de répondre à ces questions, nous analyserons la gouvernance et le fonctionnement d’OpenTelemetry, le second projet le plus actif de la CNCF (Cloud Native Computing Foundation), qui développe des SDK dans plus d’une dizaine de langages différents, tous respectant les même standards afin de fonctionner de manière similaire.
Damien est ingénieur logiciel sur le produit d'observabilité de Elastic, et passe la majorité de son temps à contributer à OpenTelemetry, ou il est mainteneur pour le SDK Go.