It's Over for Liberta Audio
Liberta Audio, one of the largest and longest-running Funkwhale instances, is no more. We have decided to shut it down permanently.
Happy Birthday
Ironically, it was almost to the day on Liberta's 6th anniversary that Funkwhale crashed and burned.
6 great years but 6 big problems
This post is not a rant towards Funkwhale or its development team. We loved this project, and it was loved by thousands of users, bands, artists, and enthusiasts. It is with regret that we are shutting it down.
Compatibility with Debian 13, which provides Python 3.13, was the first problem, from which all the others stemmed.
The second problem is the chaotic development: Funkwhale has been working for quite some time, since the previous developer passed the torch, with a reduced team on the major 2.0.0 branch, completely breaking compatibility with the legacy code, federation, audio library concepts, and certainly many other things we don't fully understand. Version 1.4.1 was just a tag on their forge, and the documentation itself wasn't aligned with that long-ago version.
The third problem is the energy: we had to search through the artifacts produced by the pipelines, digging through jobs to find a commit that would have been suitable, when such artifacts even existed, as many jobs were mostly failed or incomplete.
The fourth problem is weariness: after manual patches and multiple checkouts to try and make progress on the Python code history on a functional — but obviously quite risky — intermediate version, and to allow us to wait for the 2.0.0 branch to mature, the interface appeared functional and responsive but crashes randomly. Some UX messages are simply cryptic because they conceal crashes. The code is simply too large, and we are unable to perform validations or tests.
Upgrade tests to 2.0.0-alpha.2 consistently faiedl during migrations after the third SQL query, requiring manual snapshot restorations. We simply gave up.
The fifth problem, and a major one: Liberta has been running in production for perhaps five years and has grown enormously, ranking among the three largest public instances. The instance was well-regarded, available, and efficient, at least for a while, but moderation began to become increasingly complicated, albeit strict, whether regarding potential copyright infringements or the content itself, which could have politically or legally crossed the line of our terms of service without us having the means or tools to protect ourselves.
The fifth and a half problem was stability: Funkwhale has always been the black sheep among our services, hogging memory or simply ceasing to respond. It was the only service that required a complete restart at least once a week, if not daily, on a dedicated 8-core, 16GB RAM machine, coupled with another 4-core, 16GB RAM machine for PostgreSQL. Add to that the constant barrage of warnings and errors in the logs inherent to Django, certificates, the API, and federation — things that we had come to get used to see for years and had stopped worrying about.
And the sixth problem: Liberta Audio has always been the rock in our thorn-planted-in-our-foot shoe, walking over a bed of embers, struggling against the howling wind inside a burning forest, while listening to Francis Lalanne, trebles pushed to the max.
More seriously, the Liberta Audio instance simply prevents Liberta from joining any structure, association or other entity, as the content is too complex to moderate and requires too much responsibility and commitment. We've never been able to hand it over to another hosting provider, and this instance has been a clear obstacle to any attempt at integration into a properly organized and responsible structure.
So, it's over for Liberta Audio after a few rather exhausting years whether in terms of heavy moderation or energy-intensive user support — more than technical work per se, since that's part of the hard work of a behind-the-scenes sysadmin, as many will surely know what that entails.
Thanks to Funkwhale, to everyone who trusted us, and to open source. A new chapter begins.
Me contacter / contact me: Mastodon: https://piaille.fr/@appzer0 – E-mail: libertadmin@liberta.vip