Liberta Audio, c'est fini
Liberta Audio, une des plus grosses et anciennes instance de Funkwhale, n'est plus. Nous avons décidé de la fermer définitivement.
Joyeux anniversaire
Ironie du sort, c'est quasiment jour pour jour pour les 6 ans de Liberta que Funkwhale nous a explosé au nez.
6 grosses années mais 6 gros problèmes
Ce billet n'exprime aucune animosité envers Funkwhale ou son équipe de développement. Ce projet nous a plu et a plu à des milliers d'utilisateur⋅ices, de groupes, d'artistes, d'amateur⋅ices. C'est à regret qu'on l'arrête.
La compatibilité avec Debian 13, fournissant Python 3.13, a été le premier problème dont ont découlé tous les autres.
Deuxième problème, le développement chaotique : Funkwhale travaille depuis belle lurette, après que l'ancien⋅ne développeur⋅euse a passé le relai, avec une équipe réduite sur la branche majeure 2.0.0, cassant totalement la compatibilité avec le code historique, la fédération, les concepts d'audiothèque, et certainement beaucoup d'autres choses que nous ne maîtrisons pas. La 1.4.1 n'était déjà qu'un tag sur leur forge, la documentation elle-même non alignée sur cette version sortie il y a longtemps.
Troisième problème, l'énergie : nous avons dû chercher parmi les artefacts produits par les pipelines en fouillant dans les jobs pour trouver un commit qui nous aurait convenu, quand ces artefacts existaient, de nombreux jobs étant la plupart du temps en échec ou incomplets.
Quatrième problème, la lassitude : après des patchs manuels, de multiples checkout pour tenter d'avancer dans le code Python sur une version intermédiaire fonctionnelle – mais évidemment tout à fait hasardeuse – et de nous permettre de patienter le temps que la branche 2.0.0 mature., l'interface parait fonctionnelle et réactive mais bogue aléatoirement, certains messages sur l'UX sont simplement cryptiques car ils dissimulent des plantages, le code est de toute façon trop gros et nous ne sommes pas en mesure de procéder à des validations ou des tests.
Des test de mises à niveau vers la 2.0.0-alpha.2 nous explosant systématiquement au nez pendant les migrations dès la troisième requête SQL, avec les restaurations de snapshots à la main que ça implique, nous avons simplement fini par baisser les bras.
Cinquième problème, et de taille : Liberta tourne peut-être depuis 5 ans en production et a énormément grossi, figurant dans les 3 plus grosses instances. L'instance était appréciée, disponible et performante, au moins pendant un temps, et la modération a commencé à devenir de plus en plus compliquée, bien que sévère, que ce soit au niveau des possibles copyrights ou du contenu lui-même qui politiquement ou légalement aurait pu déborder de nos conditions d'utilisation sans que nous ayons les moyens ou les outils pour nous en prémunir.
Cinquième problème et demi, la stabilité : Funkwhale a toujours été ce mauvais élève parmi nos services qui engloutissait la mémoire ou cessait tout simplement de répondre. C'est le seul service qui demandait un redémarrage complet une fois par semaine minimum, quand ça n'était pas chaque jour, sur une machine dédiée de 8 coeurs et 16 Go de mémoire, couplée à une autre machine pour PostgreSQL de 4 coeurs et 16 Go). Ajoutons à cela des murs d'avertissements et d'erreurs continuels dans les logs inhérents à Django, aux certificats, à l'API et à la fédération que nous nous étions habitué⋅es à voir depuis des années maintenant et dont nous avions cessé de nous inquiéter.
Et le sixième problème : Liberta Audio a toujours été notre caillou dans la chaussure que traverse une épine fichée dans notre pied foulant un lit de braises à contre-courant d'une forêt en flammes en écoutant Francis Lalanne avec les aigues à fond.
Plus sérieusement, l'instance Liberta Audio empêche tout simplement Liberta de rejoindre une structure, associative ou autre, le contenu étant trop compliqué à modérer et requérant trop de responsabilités et d'engagement. Nous n'avons jamais pu passer la main à un autre hébergeur et cette instance constituait un frein net à toute vélléité d'intégration à une structure organisée et responsable comme il se doit.
C'est donc terminé pour Liberta Audio après quelques années plutôt usantes, que ce soit en termes de modération lourde ou de support énergivore avec les usagèr⋅es – plus que de charge technique à proprement parler, car ça fait partie du dur boulot de sysadmin de l'ombre, beaucoup savent certainement de quoi il retourne à cette évocation.
Merci à Funkwhale, à tout⋅es celleux qui nous ont fait confiance, et au libre. Une page se tourne.
Me contacter / contact me: Mastodon: https://piaille.fr/@appzer0 – E-mail: libertadmin@liberta.vip