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

  • Blaze (he/him)@feddit.org
    link
    fedilink
    English
    arrow-up
    46
    ·
    2 months ago

    I thought it was gone last February as mentioned in the post.

    Again, sad to see, but good luck to IceShrimp, Sharkey and all the others!

  • melroy@kbin.melroy.org
    link
    fedilink
    arrow-up
    37
    ·
    2 months ago

    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.

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

      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.

      • melroy@kbin.melroy.org
        link
        fedilink
        arrow-up
        19
        ·
        2 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

        • aasatru@kbin.earth
          link
          fedilink
          arrow-up
          3
          ·
          2 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. :)

        • db0@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          2 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.

      • no_im_doesnt@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 months ago

        I completely agree, and I’ve seen some wild entitlement from FOSS users. People who haven’t spent one red cent have no problem making rude demands and calling developers “lazy.”

        I watched some of Immich’s users throw a tantrum when Immich added a purchase button (that supports the project but changes nothing else). A lot of the complaints boiled down to “hide the purchase button so I don’t feel guilt.”

        It’s a miracle anyone works on open source projects.

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

    Sad, but mostly awful that the project has gone down in such a messy way. That sounds like a tremendous personal load that was completely uncalled for.

  • MoogleMaestro@lemmy.zip
    link
    fedilink
    English
    arrow-up
    16
    ·
    2 months ago

    I was on firefish’s previous instance, known as calckey, before I migrated back to Mastodon.

    There were definitely warning signs that the project was facing maintenance issues in those days as well, and it felt that the Firefish rebrand was an attempt to “start a new”.

    But just like my post on KBin’s demise, it should be a warning to those who want to make the software and host a “big” instance: Don’t do it. I think it’s smart to host your own mini instance for testing, but you should probably solely focus on the code development side of things to make sure that you aren’t over burdening yourself with managerial tasks. If your software is good, people will make spins inevitably. If people use it, then you will probably have enough people contributing that you can scale up your mini-instance if needed. But don’t jump in without the finances in place, because you’re essentially taking on two jobs.

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

      counterpoint: If developers aren’t forced to “eat their own dogfood” it becomes difficult to see some issues and know what to prioritize.

      • MoogleMaestro@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        I do agree that developers should use their own software, but doing so on a smaller instance with strict active user limits is probably the right call – at least until you are certain the software has a “stable” version, but even then you probably will want to run a master branch instance that is much less stable and prone to errors. Until you can afford it, it’s probably not a good idea for developers to be spending a huge amount of time debugging in-progress features (which IIRC, firefish had a lot of those.)

  • themadcodger@kbin.earth
    link
    fedilink
    arrow-up
    9
    ·
    2 months ago

    Popular take, but I also thought it was dead. I was on Firefish and noticed it was seriously degraded in day to day use. I started with Mastodon, but the *isskey platforms just have a better ux/ui (IMO) and I really didn’t want to go back to Mastodon. So now I’m on Sharkey, and hoping this one sticks around!

    • Fitik@fedia.io
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      Same with me, I migrated from Firefish to Sharkey, I hope I’ll not need to migrate software again, but oh well, who knows, if I’ll have to, I’ll prob still stick to *key