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:
a. Contributors list for the Lemmy backend: https://github.com/LemmyNet/lemmy/graphs/contributors
b. Contributors list for Lemmy UI: https://github.com/LemmyNet/lemmy-ui/graphs/contributors
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!
I heard you guys have recently told Beehaw to quit using Lemmy, is that not correct, or how does this square with what you are saying here?
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 :)
Beehaw has just published a thing explaining their current situation and it includes some conversations with Lemmy devs where it looks like they are being told to fuck off and stop being a part of Lemmy: https://docs.beehaw.org/docs/important-questions-decisions-and-reflections/beehaw-lemmy-and-a-vision-of-the-fediverse/
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
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.
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?
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.
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.
There’s much better ways to do plug-ins than this. Just check how the Django-wiki does it or how godot does it.
If rust can’t achieve what python or c++ does, then that would unexpectedly disappointing
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.
A plugin framework sounds great. I would be happy to see a PR for this from Beehaw, Sublinks or anyone else.
Sounds like a case where they’re both right, too.
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.
I am curious about the details of that conversation, because I remember reading Dev’s comments in some post on Lemmy where they mentioned this option.
deleted by creator
What? Even if they wanted to, the devs can’t control who uses Lemmy. It’s FOSS
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’m not sure beehaw idea of what they want works in the federated space
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”.
Characterizing the concerns they have expressed as “whining” seems uncharitable, and “code or shut up” really doesn’t sound like a good response.
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.
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.
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.
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.