[fr] 15 ans de projets libres : bilan
Il y a 15 ans j'écrivais un article faisant le résumé de ma première année d'activité en tant que développeur de logiciel libre. J'ai ensuite fait des bilans réguliers durant les 9 ans qui ont suivi...
Il y a 15 ans j'écrivais un article faisant le résumé de ma première année d'activité en tant que développeur de logiciel libre. J'ai ensuite fait des bilans réguliers durant les 9 ans qui ont suivi. J'ai discuté de sujets divers et variés tels que les premiers pas, la contribution, les échecs, etc. Enfin, j'avais conclu ces 10 années sur la satisfaction que j'avais tirée de toutes ces réalisations. Je pensais avoir fait le tour mais après 5 nouvelles années, j'ai eu le sentiment d'avoir encore des choses à partager.
Durant cette période, ma contribution a été faite exclusivement sur mon projet Kitsu (licence AGPL) porté par mon entreprise CGWire. Kitsu est un logiciel de gestion de projets pour les studios d'animation et de VFX basé sur Javascript (Vue.js), Python (Flask) et Postgres. C'est une brique importante de leur système d'information. Autour de ce logiciel, nous fournissons des services d'hébergement et de support. Ce qui me permet d'en vivre à temps plein depuis maintenant bientôt 10 ans.
Pour ce bilan, après un récapitulatif sur l'état d'avancement de Kitsu, je vais aborder différents thèmes : la collaboration avec un projet à très grand succès, être parent et développeur, l'organisation de notre premier événement dédié à notre solution, trouver un modèle d'affaires viable, faire du logiciel libre à l'heure de l'IA générative, et enfin je sortirai du champ Kitsu avec des réflexions autour des données personnelles et des LLMs.
Bilans précédents : 1, 2, 3, 4, 5, 6, 8, 9
État du projet
Aujourd'hui, Kitsu est reconnu comme une solution solide par tout le secteur de l'animation. Nous équipons environ 500 studios de 1 à 1000 personnes (la majorité d'entre eux est composée de 20 à 50 personnes) dans plus de 30 pays dans le monde.
Les films et séries utilisant Kitsu sont principalement des productions indépendantes. Nombre d'entre eux ont reçu des prix prestigieux avec notamment des succès récurrents au Festival d'Annecy (la référence en animation 2D) mais aussi à Cannes, aux Césars ou aux Oscars. Le film qui a reçu le plus de récompenses est Flow (pour le coup en 3D !).
C'est un résultat assez réjouissant. Toutefois, nous ne sommes jamais sortis de cette sphère indé, les gros studios ont toujours boudé notre solution, préférant le standard américain géré par Autodesk. Nous sommes donc restés sur des performances financières très modestes comparées à celles des start-up classiques (500 k€/an de CA). Ce résultat est toutefois à mitiger, car le secteur subit une forte crise depuis 2023, y survivre est déjà une performance en soi.
Du point de vue de l’équipe, nous sommes 5 à travailler dessus à temps plein et bénéficions de contributions régulières de notre communauté (tickets, PR, plugins et récemment une application mobile). Il y a donc une activité soutenue autour du produit.
Pour ce qui est de la licence, Kitsu est toujours sous AGPL. Son installation et son usage sont pleinement documentés, mais il dépend encore beaucoup de la structure commerciale derrière (CGWire). Son fonctionnement est bien compris par plusieurs membres de la communauté, mais pas assez pour qu'ils le maintiennent eux-mêmes.
En somme, le projet avance lentement mais sûrement et se porte bien. L'outil remplit son rôle, la communauté est contente et se développe. Nous avons pu conserver la licence tout du long et l'adoption est grandissante.
La rencontre avec Blender
À travers mon projet précédent, feu Cozy Cloud, et plus récemment les événements OSS Founders, j'avais déjà eu l'occasion de rencontrer des fondateurs de projets libres populaires. Parmi eux, on compte les CEO de Matomo, Nextcloud ou Strapi. Ces échanges sont toujours grisants, intéressants et informatifs, mais ça n'est pas allé plus loin que quelques bonnes discussions et poignées de main.
Avec Kitsu, pour la première fois, j'ai eu l'occasion de collaborer directement avec un projet libre à succès et pas des moindres : Blender (un outil de création 3D en plein boom). J'ai non seulement pu assister aux premières loges de leur ascension récente, mais j'y ai aussi un peu participé.
En effet, la plupart des studios utilisant Blender se sont tournés naturellement vers notre solution pour gérer leurs projets. La fondation portait un outil similaire de gestion (Attract) mais son développeur principal n'était autre que Francesco Siddi (aujourd'hui CEO). Son implication grandissante dans tous les domaines de la fondation lui laissait peu de temps pour s'en occuper. Voyant les progrès de Kitsu, il s'est tout simplement dit qu'il était plus simple de nous soutenir que de continuer à maintenir son projet.
Ainsi, Kitsu a été choisi pour suivre les projets vidéo du Blender Studio, mais a aussi été plébiscité par celui-ci. Nous avons donc gagné en notoriété et avons bénéficié d'une visibilité internationale. Le studio ne s'est pas arrêté là puisqu'il nous a également un peu soutenus financièrement en commandant quelques fonctionnalités dans le logiciel. En contrepartie, notre logiciel leur a bien été utile pour s'organiser et faciliter la création de leurs films. J'en profite tout de même pour les remercier une nouvelle fois pour leur aide !
Un autre élément important, qui nous a beaucoup impactés, c'est la présentation que Ton Roosendal m'a faite du projet Blender lors de ma visite au studio (encore CEO à l'époque, mais il intervenait moins car il avait commencé les soins du cancer dont il sera guéri plus tard). Il a partagé avec moi les valeurs profondes de la fondation. Leur mission principale est de donner à n'importe quel artiste la liberté de créer en lui fournissant des outils de création numérique haut de gamme. Blender est en fait bien plus qu'un logiciel, c'est un vrai mouvement pour un monde plus ouvert.
Ce qui m'a amené à pousser la mission de Kitsu dans ce sens : l'idée n'était plus seulement de permettre de collaborer sereinement au sein des équipes d'animation. Nous voulions aussi permettre à n'importe quel studio dans le monde d'avoir les outils d'organisation et la méthode pour mener un projet de long métrage ou de série au bout, malgré des budgets toujours plus serrés.
En effet, les narratifs de film d'animation sont encore trop peu diversifiés et s'inspirent souvent de ceux de Disney. Chaque film indépendant qui émerge propose une autre vision du monde. Cette diversité nous libère des conceptions véhiculées par les films à grands budgets. Comme les maigres budgets des films indés ne suffisent pas toujours à finaliser le projet avec la qualité souhaitée, de bons outils d'organisation sont nécessaires pour optimiser les efforts. Ceux-ci étaient difficilement accessibles (chers et complexes à mettre en œuvre), Kitsu de par son aspect libre et sa simplicité, a rendu possible l'utilisation de ces outils.
Ainsi, de nombreuses œuvres originales comme Flow, Jim Queen, In Waves, Linda veut du poulet, Allah n'est pas obligé ont pu aller au bout de leur vision artistique. Et dans le monde entier, le phénomène s'est répété, comme encore récemment avec des films comme Bravecat en Amérique latine ou Igi (en cours) en Géorgie. Ces nouveaux points comptent car ils libèrent nos imaginaires en nous offrant un autre regard sur le monde.
Vous l'avez compris : rencontrer et être accepté par l'équipe et la communauté de Blender a été transformateur pour notre projet. Nous avons, d'une part pu étendre notre visibilité, mais surtout viser une finalité encore plus porteuse.

Logiciel libre et parentalité
Dans un tout autre registre, il y a 3 ans environ je suis devenu père. Cet heureux événement a eu un impact significatif sur mes projets et mes contributions.
Cela ne surprendra personne, mais ça prend beaucoup de temps et d'énergie d'être parent. D'autant plus que cela s'est passé sur fond de crise du secteur de l'animation, ce qui a fait que je n'ai pas pu vraiment lever le pied sur Kitsu.
J'ai donc forcément dû sacrifier pas mal d'activités. À partir de ce moment-là, toute contribution était devenue trop difficile pour que je me motive. J'ai dû aussi arrêter l'organisation des meetups que j'ai mentionnés dans mon précédent post. Même suivre l'actualité des différentes associations du libre ne m'était pas toujours facile.
Mon emploi du temps a été chamboulé et les soirées drainaient suffisamment mon énergie pour me démotiver à regarder d'autres dépôts de code ou à démarrer de nouveaux projets. J'ai donc pris conscience à quel point c'est difficile pour un parent de contribuer. Je suis d'autant plus admiratif quand je rencontre un développeur parent désormais.
Pour tempérer, cela s'améliore avec le temps. Pour preuve, j'ai pu écrire cet article ! Et cette situation peut aussi être vue comme l'occasion de se donner des limites strictes et de se concentrer sur un problème donné plutôt que de papillonner sur plein de projets différents.
La pression de l'offre gratuite
Vouloir vendre un logiciel "gratuit" n'est pas chose aisée. En réalité, on vend de l'hébergement et du support autour de Kitsu. Alors, certes, l'accès gratuit facilite la dissémination, mais cela nous amène aussi à quelques écueils.
Un premier souci est que les installations auto-hébergées sont rarement propres et que le logiciel n'est pas toujours utilisé de façon optimale. Cela nous arrive donc de croiser des utilisateurs mécontents sans comprendre l'origine du problème. Mais quand on creuse un peu, ils utilisent une version auto-hébergée et n'ont pas la dernière version ou ne sont simplement pas au courant de la disponibilité d'une fonctionnalité.
Les studios pensent faire des économies en se passant de nous, mais se priver d'un éditeur pour un logiciel clé a aussi un coût (installation, maintenance, impact des incidents, sous-optimisation). Et cela nous impacte négativement aussi dans le sens où on peut générer de l’insatisfaction sans que nous y puissions faire quoi que ce soit.
Ce problème est tout de même compensé par un autre phénomène : beaucoup de gens sont contents de pouvoir accéder à ce type d'outils alors que leur budget ne le permet pas. On ne compte plus les studios qui viennent nous remercier sur notre stand sans qu'on ait jamais entendu parler d'eux.
Pour autant, cela crée une situation où notre plus gros concurrent devient nous-mêmes. Nous sommes contraints d'argumenter en notre faveur auprès d'un utilisateur déjà convaincu. Il nous est aussi arrivé d'avoir des clients utilisant notre cloud, qui, au renouvellement, nous annoncent le prix qu'ils souhaitent payer en nous menaçant de basculer en auto-hébergement si nous refusons.
Et avec la crise du secteur, beaucoup de studios ont décidé de basculer sur la version auto-hébergée. Récemment, nous avons lancé une offre légère de support à petit prix. Le succès a été très timoré. Cela nous a mis dans la position inconfortable de devoir quémander des sous à des sociétés qui tirent un bénéfice conséquent de notre solution.
Cela crée une situation difficile à gérer. Nous ne l'avions pas anticipé, nous pensions que les productions avec des budgets significatifs n'oseraient pas se priver de la garantie de fonctionnement proposée par le fournisseur.
Ce manque à gagner freine clairement notre progression et surtout nous met toujours sur le fil. Quand les perspectives ne sont pas bonnes, cela nous met particulièrement sous pression. Malgré la dynamique vertueuse du logiciel libre, cela peut aussi engendrer des situations désagréables pour les mainteneurs.
Pour pallier à ça, nous essayons aussi de mettre en place des features propriétaires externes au logiciel : système de synchronisation entre différents studios, serveur MCP, optimisations des traitements vidéo, setup multi-régions, etc. Nous avons pas mal d'espoir que cela remotive les studios avec un budget à rebasculer sur une offre complète.
Pour résumer, le fait que Kitsu soit libre stimule énormément l'écosystème de l'animation. Pour autant, cela génère une pression importante sur l'entreprise soutenant son développement. Maintenir le projet à flot tout en restant libre requiert beaucoup de travail.
Standardisation
Mais le fait que l'application se diffuse facilement fournit aussi un avantage non négligeable : petit à petit, l'outil devient le standard de l'industrie. D'autant plus que notre modèle de données et nos interfaces sont plutôt légers comparés aux offres concurrentes. Kitsu est donc l'outil facile à adopter, sur lequel on peut démarrer très vite en passant de studio en studio.
Encore mieux, chaque studio peut scripter facilement des connexions avec ses propres outils et avec le Kitsu d'un autre studio. Comme il est courant de fonctionner en coproduction (plusieurs studios financent et fabriquent le projet), le côté standard de Kitsu facilite bien la collaboration.
Côté école, Kitsu a la cote aussi. Pour les étudiants, la facilité de prise en main les aide à mettre en place leurs premiers projets. Cela leur fournit aussi un cadre de studio. Ainsi, ils seront ce qui est attendu d'eux en matière de reporting et de communication une fois qu'ils intégreront une équipe. Les futurs professionnels de l'image connaissent déjà Kitsu et seront motivés pour en parler.
Étant donné que la difficulté du film réside dans la partie artistique, fournir une brique clé en main, facilement accessible, retire une bonne épine dans le pied à toutes les parties prenantes de l'industrie. Quand Kitsu devient le choix par défaut, le problème de l'outil d'organisation se règle. Les équipes de production peuvent se concentrer sur leurs métiers respectifs et, par conséquent, livrer de plus beaux films.
Le premier Kitsu Summit
Fort de ce succès, nous avons pu organiser le premier événement sur une journée entièrement dédiée à notre projet. 70 personnes ont été réunies autour de 12 conférences parlant de l'utilisation de Kitsu. Nous avons aussi accueilli quelques sponsors.
Cela nous a permis de faire se rencontrer tout un tas d'acteurs de notre écosystème. La communauté a pu échanger dans la joie et la bonne humeur. Nous avons aussi discuté avec tout un tas de personnes que nous ne voyons jamais directement. Ce genre d'événements est évidemment très stimulant.
Nous avons également pu récupérer beaucoup de captations vidéo. Ce qui nous a fourni un conséquent matériel vidéo à diffuser. Cela renforce notre crédibilité.
Toutefois, organiser un tel événement a requis beaucoup d'énergie et a été assez coûteux (nous étions largement à perte). Nous ne sommes donc pas encore en capacité d'en faire un tous les ans, mais la motivation pour un autre est là !

Le code à l'heure de l'IA générative
Comme si la crise du secteur ne suffisait pas, notre métier de développeur a été révolutionné récemment. Les IA génératives génèrent du code correct rapidement. Quand j'enfile ma casquette de développeur, je passe donc plus de temps à discuter avec un agent qu'à intervenir sur le code directement.
Bien qu'étant une petite équipe, ces nouvelles possibilités, nous ont pas mal occupés. Nous avons pu lancer des refactorings longtemps attendus, en planifier d'autres et lancer des audits à répétition sur notre existant (à chaque avancée des modèles). Nous avons pu aussi prendre beaucoup plus de tickets. En interne, nous avons également développé plein de petits utilitaires pour nous faciliter la vie, surtout au niveau de notre infrastructure d'hébergement.
La partie assurance qualité du projet a été la plus boostée, mais nous avons aussi pu fournir de nombreuses fonctionnalités rapidement et trouver des solutions à des problèmes posés depuis longtemps (exemple : appliquer une gomme sur des dessins vectoriels).
Les contributions ne sont pas en reste. Elles sont déjà plus nombreuses, plus conséquentes, et de meilleure qualité. Voici quelques exemples : support d'OpenID, serveur MCP, app mobile pour valider les vidéos stockées sur la plateforme, plugin applicatif, etc. Pour les encaisser, nous faisons appel aux modèles eux-mêmes afin de faciliter les relectures.
Néanmoins, qui dit plus de code, dit plus de travail. Cela nous demande aussi de repenser notre organisation en vue de gérer cette nouvelle masse. Surtout si les contributions et tickets s'accélèrent, nous allons devoir revoir complètement notre infrastructure d'intégration continue (automatisation de l'analyse et traitement des tickets, des pull requests, des remontées Sentry, etc.).
Nous avons aussi pu utiliser pour la première fois Kitsu pour gérer un projet de développement complet. En effet, lancer un agent sur un projet long n'offre pas de retours clairs sur l'avancement. Avec notre outil, nous avons pu suivre toute la progression, fournir des retouches via notre système de discussion et surtout nous avons pu tracker la consommation complète de tokens (ainsi que le temps total passé). C'est un usage détourné de Kitsu mais c'est intéressant qu'à l'heure de l'IA, les développements se suivent plus comme un projet industriel classique : de manière linéaire avec un suivi de consommation.
Mais tout ceci vient avec de lourdes contreparties. La manière dont sont fabriqués et distribués les modèles est délétère : extraction massive de ressources, esclavagisme des travailleurs du clic, consommation excessive d'énergie, concentration du contrôle des modèles et communication menaçante des acteurs du secteur. Et pour revenir à un souci plus terre à terre, le prix du token n'est pas encore déterminé. Ce qui est possible aujourd'hui ne le sera pas forcément demain.
Pour mitiger ces aspects, nous avons rédigé un manifeste pour placer quelques garde-fous : https://www.cg-wire.com/sustainable-ai-manifesto . Ces lignes nous permettent de garder un minimum de respect pour nos utilisateurs, mais elles ne résolvent pas tous les problèmes mentionnés.
Dans les autres aspects négatifs, j'aimerais aussi souligner le fait que la perte de contrôle induite par l'utilisation d'un logiciel tiers, n'est pas négligeable. On passe d'un stade où on peut tout coder chez soi sans connexion internet et de manière privée à une situation où on envoie tout sur un cloud extérieur facturé à l'usage et analysant nos données (Andrew Kelley en parle mieux que moi).
Les reviews aussi sont plus délicates. Avant, faire une review permettait de faire progresser le contributeur. Désormais, la review sert principalement à valider le code. L'impact d'une relecture est donc moindre. Il faut aussi revoir beaucoup plus de code généré avec une logique exhaustive. Certes, les modèles respectent les règles de l'art, mais pour autant la charge cognitive à la relecture est plus importante.
Autre souci, les agents de code poussent à la consommation et proposent toujours d'aller plus loin. L'agent ne se fatiguant jamais, le fait de définir des limites devient difficile. Minimalisme et code agentique ne font pas bon ménage.
Enfin, le plaisir de coder n'est plus le même. Passer une bonne journée à résoudre des problèmes, nettoyer son code, écrire la documentation associée est bien plus plaisant que de discuter des fonctionnalités, de l’architecture et des objectifs avec un LLM.
Voilà pour un premier tour d'horizon. Le sujet de l'IA générative dans le code est très complexe. Je n'ai pas de recommandation à faire. L'idée ici est de partager un premier retour d'expérience. Ce changement est encore très récent et il est difficile d'avoir du recul dessus. Au passage, je recommande l'excellente publication Limites Numériques, qui pose pas mal de bonnes questions sur le sujet des LLMs et IA génératives, notamment sur la partie expérience utilisateur.

IA et données personnelles
Cela me permet de faire la transition vers un sujet qui me tient particulièrement à cœur : la question des données personnelles (cf. l'ère Cozy Cloud). En effet, à travers les interactions avec les LLMs, nous produisons et fournissons des données personnelles plus que jamais. Le besoin de récupérer le contrôle dessus se fait donc encore plus ressentir.
D'autant plus qu'un nouveau champ d'usage semble possible. Puisqu'avec plus de données de contexte, les réponses deviennent plus pertinentes et peuvent se baser sur des rapprochements intelligents. La mise à disposition d'un assistant virtuel paré à nous servir devient envisageable.
Aujourd'hui, des outils libres comme Hermes ou OpenClaw permettent déjà de mettre en place un tel agent pour organiser nos besoins personnels. Mais pour en tirer pleinement parti, il faut un accès à un LLM local (très coûteux aujourd'hui) et à des données personnelles structurées et privées. On peut évidemment fonctionner avec des LLMs du marché et la suite Google mais cela revient à se livrer totalement à un acteur tiers. Et comme on l'avait constaté avec Cozy Cloud, les données sont trop fragmentées entre plateformes concurrentes. C'est donc plus difficile de faire ça aussi bien qu'avec des services maîtrisés et déployés sur son propre hardware.
J'ai aussi pu observer que le principe d'autohébergement s'est popularisé : le Mac Studio est en rupture de stock, le Framework Desktop a un succès retentissant, Google propose des VMs personnelles (Gemini Spark), NVidia propose sa box, etc. Toutefois, s'auto-héberger devient de plus en plus un sport de riches. Le prix du matériel explose et pour faire tourner un bon LLM, il faut compter plusieurs milliers d'euros.
Tout ça pour dire que l'informatique personnelle va probablement prendre une nouvelle dimension, mais cela profitera probablement surtout aux classes très aisées. Je suivrai tout de même cela de près et encouragerai toute initiative libre et protectrice de la vie privée dans ce domaine.
Conclusion
Ces cinq dernières années ont été très riches en événements, apprentissages, rencontres et découvertes.
Même si j'ai moins codé, j'ai beaucoup appris sur les dynamiques du logiciel libre et des modèles d'affaires liés tout en suivant les dernières évolutions technologiques. Mais surtout, j'ai pu voir mon projet se développer et rendre ses utilisateurs heureux. Enfin, j'ai pu travailler avec un des projets les plus excitants du monde libre.
Mon constat est que réaliser un projet utile et libre a un impact positif net sur le secteur ciblé. Cela amène à faire des rencontres inespérées auparavant. Mais plus l'outil progresse, plus l'alimenter nécessite des moyens conséquents. Les trouver requiert beaucoup d'énergie et amène à des situations ingrates. C'est dans ces moments que la mission prend tout son sens. Il faut savoir pourquoi on se lève le matin pour garder la motivation et trouver l'énergie pour continuer.
Kitsu a aussi permis à une brique libre de faire une percée dans un secteur où les solutions propriétaires étaient quasi omniprésentes (en dehors de l'adoption récente de Blender). C'est un pas de plus vers un monde numérique plus vertueux.
Tout ceci n'a pas été de tout repos, mais je dois dire que c'est une sacrée aventure dont je ne me lasse pas. J'ai tout de même hâte d'arriver à une forme de stabilité. Les aléas du marché créent une incertitude qui n'est pas toujours confortable. J'espère pouvoir vous dire que j'y suis arrivé lors de mon prochain bilan en y ajoutant plein d'autres apprentissages et nouvelles !
