I am extremely grateful to everybody involved with Lemmy. That includes you!
Hello!
I am sunaurus, the head admin of lemm.ee. Ever since I created my instance, I have been following a lot of public and private discussion channels between different parties involved with Lemmy. As I’m sure many others have also noticed, the discussions in such channels sometimes get heated, and in fact recently, I feel like there has been a constant trend in these discussions towards a lot of demands, hostility, negativity, and a general lack of empathy between different participants in the Lemmy network.
I am writing this post for a few reasons:
I would like add a bit of positivity by expressing my gratitude towards every single person who has helped improve Lemmy.
I want to speak up in defense of different people who have been receiving negativity lately.
There are a few false rumors spreading on Lemmy, which I would like to try and counteract with very simple evidence.
I want to remind everybody that at the end of the day, all of us care about building and improving Lemmy. We all have the same goal, and it’s too easy to lose sight of that.
I will split up what I want to say in this post by different user groups - users, mods, admins and developers. I understand that many people belong to several (or even all) of these groups, but I just want to highlight the value of, and express my gratitude to each group separately.
Users
At the end of the day, Lemmy would not be worth anything without the users. Users bring Lemmy to life by posting great content, getting involved in discussions in comments, helping surface interesting content for others through voting and even keeping the platform clean through reports. I am extremely thankful for all the users who have given me so much enjoyment on this platform.
I believe that users often get treated unfairly on Lemmy based on what instance they are participating from. I’m sure so many of you have noticed comments around Lemmy along the lines of “Oh, another user from <instance>, I’m going to completely ignore your stupid takes”. I’ve also many cases of people treating users as second-class citizen if they are not on the same instance - for example, I’ve seen users who are active and valuable participants in communities on another instance receive comments like “why are you participating in our discussions, go back to your own instance”. In my opinion this is completely counterproductive to the whole idea of federation.
On a human level, I can understand it - you’re far more likely to notice or remember what instance somebody is posting from if you have a negative experience. As a result, as time goes by, people tend to develop negative views of each instance, despite potentially having had many positive interactions with other users of those same instances.
The message I want to put out here is that instances, especially bigger ones, are not monoliths - do not judge users based on what instance they are browsing Lemmy from, judge them by their actual words and actions.
Mods
There are some excellent communities already on Lemmy, and these communities are all continuously being built up and maintained by mods. Mods put in huge amounts of their free time and energy in order to provide spaces for all Lemmy users. They form the first line of defense against bad actors, they keep communities alive and often receive no praise, only criticism. I am very grateful to everybody who has dedicated time to building communities on Lemmy.
Users rarely notice the lengths mods go to in order to keep communities running smoothly - mods more often than not only get noticed when users disagree with some mod actions. I believe mods deserve a lot better than this. Constructive criticism can of course be useful to improve communities, but it must be balanced with empathy and kindness towards people who have been putting in effort to provide something for users. Remember that there is another human being reading your words when you start writing about the mods of any particular community. Users who are not happy with mods of a certain community always have the opportunity to start their own community and run it as they like.
Admins
Admins provide two main key functions for the network:
Taking care of the actual infrastructure of Lemmy
Working as a higher level defense against bad actors, in cases where mods are not enough
I can tell from my own experience that being an admin of a bigger instance requires constant energy and attention. I don’t believe that there is a single medium-to-big instance where the admins have not put in hundreds (if not thousands) of hours of their free time, as well as in many cases, probably their own money. This is a service which admins provide for free, and it is necessary in order to keep the Lemmy network healthy. I have endless respect for anybody who is willing to put themselves in the position of a Lemmy admin.
I have seen awful messages towards admins from all the other groups listed here, including other admins. These messages range from condescending and rude, to downright hateful. I have seen admins treated as useless and their work taken for granted. I have seen people getting frustrated with admins for not spending every waking minute on Lemmy. I have seen some users consistently spreading provably false rumors about particular admins in an effort to tarnish their reputation on Lemmy.
Before you take out frustration on admins, please remember that they are also humans who have been working tirelessly to improve Lemmy in their own way.
Also, a reminder: the absolute best feature of Lemmy is that users are free to pick their instance - and as a result, users are also free to pick their admins. Even more than that, users can always become their own admins by spinning up their own instance. Yes, this requires dedication, effort, and research, but that’s exactly my point. It’s not easy running an instance, and mistreating people who do this as a free service is completely unacceptable.
Developers
Lemmy development has been lead by a few key maintainers, with a massive amount of smaller contributors. The software is constantly being improved at a very good pace, and everybody is able to benefit from this effort at no cost whatsoever. I am extremely grateful to everybody who has participated in the development of the Lemmy software, and other related software, as without you folks, none of us would even be here now.
There seems to be a huge amount of people with very little appreciation of the work that has gone into the software. I’m sure many of you have seen countless messages where people express that the devs should be doing more in one way or another. “They should work faster”, “they should prioritize this obviously most important feature”, “they should be available 24/7 to offer support”, etc. I just want to take a moment here and acknowledge what core maintainers have already done for Lemmy:
Years worth of work on the code itself
Offering support to the community and other admins
Reviewing literally thousands of pull requests on GitHub
Acting fast in stressful situations where the Lemmy network has been overloaded
Not abandoning the project in the face of constant hateful users
Sacrificing literally hundreds of thousands of euros in missed salaries which they could have been getting if they were working for a tech company instead of working on Lemmy
I also want to take this moment to discredit some rumors which I have seen repeated too many times:
Rumor: Lemmy devs do not accept outside code contributions
This is completely false - the maintainers are completely open to (and even constantly asking for) contributions. When somebody starts contributing, they will receive support and code reviews very quickly. I can tell you that I have experienced this myself several times, but that’s anecdotal, so let me also provide evidence:
Both of these lists include 100 different names, and that’s only because GitHub literally caps these pages to 100 users. Actually, the amount of different contributors is even bigger. If Lemmy devs did not accept and encourage outside contributions, then there would be no way for these lists to be so big.
Rumor: Lemmy devs work too slowly
This is an extremely entitled and frankly stupid claim. I try to keep on top of the changes made in the Lemmy repo, and let me tell you, the pace of improvement is very good.
I very firmly believe that if the network started downgrading to Lemmy versions from ~8 months ago, the whole network would just collapse, as none of the instances could keep up with the current volume. That is to say, we have come an extremely long way since last summer alone.
Let me provide some more evidence. Take a look at the Pulse page for the Lemmy backend on GitHub: https://github.com/LemmyNet/lemmy/pulse. As of writing this, Lemmy devs have merged 18 pull requests in the week leading up to this post - that’s an average of 2.5 merged PRs per day. This is extremely good for a project with a small underfunded team.
Rumor: Lemmy devs do not prioritize the important issues
There are two sides to this. First of all, there are endless users who turn to the Lemmy devs with what they believe is the most important issue and should immediately be prioritized - the problem is that almost none of these endless users have the same view of what the most important issue actually is! In that sense, it’s literally impossible to please everybody, because everybody wants different things.
On the other hand, even when Lemmy devs do prioritize things which some users have been desperately asking for, I have on several occasions seen a dismissive response along the lines of “too little too late”. Basically, the demands made are often unrealistic and impossible to meet.
If you are somebody who feels like Lemmy devs are not doing enough, I would ask you to please take a step back, look at the actual contributions which they have made, and consider how you yourself would feel if after making such a massive contribution, you would still need to listen to countless strangers on the internet tell you how you’re not good enough in their opinion.
Conclusion
Lastly, I am very thankful to anybody who took the time to read to the end of this post. Again, my goal is to try and defuse some of the hostility, as well as to put out a message of gratitude and positivity. I am very interested in the success of Lemmy as a whole, and that is much easier to achieve and maintain if we all work together. Thank you, I hope you're doing well, and have a nice weekend!
Thank you so much for writing this, it articulated a lot of things I've been thinking about this past week. So many of us are all spending our most valuable resource, time, trying make this a better place, in whatever way we can, and none of these 4 groups (some of us are members of more than one) deserve any vitriol or negativity for their efforts. We all need to think about ways we can reduce that negativity, and not all of them can be fixed with computer code, or at the admin level. We all need to improve how we interact with people, and treat them the way we'd like to be treated, with a view towards their well-being.
I'd like to follow your good example, and send out my genuine thanks to all the users, admins, developers, those doing server support, and contributors in any form to lemmy, and it's ecosystem of apps and tools. Members of all of these groups are absolutely vital, and this place is only possible because of our cooperation.
I don't know about the devs specifically, but maybe advised is a better term. Beehaw themselves don't really want ro be using Lemmy as it doesn't have the moderation tools they want.
I know the devs can't control who uses the software but apparently they want Beehaw to quit using Lemmy. It seems strange to me, especially after reading this comment, that's why I asked.
Nope it's "start sending pull requests if you want that stuff so urgently, or use another software, but stop whining".
Beehaw has quite a number of users and generally community goodwill, I bet they could find a dev or two with some free time on their hands to work on the features they desire so much. That would be a solution-oriented approach. Simply telling the existing lemmy devs "you need to do this now you need to prioritise this" isn't, no matter how polite the language it's still entitled AF, and just for double clarity "not solution oriented", in the FOSS world, means "toxic".
What, exactly, do you think entitles beehaw to dictate what the lemmy devs should prioritise?
If I'm getting the neighbourhood together to build a playground for the kids, and you come along and says "You must now build an observation post for my bird watching club", how would you expect me to respond? Especially while I'm holding up a heavy beam frantically looking for something to rest it on so the whole structure doesn't collapse?
I think answering "I have no objections to you building that observation post" is a perfectly adequate response. I don't owe your bird watching club jackshit, and neither do the lemmy devs owe beehaw jackshit.
I think a better analogy here would be someone pointing that this is is a really bad neighborhood and you really oughta have a playground fence in the schematic.
From what's in their essay it doesn't seem like they are dictating what the devs prioritize. Regardless, I don't see how they could dictate anything since they lack power over the devs. You keep characterizing them in negative ways, what's that about? I feel like I'm missing something here.
The fact that they lack power over the Lemmy team is exactly what this is all about, in my opinion. They are demanding free changes out of people who they have no power over rather than finding programmers to help. They seem to expect to be treated like a client, but that isn’t how FOSS works.
Beehaw doesn’t have the greatest reputation in the Fediverse. Last I checked, their leadership was moaning about users from other instances and making a huge deal about who they wanted to defederate from, then they made posts on other instances when they were first thinking about leaving Lemmy entirely to see if we’d beg them to stay, and now there’s this whole breakdown where they cherry-pick some rude screenshots in an attempt to make their complaints look justified.
Nobody else seems to be causing this much drama. The rest of us are coexisting peacefully and doing fine. There is only one instance that feels like it needs a twelve foot wall and a moat around it, and that’s Beehaw.
I honestly don’t care if they stay or if they go, I just wish I didn’t have to hear them talk about it anymore until they make up their mind.
Beehaw is not causing drama, Lemmy.world and shitjustworks caused drama by filling their instances with turdbrainz. Beehaw literally removed themselves from the equation. That's deescalation not escalation.
Regardless, I don’t see how they could dictate anything since they lack power over the devs.
Lacking power doesn't mean that no attempts are made. You can be as polite as you want if I don't want to build that observation post and you keep pestering me that's an attempt to dictate what I do with my time. Even just dealing with the pestering is a time sink.
You keep characterizing them in negative ways, what’s that about? I feel like I’m missing something here
I've dealt with entitled users before. The wider FLOSS community has oodles of experiences with toxic behaviour from users, nothing about this is new or even surprising if you've been in the space for a while, it's all the same pattern: First they act like they're paying customers, then you tell them that they're not (but that patches are welcome), then they say "well I'll never use your software if your attitude is like that", then you say "fine with me", then they either leave or start to shout, at which point you block them. A FLOSS project needs healthy erm ego boundaries or it dies because nothing ever gets done.
FLOSS developers contribute because they want to build a specific thing. Conversely, if you want a specific thing that noone else already built or is excited to build, you have to contribute. There's no such thing as a free lunch.
This is all to say: we’ve been given many different channels and suggestions by the developers during our time on this platform for how to influence priorities. However, those priorities still have not materialized even after we used those channels and followed those suggestions–in fact, we’ve often observed our priorities seemingly being derided, played down at times, or to languish.
To me, this sounds like they were repeatedly trying to get the devs to work on what Beehaw wanted, and they are upset that those demands have not been met.
Heard where? I heard that Beehaw is considering not using Lemmy, but they've said that for a long time without changing still. But maybe they will. But it's all up to them and they can control their instance how they like :)
Both side seems to be frustrated at each other there. Beehaw admins accused lemmy devs of not listening to their requests for better moderation tools, while lemmy devs accused beehaw admins of demanding more work without contributing anything or gave them appreciation. I hope the conflict is just temporary and they can reconcile later when things have cooled off.
The difference between open source vs paid-for software, and the lack of articulation of what entitlement is (and the harm it causes contributors to open source projects), is one of the root reasons for a lot of frustrations this past week. We've even added a specific no entitlement clause to our code of conduct a few days ago to try to avoid this in the future.
In short, entitlement is insulting or demanding behavior towards anyone for not doing what you want them to do, or not doing it fast enough.
Lemmy is developed by 2-4 devs, but used by >40k ppl. This massive disparity means it is absolutely impossible for us to solve every issue, and please everyone.
We make no demands on anyone, and don't force anyone to use lemmy, and encourage ppl to do the open source thing, and improve / work on issues we don't have time for. We gladly review PRs, as anyone can transparently see on the github.
Some of the beehaw admins on the other hand, are making demands, whilst refusing to do the open source thing and help add the features they'd like added. At this stage we've come to an impasse, where they'll likely just move to another platform, where the developers of that new platform will experience the exact same entitlement timeline: request for features, frustration that they're not getting completed fast enough, lashing out at developers, a similar developer response, then burnout for all parties.
The only way forward is for people to realize that entitlement has no place in open source, and that making demands on other people is not acceptable for any party.
From my discussion with some beehaw admins and sublinks devs, a problem is they they feel like their code contributions will not even be accepted for lack of shared goals. For example showing voting totals.
I keep saying that the most elegant solution here is to develop a plugin framework, to allow admins to customize their instance experience even when it diverges from the lemmy dev vision. If it's made software agnostic it would allow people like me scratch our own itches. Ironic I know but it's for this reason I think this should be one of the main priorities, as it will unleash a lot more Foss power on the project. It's a big reason why projects like WordPress and godot are having great success
From my discussion with some beehaw admins and sublinks devs, a problem is they they feel like their code contributions will not even be accepted
They've never opened a single PR, whilst the github shows us merging tons of PRs from third parties, so that seems like negative speculation on their part.
For example showing voting totals.
The lemmy API already has open vote totals on everything (score, upvote, downvote), and I also made a PR adding a user preference setting for how to display scores for your user.
I believe there's an open issue for a plugin framework, but that would need to be fully worked out. If it's just simple preferences, there are tons of sample PRs to learn from.
I'm quite confused about some people's adverseness to learning Rust; it's been the voted the most favorite developer language for many years in a row now (for good reason), rust frameworks frequently top the fastest web server benchmarks now, and every real developer has to learn new languages and frameworks every few months to keep up to speed anyway. Just as an example, I was waiting for a messageease(an android keyboard) replacement, and nothing came close. I taught myself kotlin, and android programming, and made one, and I'm an incredibly slow learner and middling programmer.
Speaking or myself, it's simply a matter of time. Even doing the fediverse stuff I'm already doing is stretching me beyond my limits.
About the prs, ye I don't want to do the broken telephone here. The point is there's clearly a sort of disconnect between how welcoming the lemmy developers believe they are and how they are perceived by some other people. It's not an easy problem to solve tbh and requires some honest discussion in good faith with the affected parties.
About the open voting totals, I remember there was a conflict about this. Weren't they are some point hidden on the api? As in if you request the overall voting total for a user you alway get 0?
Speaking or myself, it’s simply a matter of time. Even doing the fediverse stuff I’m already doing is stretching me beyond my limits.
It's exactly the same for us. There are hundreds of open issues for Lemmy and we can't work on all of them.
By voting totals you mean the karma score? We intentionally decided not to show that because it has many negative effects. It was accidentally still exposed in the api so we removed that.
It’s exactly the same for us. There are hundreds of open issues for Lemmy and we can’t work on all of them.
You misunderstand. For you, lemmy is your full-time job, so working on feature A instead of feature B, is still working on lemmy. For me being a lemmy admin is a side-thing to my main FOSS project, and on top of that I also have my day job.
By voting totals you mean the karma score? We intentionally decided not to show that because it has many negative effects. It was accidentally still exposed in the api so we removed that.
yes exactly. But this is something that you diverge from what other admins might want. So they cannot submit it as a feature even if they want to which is what I was alluding to earlier as to why you might not see the PRs
a problem is they they feel like their code contributions will not even be accepted for lack of shared goals. For example showing voting totals.
They're free to not run the upstream version but their own patched one. Not being willing to write code will certainly not make that feature landing any more likely.
Plugins in Rust are a whole can of worms, what with AOT compiling and static linking, you can't just monkey patch everything like in PHP. Essentially a plugin system would be a way to organise patches, to dependency inject admin-provided libraries instead of default implementations. Having a collection of patches should help designing such a thing, Personally I wouldn't even consider designing such a thing before it's clear what it will need to do, where it needs to provide hooks, also, that it will be used.
Python is a dynamic language just as PHP, you can monkey patch there. Neither are anywhere close to the performance level of Rust or C++. I wouldn't call their approach better: It's very brittle, nothing tends to be well-specced, things easily become bug-compatible and a nightmare to maintain.
Godot has fixed extension points, which on top of that are accessible via gdscript or C#, not C++. Things you can hook into. Figuring out for which things that should be possible for, and how the interfaces should look like, is not something where eyeballing works.
Doing it the godot way would be rather pointless with lemmy as there's no need to extend the server's functionality while it's running, you can just replace the whole binary which is way simpler to do but the sensible way to go about it dynamically would be to use wasm. In both cases you'd need to figure out exactly where plugins should be able to hook into, there's no way around that without eating PHP's and Python's performance and maintainability costs. Also, rewrite everything.
There's no monkey patching needed! There's way better approaches with signals and events and shit!
Even if there was a performance hit. That's something for the plugin users to eat. The point is they have the option. Beehaw.org might accept the extra 1ms delay to have the tools they need.
And yes, the effort needed to support plug-ins is worth it. This is why all successful community driven software does it!
One thing I have never understood and keep repeating in this context: Beehaw has >7k$ balance. If they really have a few issues that would solve 90% of the problems, why not putting a 500/1000/2000$ bounty of that feature.
I believe they mentioned that in their essay I linked to in this thread yesterday, they looked into starting a bounty system for new features but the Lemmy devs told them not to do it so the idea was abandoned.
Not to wade into muddy waters here, but I feel like those posts sort of prove the point of entitlement.
Was @nutomic@lemmy.ml using a perfect customer service voice? No, but they don’t have to. This isn’t the Apple help line where we all paid for a polite troubleshooting experience, this is a FOSS project where contributions are king. You can ask for a lot, but unless you are going to contribute code, cash, or kudos, you should expect nothing more than what someone else is willing to volunteer.
If Beehaw wanted to solve their own problems, all they’d need to do is dig up a rust developer and get working. If they wanted total control of their future, they’d need only two rust developers and they’d be evenly matched with the Lemmy devs—fork it and call it Bemmy. Instead, they ask for work, get told no, and then bemoan it like there should be someone else to complain to.
Nobody is making them use the free fruit from the Lemmy dev’s tree. Nobody is stopping them from doing their own thing. Nobody is kicking them out of anywhere. They started all this when they defederated from LW, and nobody made them do that either.
They just need to figure out what fits them best and take that path rather than trying to make everyone else fit them.
They say the developers told them not to used bounties, but i specifically remember one of the developers saying he will accept code requests made with bounties , although he did mentioned he thought they are not worth it and have disadvantages (which i disagree with it).
Also one of the problem he linked to is now resolved.
I think one of the big issues with bounties on features for an open Source project is that some people will see them paying into a bounty as them paying a developer to implement a feature, and that goes from "supporting" the developers to "I pay your salary" territory. These people want timelines, and a return on their investment. I can't blame a dev for not wanting to go down that path.
Yeah that's pretty much the point, but it's a real world method to get work done , see the bounties here, it might be especially important if the developers make a mistake when prioritizing (which is expected because they are humans, if there are bugs in code there are bugs in priorities).
Yeah that's pretty much the point, but it's a real world method to get work done , see the bounties here, it might be especially important if the developers make a mistake when prioritizing (which is expected because they are humans, if there are bugs in code there are bugs in priorities).
It's open source, feel free to contribute. Throwing money to support a dev doesn't entitle you to anything, let alone to be the arbitrator of their priorities. And this is the thinking that leads to dev burnout, and likely why Lemmy devs are not interested.