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 and info.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

  • melroy@kbin.melroy.org
    link
    fedilink
    arrow-up
    22
    ·
    3 months ago

    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.

    1. 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.
    2. 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).
    3. 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.
    4. 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.
    5. 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.
    6. 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

    • originalucifer@moist.catsweat.com
      link
      fedilink
      arrow-up
      9
      ·
      3 months ago

      someday im going to grow some testicles and contribute… and you will get to point out how bad my pr is. i can hear it now… ‘no blink tags!’

    • db0@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      3 months ago

      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.

      In regards to NLNet, you should know how it works. NLNet doesn’t give you money upfront and then expect stuff. You decide on a list of tasks to do and then complete them on our own time and get paid for each you complete. This reduces the pressure, as you can choose to handle these tasks as frequent as you want.

      Then again. with NLNet getting defunded by EU, it’s likely most new can’t receive funding anymore.

      Recently, a very dedicated contributor did left Mbin sadly without any announcement. This person is still being missed to this day

      Man, I know the exact feeling. We had a similar case in our FOSS project of a valuable contributor going suddenly MIA, even blocking us out of pypi in the process. It hurts.

    • aasatru@kbin.earth
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      Thanks for the response! I’m sorry to hear that a core contributor vanished like that. Hopefully (s)he’s allright and just needed to delegate time differently. And as long as there’s at least two of you who feel somewhat dedicated to the project, even if you cannot always be active, that’s great. :)

      It reminds me of the old proverb that if you want to go fast, walk alone, if you want to go far, walk together. If Mbin can continue at a sustainable pace, where you’re not afraid to take time off when you need it, I have no doubt it can go far. :)