Announcement: Firefish will enter maintenance mode
For those who have been supporting Firefish and me, I can’t thank you enough. But today, I have to make an announcement of my very difficult decision: As of today’s release, Firefish will enter maintenance mode and reach end-of-support at the end of the year. The main reasons for this are as follows.
In February, Kainoa suddenly transferred the ownership of Firefish to me. This transition came without prior notice, which took me aback. I still wish Kainoa had consulted with me in advance. At that time, some people were already saying that “Firefish is coming back”, making it challenging to address the situation. Also, since there were several hundred active Firefish servers at that point, I could not suddenly discontinue the project, so I took over the project unwillingly.
Over the past seven months, I have been maintaining Firefish alone. All other former maintainers have left, leaving me solely responsible for managing issues, reviewing merge requests, testing, and releasing new versions. This situation has had a significant impact on my personal life.
Frankly speaking, there are numerous bugs and questionable logic in the current Firefish codebase. While I attempted to fix them, balancing this work with my personal life made it clear that it would take ages, and I’ve started thinking that I can’t manage this project in the long run. Additionally, vulnerabilities have been reported approximately once a month. Addressing vulnerabilities, communicating privately with reporters, and testing fixes have proven overwhelming and unsustainable. Moreover, a certain percentage of users have made insulting comments, which have severely affected my mental well-being and made me fearful of opening social media apps.
I will do my best to refund the donations made to Firefish via OpenCollective, but that’s not guaranteed.
firefish.dev
andinfo.firefish.dev
will remain operational until the end of February 2025, after which they will return a 410 Gone status.Server admins may downgrade Firefish to version
20240206
/1.0.5-rc
and migrate to another *key variant, or may fork Firefish to maintain.Downgrade instructions: https://firefish.dev/firefish/firefish/-/blob/downgrade/docs/downgrade.md
Thanks,
naskya
It’s very sad to see yet another great ActivityPub project disappear. Feel free to try Mbin, if you do not want to go back to Mastodon or something like that.
Also this work/life balance issues seems to be a repeating pattern in the AP development scene, I wish we could do something about it to make it more sustainable for developers.
How do you feel about Mbin in that regard? Do you feel like development is in a healthy place, with not too much of a burden on any one person?
I guess similar situations as the one described here could occur, with an inherited code base and all it entails.
Great question! I never shared this story. I can only answer this from my own perspective and NOT on behalf of the entire project or other devs if you can imagine. And you’re correct every open-source project can have this similar situation.
- I try to make Mbin as decentralized as possible in terms of development, contributors and no single-maintainer. I hopefully advise that by putting time and effort in writing out the C4 specification: https://github.com/MbinOrg/mbin/blob/main/C4.md. This means that every contributor can become a maintainer. So even today, I’m not the only maintainer and hopefully I will never be the only maintainer. And this goes as far as full access on the git repo(s) as well as Matrix chats.
- Recently, a very dedicated contributor did left Mbin sadly without any announcement. This person is still being missed to this day (I hope he is doing well in RL). So bad things do happen, at the same time I hope we as a project will also attract new developers and contributors (even documentation, translation or picking up a simple UI change can already help a lot and often that is the best way to getting started).
- I believe it’s important to also take some time off. Like in the recent holiday period I forced myself to take some time off. Even then, I also do feel the pressure sometimes. At the same time; nobody is actually pressuring me. Crazy right?. Nobody is paying me to contribute to Mbin. And nobody expect me to spend time on it daily. So it’s important to be aware of this situation and know it’s mainly in your own head, sometimes just let it go… But you’re right, you do feel a kind of obligation.
- I also asked among the contributors if you should accept any form of money or NLnet funding or anything in that regard. Our common conclusion was: NO. Because we are doing it for fun, asking money will only create a situation were you might even feel more obligated.
- Luckily the state of Mbin is also getting better and better over time. I’m really glad about that. In the past year we really focused on stability and scalability. Mbin also inherited a lot of issues from /kbin to be honest, and we really did some major overhauls to get the stability we and the server admins want and need (thank you all for this!). I can say that we are now in a good spot at the moment, Hopefully we also stay focused on the quality of the code, so the project will still be alive for years to come. Since nothing is worse then inheriting technical dept on top of a huge pile of issues, that is no fun.
- Developing software for the fediverse is in general quite demanding work, no doubt about that. On top of the social media drama that often also happens. So the most important part of each open-source project is the community, the people, the interactions we have. The jokes we sometimes make. I can’t thank the community enough and in the end we are all part of the fediverse community, so only we can make it fun and lead by example.
~Melroy
#mbin #firefish #kbin #activitypub #developers #developers #developers #fediverse