- cross-posted to:
- fediverse@discuss.online
- fediverse@lemmy.world
- foss@beehaw.org
- cross-posted to:
- fediverse@discuss.online
- fediverse@lemmy.world
- foss@beehaw.org
cross-posted from: https://literature.cafe/post/7623718
cross-posted from: https://literature.cafe/post/7623713
I made a blog post discussing my biggest issues with Lemmy and why I am kind of done with it as a software.
I appreciate your work in organizing issues and helping to label them, and I’m sorry if I did not give some things proper weight. But are my priorities not my own? Why is this such an affront that I choose what I think is important? Would you like it if I did the same to you, demanded that you change your priorities to do what I want you to do? What if there are thousands of other people asking you the same thing?
Scale is also left out of the equation here. Thousands people are asking 2-4 devs for features. It is simply impossible to please everyone, unless some people do the open source thing, and work on a feature they’d like to have. Many people have and continue to do this, rather than dismissing the project because the small number of developers can’t keep pace with issues.
When you accept donations and grants for Lemmy’s development and when you work with other people, I think it is normal and good to think about priorities in a more collaborative fashion. I cannot write rust code and many other people cannot do that. When their issues are left ignored, dismissed and repeatedly told that they have no input towards Lemmy’s direction - people tend to not want to work with you because they feel that their work is pointless.
Why make an issue if developers admit to not reading them and not changing priorities? Why help towards a collective goal if everyone is just working on their own personal thing? As someone who is not good at writing code - it just feels like shit. My work felt entirely pointless because there was no way for my effort to amount to anything I wanted. Only people who can write code can actually influence the Lemmy project.
I understand feeling burned out but I tried contributing, I tried making things better and all I was met with was “I will not change my priorities” or “I do not think it is valuable to try to bring direction in the Lemmy project” or straight up dismissal or silence. If what you wanted all this time was for you to work on your own thing with no outside input, well, all I can say is you’ve done good work to make that happen.
I don’t think there’s anything left for me to tell you.
Maybe there’d be plenty more devs if it wasn’t written in a new, up and coming, difficult language to understand let alone master. Maybe there’d be more code contributions if existing ones weren’t closed because you don’t see this being an issue. Maybe there’d be more developers if you’d let there be.
This is a tremendous amount of cope. Implying there are Lemmy users just lining up to contribute PRs if only it wasn’t written in Rust. Give me a break!
If someone was competent enough to author code that’s fit to pull into a project like Lemmy, they’re more than capable of translating those skills to Rust. No language seeing modern significant use is so esoteric that a reasonably seasoned developer couldn’t make something competent in it within a week of starting to learn its syntax. Maybe a day, even, if the language you are trying to learn is highly similar to one you already know.
With time, perhaps, but why is someone going to do that as a prerequisite for a spare-time FOSS contribution? People tend to contribute to the projects they already have the skills for.
Knowing the minimal syntax of a language to get past compilation errors is not even remotely close to being “competent” in it. You need to learn the language’s structures, you need to learn how the compiler works, you need to learn the libraries that the FOSS project is using, you need to learn the security pitfalls for the language… The language used can be a HUGE hurdle to overcome.
“You know Python and Javascript, so you can write competent C++ code that is FOSS-contribution-acceptable if you take a week to learn!” (inb4 memory management and pointers and templates and ‘oh no every input field I wrote is a trivial buffer overflow’…)
People also tend to pick up new skills when they have a driving incentive to do so, like supporting a project they have a vested interest in seeing improved.
Most of the bread and butter ones have analogues in other languages you should readily understand. More language-unique structures are rare; the more niche they are, the lower the odds your ability to contribute in a meaningful way hinges on your understanding of them.
You really don’t, though? Modern compilers, particularly the Rust compiler, are designed to abstract away as much of the details of compilation as possible. If the project really does need to tickle the compiler a certain way to get it to build, it will almost certainly have a buildscript and/or a readme.
This is true regardless of the language in use. I’m not sure why you brought it up.
I would imagine most of these language-specific security footguns are either A) so specific that you will never hit the conditions where they apply, B) are so blazingly obvious that code review will illuminate what you did wrong and you can learn how to fix it, or C) so obscure that even the project owner doesn’t understand them, so you’d be at minimum matching the rest of the codebase quality.
Mind, I am not insinuating that one can simply bang out a whole new submodule of a project in an unfamiliar language with minimal learning time. Large contributions to large projects can be hard to make even when you’re a veteran of the language in use, as the complexity of the project in and of itself can be its own massive barrier. But not every contribution needs to be big. And for most contributions, I don’t believe the language is the most significant barrier to entry. It’s a barrier, sure. But not the biggest one.
I’d wager it’s not having a significant impact on the volume of contributions to Lemmy in particular.
Because if you know Python, you know
requests
already. Or flask, or configparser, or itertools, or maybe even pyqt.Languages all have their own ‘most common libraries’, which add to the time it takes to learn how to be competent in that language. If a python dev tells me they know all the syntax, but have no clue what itertools or requests are, my eyebrows go up.
There’s a lot of language-specific knowledge that needs to be learned before you’ll be competent in it, that people don’t even think about.
Sorry but this is a pretty weird criticism to have. It’s like saying that a squirrel would be a better fish if it were a trout. A squirrel is a mammal, not a fish. Lemmy was intentionally written in Rust when the devs started the project. It’s clear that it’s in Rust by looking at any of the documentation. Yet this comes across as criticizing their project for what they’ve always said it was, while using said project to do so. Just a bit boggling.
If you like Java, contribute to Sublinks, if you like PHP, there’s kbin or many other AP projects. Pick, use, and contribute to the project(s) that use languages and tech that you get excited about. Noone is forcing you to use someone written in Rust. No need to piss on other peoples’ parades over language choice (it’s not like they’re using C# or Perl - kidding there, nothing wrong with Perl :P ).
No I’m criticising the Developers complaint that there’s only a few active developers for Lemmy, and the rest of you freeloaders don’t contribute and code.
The number of people who understand Rust, can code in it, know of Lemmy and want to contribute is very few. There would be More developers contributing to Lemmy if it weren’t written in Rust.
I’m not sure that it’s a complaint from them, so much as an explanation. It’s important to realize that developers are human beings with human needs, wants, and feelings. The popularity of Lemmy is not their “fault” and the language choice is rather fundamental to the project itself. Would it be nice if some features were taken up more quickly or implemented in other ways? Yes. But others needs, wants, and feelings are not more important than those of the devs. They need to eat, sleep, provide shelter for themselves, and, importantly, do things that are not coding (for physical, social, and mental health).
And there would be more developers if more people wanted to learn Rust. The low number is just a fact to accept. If one can’t accept it, there are plenty of other platforms.
Would you be criticizing them equally if, instead of Rust, they created the project using FORTRAN and made a point of mentioning explicitly that using FORTRAN was the main intent? It’s just a weird criticism to me - Lemmy is fundamentally a project started so that the devs could work with Rust. You are criticizing them for their project not fundamentally being a different project. Maybe another comparison would be criticizing specialty water-based paint manufacturing for using a water rather than a VOC-solvent for water-based paint - they’re not trying to make other types so, the criticism doesn’t make logical sense.
Thanks for the insight and well thought out response. I’ll think on it.