Rendre à la communauté : soutenir les mainteneur·euses FLOSS avec le projet Besa

Rendre à la communauté : soutenir les mainteneur·euses FLOSS avec le projet Besa

Le logiciel libre et open source (FLOSS) témoigne de la puissance de la collaboration, de la communauté et, dans bien des cas, de la solidarité. Il nous permet de nous appuyer sur les efforts et les améliorations des autres, en suivant le principe consistant à se hisser sur les épaules de géants hackers.

C’est profondément ancré dans notre ADN d’équipe : trouver constamment des moyens de rendre à cet écosystème formidable ce qu’il nous a donné. Si l’idée de contribuer semble simple, la mettre en œuvre de façon cohérente, efficace et équitable est l’un des principaux défis auxquels nous avons été confrontés. Nous avons cherché une façon de le faire qui soit durable, adaptable et équitable pour toutes les parties concernées, tout en restant fidèles à notre volonté de demeurer une petite équipe par conception.

Le principal défi auquel font face les développeur·euses FLOSS

Comprendre l’importance d’une telle initiative nécessite de reconnaître et de comprendre le ou les défis auxquels sont confrontés aujourd’hui les mainteneur·euses de logiciels libres et open source. Nous pensons avoir juste assez d’expérience pour réfléchir collectivement et mettre à profit notre savoir-faire afin de trouver la meilleure façon de rendre à la communauté.

Mais quel est ce défi ? Les développeur·euses FLOSS jonglent souvent avec de nombreuses responsabilités et des ressources limitées, ce qui complique le maintien de leurs projets et la possibilité de repousser les limites pour les améliorer davantage. L’un de ces défis est le déploiement automatisé du code nouvellement écrit dans un environnement de test et de production. Cela se traduit souvent par moins de temps consacré à écrire du code, et plus de temps passé à apprendre et déboguer des compétences et problèmes de type Sysadmin/DevOps. Pour ne rien arranger, chaque projet utilise une combinaison différente de langages de programmation et de dépendances, donc chaque configuration doit être personnalisée.

Alors, comment pouvons-nous soutenir ces projets FLOSS absolument essentiels, dans le cadre de notre lutte contre la Big Tech ?

Eh bien, nous avons désormais un plan solide pour soutenir les développeur·euses open source en simplifiant et automatisant certains des aspects les plus fastidieux de la maintenance logicielle. Cette initiative, que nous avons « baptisée » Besa, arrive à un moment particulier pour nous, alors que nous venions de célébrer nos cinq ans au LinuxDay Torino. Avec toute l’expérience accumulée au fil de ces années et les nombreux enseignements tirés des difficultés rencontrées par les développeur·euses open source, nous avons identifié une façon de soutenir les projets FLOSS de manière concrète et significative. Du moins, nous l’espérons.

Comment fonctionne le projet Besa ?

Alors que nous continuons à peaufiner cette solution (le plus gros du travail est presque terminé), notre objectif est d’aller à la rencontre des développeur·euses là où ils et elles se trouvent. Voici comment nous comptons procéder :

  1. Abaisser la barrière à l’entrée : les développeur·euses peuvent définir l’empaquetage de leur logiciel à l’aide d’un modèle Dockerfile et Docker-Compose, ce qui rend le processus aussi accessible que possible. Nous aiderons également les développeur·euses qui en ont besoin mais ne peuvent pas y consacrer de temps actuellement.
  2. Automatiser les tâches fastidieuses : une fois le code poussé, le travail complexe en coulisses — l’empaqueter dans une image de conteneur et l’exécuter dans un environnement cloud — est géré automatiquement.
  3. Infrastructure as Code, gestion de versions et transparence : chaque ressource nécessaire au fonctionnement de cette solution est déclarée sous forme de code, des clusters Kubernetes aux bases de données gérées, garantissant un historique clair des changements et des actions au sein de l’environnement, ainsi que la possibilité de fournir votre propre clé API pour les fournisseurs pris en charge.
  4. Environnements dynamiques avec GitLab : chaque Merge Request ou branche ouverte crée un déploiement correspondant avec ce code, ce qui facilite les tests du résultat final par des contributeur·rices non technique. Cela ouvre aussi la voie à des tests de navigateur automatisés à l’aide d’outils comme Cypress ou Selenium.
  5. Open source jusqu’au bout : notre solution est entièrement construite à partir d’une combinaison d’outils open source comme GitLab (édition communautaire), Ansible, OpenTofu, Kompose et Kubernetes.

Rejoignez-nous

En ce moment, nous finalisons encore les détails opérationnels de cette initiative, avec pour objectif d’offrir le meilleur soutien possible aux projets FLOSS. Notre objectif est d’annoncer les premiers partenariats au premier ou deuxième trimestre 2025, si l’intérêt est au rendez-vous. Si vous souhaitez bénéficier de notre soutien plus tôt, ou si vous avez des retours ou des idées précieuses, n’hésitez pas à nous contacter. Nous reviendrons vers vous après un examen interne de nos ressources disponibles. Malheureusement, notre capacité est limitée et nous ne pouvons pas, pour l’instant, soutenir autant d’initiatives que nous le voudrions.

Il y a beaucoup de progrès, mais nous n’y sommes pas encore, et nous partagerons plus de détails bientôt, donc gardez un œil sur nos articles de blog. En attendant que tout soit finalisé, continuons à nous appuyer sur les épaules des géants qui ont partagé leur savoir avec nous, et à améliorer encore nos technologies FLOSS.

FAQ

Voici quelques premières questions fréquentes, mais nous publierons plus de détails sur docs.cloud68.co.

Puis-je déployer cela sur mon propre GitLab ? Oui, le framework est conçu pour être polyvalent et s’adapter à diverses configurations, y compris votre propre instance GitLab.

Et GitHub ? Nous privilégions le fait de construire notre solution au-dessus de GitLab, en raison de la nature propriétaire de GitHub, détenu par une Big Tech. Nous comprenons cependant le rôle que GitHub a (malheureusement) fini par occuper dans la sphère du développement logiciel, et nous ne voulons pas imposer aux développeur·euses le choix de leur VCS. Pour l’instant, utiliser le Pull Mirroring (disponible via les solutions GitLab pour les projets open source) vous permettra d’utiliser l’écosystème CI de GitLab tout en restant sur GitHub. Nous restons également ouverts à travailler sur un support GitHub selon la demande.

Et si j’ai besoin de plus d’aide au début ? Nous comprenons que démarrer avec un nouveau système peut être difficile. C’est pourquoi nous proposerons un nombre déterminé d’heures de travail pro bono pour chaque projet, afin que vous puissiez profiter des avantages de la nouvelle configuration le plus rapidement possible.

Est-ce que j’en bénéficie automatiquement si j’ai un projet FLOSS ? Actuellement, nous priorisons les projets plus modestes, aux ressources limitées mais à l’impact significatif. Nous avons une liste de projets dont nous nous sentons proches et qui, selon nous, bénéficieraient grandement de ce soutien. Nous aimerions soutenir le plus de projets possible, tout en restant réalistes quant à ce qu’une petite équipe comme la nôtre peut offrir à ce stade.

Panier d'achat