Funkwhale started as a personal project three years ago, in reponse to Grooveshark being shut down. As of today, new instances are poping up every week, the project is getting traction and attracting external contributions. What should you expect for the future of the project?
In the beginning, in 2015, there was only me, Eliot, working on my free-time on this "thing", in reaction to Grooveshark disappearance. At that time, Funkwhale had no logo, no documentation, no website, the UI was clunky, buggy, and the only deployment was mine.
It kinda worked, and it was satistfying to be independant from big streaming platforms, but the amount of effort was really not worth it, especially since the interface was not so good.
However, in 2017 (or was it 2016?), I discovered a great new technology, called VueJS, which I used to rebuild the project front-end, from scratch. Suddenly, everything became both easier and more satisfying from a user and a developper perspective, and I felt confident enough to show the project to some close friends and family.
Using their feedback, I could improve the project and progressively add new features. The first time I mentioned it publicly, it was probably here, in July 2017. But the real kickoff of the project was with this toot (in french), where I invited people on my own instance for a closed beta, at the end of february 2018.
This attracted a few dozens of strangers, eager to try (and break) the app. Here again, their feedback helped me a lot, and the project owes a lot to their contributions. Overall, I'd say the feedback was really positive, and for me it was one of those moment in life when you are fueled with energy and ideas!
From march to this very day, things accelarated. A lot:
- Sean Tilley wrote a great article on the project, attracting more people
- Other people started to host Funkwhale instances. Gled, especiallly, started the first public instance: https://funkwhale.mastodon.host/
- External contributions where submitted to the codebase and the documentation by no less than 20 people
- People started to give money to the project on Liberapay and Duniter
- I opened a dedicated Mastodon account for the project: https://mastodon.eliotberriot.com/@funkwhale
- I opened matrix rooms to gather members of the community, discuss about the development, welcome newcomers, and have fun together
- Basic federation of music libraries was implemented
- I was interviewed by Narf, from Framasoft, and Guénaël Pépin, from NextINpact about the project
- I presented ActivityPub and Funkwhale's implementation at the RMLL in Strasbourg, in July
- Funkwhale was internationalized and handsome contributors translated it in more than 10 languages
- Jibec created and maintained a YunoHost package for the project
- I spend a week in July with other developpers, designers and contributors to federated projects during the "fédérathon", organized by Nathanaël. Users tests were made against Funkwhale's UI, and lot of feedback was gathered
- We went from the 0.6 release to the 0.16, with literally dozens of bugfixes, new features, enhancements, etc.
- Curator started Open.audio, an open instance for creators wanting to share their content on Funkwhle
- All the other things I forgot
I'm not saying that to be pretentious or get credit. Actually, a lot of those achievements and milestones involved other people than me, and even if I'm still the main developper and code contributor, the project in its current state goes far beyond of what I could do by myself.
So thank you, to all the people who helped, brought fun, ideas, feedback, design, translations, who talked about the project and improved it. Funkwhale feels more real now than it was a year ago, and it's because of you!
So, here we are, the summer is over, and we have to talk about what will happen next. Because all the good things that happened also had a price and, unfortunately, things cannot continue like that forever.
As a project maintainer and main contributor, I still have a lot of things to do:
- Gathering feedback
- Assisting user and instance owners with installation or usage issues
- Maintain the documentation up-to-date and improve it
- Welcome new people in the community, and answer questions about the project
- Answer questions about the project, its roadmap, features, etc.
- Manage the issue tracker: answer new issues, comments, prioritize them accross release
- Review code contributions: check that suggested changes work and meet the guidelines, help their author finalize them
- Discuss new features with users
- Implement new features / fix bugs
As you have probably guessed, this takes a lot of time, and all of this has to happen on my free time, since I'm working full-time. At this point, you probably don't want to know how much week-ends and evenings I've spent working on Funkwhale ;)
I'm not implying I'm burned-out: this is not the case. However, on the long term, persisting in this way is a recipe for disaster. You may have noticed the development of Funkwhale has slowed down during summer, well, that's partly because of that: I had to stake a step back and enjoy some real free time.
Now, what can I do about that on the long term?
Today, I can announce it, since the negociations with my employer are over: I'm leaving my job at PeopleDoc to work on Funkwhale. Starting on December 1st, I'll be able to work full-time on the project and give it the attention it deserves.
I'd like to thank my employer and my colleagues, as they are very supporting and agreed to let me go!
I'm really excited to get started with this new chapter in the life of the project and I'm confident this will help me figure out a lot of solutions to current challenges we're facing:
- make the project more accessible to users and contributors
- simplify the installation / maintainance / upgrade processes
- enable financial and non-financial support to content creators that publish their work on Funkwhale
- set up a proper structure around Funkwhale to receive donations, pay contributors (as myself), manage the community spaces, etc.
- work on bigger features
Thank you for reading, let's do awesome tings together!
PS: you may have noticed this is a new blog. We're not going to stop publishing on Mastodon, but a blog is better suited for long posts and anouncements, and will also bring more visibility for the project.