Skip Navigation

User banner
Posts
71
Comments
109
Joined
2 yr. ago

  • Good to know, I was wondering about that!

  • It's less expensive than you would think. Object Storage is actually really, really cheap in a lot of cases. I host a PeerTube instance, and while it does cost me money every month, the cost is decently offset by recurring donations, as well as the savings that Object Storage brings.

  • I mean, the real gag here is not just that it's bad and people mostly don't use it correctly, it's that your whole section can catch hell if QA finds even the smallest error. Better have multiple people on DIT to look over everything every single day!

    It got to be one of those things that I hated so much, I sketched out plans for my own open source alternative. No guarantee that I'll ever actually make it, but I have loads of thoughts on how to do this better.

    Meanwhile, all the F-35 guys laugh at us in ALIS, which is apparently great.

  • Holy shit, Air Force MX represent!

    Yeah, this piece of garbage has it all:

    • Crusty UI that looks like Windows 95 + Web 1.0
    • All navigation is done either though typing numbers in a box, or diving into a maze of links with the density of a black hole.
    • Loses everything if you hit the back button
    • Schedule in the future, sign off in the past.
    • The yellow windows in the ugliest font imaginable. Pop-up blocker enabled? Yeah, you won't see them, and your page will refresh if you turn it on.
    • Have fun fishing for a primary JCN to pull from for all your subsequent job write-ups. Cross-reference everything!
    • You signed off a whole JCN tree on an X and need to open it up again? Better have powers.
    • Half the time, your shop writes stuff that's just wrong. They took out a part and put it back in? "L 127 Configured to Installed Position", because they didn't want to put in an install and removal job.
    • Being the DIT monitor who has to fix all the bad write-ups for QA compliance. So many people get basic details horribly wrong.

    Been doing F-16 MX and using this garbage for the last few years now. I've actually gotten pretty good with it, but it doesn't excuse the fact that this is one of the worst pieces of garbage out there.

  • Jira. In the Software-as-a-Service world, it's often the tool of choice by Product teams to track issues, by breaking everything down into stories.

    It's a horrible, slow, janky mess. The interface is confusing and poorly laid out, you can easily have too many options all over the place, and how its even used can vary dramatically from one company to another.

    Salesforce is also trash for very similar reasons. How Sales people around the world all vouched for this thing is beyond me.

  • So, here's the thing: these guys are working full-time on the project. Their only source of income, grants aside, are donations via fundraising. Effectively, they are putting the project above themselves.

    The common model for this nowadays is the Patreon / OpenCollective / LiberaPay, where donations are usually given continuously over an indefinite period. It's closer in form to crowdfunding than it is traditional institutional donations.

    This is going to sound shitty: just as the expectation is set that no one should make demands of work done for free, so too is the expectation that development work technically isn't owed a single penny. Any donor can stop giving, for any reason, at any time.

    If I as a donor feel my needs aren't being met, I can stop donating. As a collective action, a bunch of dissatisfied supporters can do the same all at once.

    I'm not saying either side should threaten each other. But let's not pretend that this is some hoity-toity Utopian model where donors selflessly hand over money with no expectations, and the developer just works on whatever. If your livelihood depends on it, if you can't put bread on your table without it, then you've got to keep your backers happy.

  • Accepting donations is not the same as entering into a contract agreement where the person giving a few bucks per month entitles them to dictate how the work should be done. If people want to enter in a relationship where they get exactly what they want for the money they are giving, then they will be better off by going to a commercial provider, so that the nature of the transaction is explicit and mutually agreed.

    With respect, this is a framing issue and depends on your point of view. Does a donation mean someone contracted you to do something specifically? Not really. But, will mismanagement of expectations and hostility convince someone to stop donating to a project? You'd better believe it. If you're working full-time on a project, donations are your lifeblood. They literally put food on your table. You literally can't afford to disregard the needs of users and admins. But of course, you are at discretion to decide what those needs actually are, and how critical they are. Nevertheless, the relationship is more transactional than it appears to be.

    About the grants: AFAIK they got the grant to make federation work, which was completed to everyone’s satisfaction. If they had received a big grant from NLNet, got the money but didn’t deliver on what they promised on the application, then you could argue that they did not hold their end of the bargain. But do you it’s fair that because they got money from one part of the work that they should be responsible for all subsequent deliveries?

    Overall, I think their grant from NLNet was a good thing, and I think they did good work on that. As long as their work was in scope of the grant, I don't see a problem with that.

    I’m really trying to understand where you are coming from with this. You mentioned your work on Diaspora, and I don’t know how much you were involved on it,

    Community Manager, circa 2011 to 2013. I was basically an air traffic controller for GitHub issues, acted as a developer liaison, served as a face of the project to the community, and engaged on the network every single day to get a pulse on what was going on. A lot of it involved smoothing things over with people who were upset about things, resolving conflicts, drumming up volunteer coders, and indicating to core team what varying needs were across the user and developer communities. I lived and breathed it every day.

    I do feel that one of the things that doomed Diaspora was that the founders mistook the attention and money they got in 2010 as an indication that they were all alone responsible in “saving us from Facebook

    This is somewhat inaccurate, and here's why: Diaspora never advertised itself as an Anti-Facebook. They were building a federated network that focused on user freedom, and it was a combination of timing and insanely good luck that their Kickstarter campaign picked up as much as it did. The whole "we're going to save you from Facebook" thing was an invention of the media to get people to click headlines. What really doomed Diaspora was that the core team wanted to be a startup, the community wanted it to be a project, and getting the company into yCombinator had the team focus on things further and further away from their original goals.

    If Ilya had learned to say “it’s not my responsibility to build everything to win a fight against a multi-billion corporation”, perhaps he would still be around. This is a little disingenuous. Ilya had a big heart and was an amazing person, but he struggled with depression, anxiety, and mental illness. There was an enormous amount of pressure, sky-high expectations, and media vultures that picked apart every little hiccup the team went through, but I don't think it's fair to say it was those things alone that made his passing happen. They didn't make life any easier for him, though.

  • Couple of reasons:

    1. It's core. Super crucial parts of the platform should, ostensibly, be done by the core development team, who can ensure they have someone to work on it as needed. If you delegate the development of a core feature to someone who isn't part of the core team, there is always a possibility that said person will fall off the development wagon, and the feature either languishes, or core team is stuck having to babysit a part neither of them directly worked on.
    2. The people building the platform need to have a significant understanding / frame of reference for these parts and how they work. When doing future feature development, they need to be keenly aware of which features touch which fixtures.
    3. Trying to delegate this kind of thing to volunteers is just such a mixed bag in terms of Quality Assurance that I cannot recommend it. You might get something great! But regardless, you're delegating to someone who is a relative stranger, who may have done things in a hacky way that will break something else later on, or may have not even bothered with code or documentation. Worse yet: trying to reconcile a volunteer's PR with upstream is not always a cakewalk, and this can drag on and on and on. I've literally seen projects with PRs open that sat in that state gradually getting adjusted, tweaked, and rebased by various volunteers who came and went, that are still open to this day.
  • What is so bad about the developers delegating this away?

    Developmental drift and code rot. Both parties can try their best to keep up with changes and adjustments, but an external resource is always going to lag behind of core. This isn't necessarily bad, but having it in core at least kind of ensures that future development and updates have to take into account how those things are affected.

  • Yeah, one of the project devs threatened to ban me after I told him to get past his own ego.

  • That's not the argument being made. What's baffling is to pretty much only rely on the efforts of third party devs to fill in the missing gaps. It's a profoundly bad strategy.

    It's like with Bethesda releases a shitty half-finished game, and leans on the modding community to actually put in half the things that would actually make it in any way fun to play. Except Bethesda actually makes money, and the community works for peanuts. Here, Lemmy makes some money, but a huge chunk of the user community shoulders the cost out of pocket. A big chunk of the Fediverse is actually unpaid labor that brings in negative dollars month over month.

    The devs have a vested interest in ensuring their project continues to grow, they continue to get funded for their work, and features on their own roadmap get planned and developed. They can't do that if the tooling is too brittle, shitty, or threadbare to actually handle the deeply fucking intense problem of managing and maintaining a server and community on the open Internet, where literally anything and everything goes. Factor in a myriad of local jurisdictions and laws about data and content, and a lot of these things end up becoming severe liabilities.

    Look at it this way: with federation, a handful of volunteers themselves are doing labor for free, for the devs, by propping up their platform, client ecosystem, and reputation in the space. If this gets bad enough, people will literally say "fuck it" and walk away.

  • The reason that an open source developer might experience burnout are myriad, but can include:

    • Lack of compensation
    • Insufficient tooling or project infrastructure
    • A high ratio of operators to maintainers
    • Lack of a concrete roadmap, quality documentation, tests, essential resources
    • Lack of an onboarding process for new contributors
    • Inability to reconcile differences with contributors, leading to hard forks or exodus of contributors
    • Intractable architectural issues that require substantial engineering effort, possibly more than the maintainer can actually contribute

    As someone who has done Community Management for an open source, decentralized communication platform (Diaspora), I am familiar with all of these things. This shit is hard, and I am not denying that Lemmy devs have done a lot of good work.

    The problem is actually much simpler than you're making it out to be. For a social platform, which depends on interconnected self-hosted communities to succeed, you absolutely have to build in the tools and utilities necessary to deal with all the crazy shit that comes with the territory. Ignoring this causes a cascade of problems that gradually get worse the longer they remain unaddressed.

    The devs are surviving on crowdfunding and grants, and doing the best they can with that. That's commendable! They probably need more of both to have their needs fully covered. But don't get it twisted: receiving proceeds for your work is not the same thing as working for free.

  • While I think you're correct about it ultimately being their project, and that users are in no place to demand or expect anything, this thing takes on whole other dimensions once a project is all about building a social platform. Particularly one where volunteers host part of the network themselves.

    It's one thing to look at some random demand to write everything in a P2P architecture because DNS is too centralized. When I worked on Diaspora, I literally saw people demand stuff like that, and laughed it off. I'm trying to build a platform that exists today, not some pixie dream bullshit compromised of academic circle-jerking.

    But when it comes to basic table stakes for participating in a network that already exists, things change a bit. This is especially true when you're connecting to a global network that has:

    • Hate Speech
    • Targeted Harassment Campaigns
    • Child Pornography
    • Extreme Gore and Violence

    Suddenly, it makes a lot of sense to say "you know what, admins are going to want to filter this shit out, maybe it's reasonable for them to have some tools and fixtures that are part of core."

    Unfortunately, these devs are the kind of people who scream angrily when someone says "Hey, this thing doesn't actually respect local image deletes / GDPR stuff / content deletion on account deletion". To me, that's fucking insane.

  • It's honestly mind-blowing. At every turn, for no reason at all, they act like a bunch of dicks. It's like they decided to run a community project based on engineering prowess alone, and nothing else.

    Except the engineering isn't all that good, either.

  • Hah, nah, I'm just mean to myself. 😅

  • Bridgy Fed isn't a crawler, though. It doesn't scrape anything, index anything, or store anything. It's simply a translation layer.

  • This dude wrote a platform that speaks like four different protocols and translates back and forth between them. You can use it to bridge your Fediverse account to natively talk to people on Bluesky, or Nostr, or IndieWeb.

    This podcast episode is a reflection on the guy's experiences, insights, and thoughts on doing this work. He also weighs in on the weirdness of making not-exactly-compatible systems talk to each other, some of the really weird UX of interop that surprises people, and some thoughts on where the network is going.

    Really smart dude, well-spoken, co-founded Google AppEngine back in the day.