I’ve read this comment on lemmy’s github repository by sbordeyne:

I closed it cause I have no interest in having to battle dessalines on minor nitpicks. Feel free to take the branch and reopen the pull request.

My thought process was that since lemmy is open source, we should be free to add new features without having to battle over philosophies, which was made apparent to me with his reviews and very strong opinions over which features to greenlight and which features to debate at length over (see infinite scrolling, and this very issue which was only approved on the condition we make it a setting that is off by default). I just don’t have the energy to contribute and be challenged on every little thing, I’ll just remain a plain user of the platform and not bother contributing to the project anymore.

Originally posted by sbordeyne in #282 (comment)

Instead of contributing to a project where only @dessalines@lemmy.ml, lionirdeadman and @nutomic@lemmy.ml dictate what gets approved, why not make a fork with the settings most people agree on?

My stance is that I wouldn’t contribute to a project hosted on GitHub, or a project that considers a few opinions more important than the majority.

Controversial takes
dessalines doesn't want SEO so we get URLs for robots

It might makes sense for the semantic web, but IMO it really doesn’t add that much value… look at how silly this type of thinking has gotten w/ reddit: https://www.reddit.com/r/aww/comments/glenz4/cute_baby_bunnies_think_the_golden_retriever_is/

Its gotten to reddit/community/comments/post_id/weird_lengthened_post_name, when it should be just reddit/post/postid

_Originally posted by @dessalines@lemmy.ml in https://github.com/LemmyNet/lemmy/issues/875#issuecomment-652165036_

:::

In my opinion, open-source projects should follow a set of principles to ensure transparency, community engagement, and effective development. Here are some key points that encapsulate these principles:

  • Clear Decision-Making Process for Future Releases: Open-source projects should have a well-defined process for deciding what features and improvements make it into each release. This process should be documented and accessible to the community. (For example, you can read about how Discourse decides what goes into each release here).

  • Complaint-Driven Development: Embrace the concept of “complaint-driven development,” where user feedback and complaints guide the prioritization of issues and features to address.

  • Transparent Donation Management: Be open about how donation money is allocated. Implementing a bounty system can further enhance transparency, enabling contributors to work on specific tasks for financial rewards.

  • Inclusive Community Involvement: Encourage active participation from the community in brainstorming and voting on potential features before finalizing the project roadmap. Community input can be invaluable in shaping the project’s direction.

  • Public Roadmap: Maintain a publicly accessible roadmap that outlines what is planned for upcoming releases. This roadmap should include the status of each feature or enhancement to keep users informed.

  • User-Friendly Feature Request Process: Provide a public feature request forum where users can submit their ideas. Clearly outline the process for how these requests will be reviewed and prioritized, ensuring transparency in the decision-making.

  • Effective Communication Channels: Avoid using disorganized or private communication platforms for project-related discussions. Instead, opt for well-structured, publicly accessible channels that don’t require users to log in to access information.

  • Document with a Blog: Utilize a blog or similar documentation platform to keep users and contributors informed about important project updates, changes, and developments.

  • kopper [they/them]@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    1 year ago

    A long-running web thing like Lemmy doesn’t need the processing benefits of native compilation, and can avoid memory vulnerabilities with a garbage collector. Most things it does are IO bound (receive data from other servers, send data to other servers, occasionally render some HTML, interact with a database…) so you’re really not benefiting from anything specific to Rust, but you are losing a significant amount of developer effort into things like working with the borrow checker or the infamously long compilation times that could instead go into implementing functionality.

    You could make something just as performant as Lemmy is today with Python or JS (JS would particularly work well given the prevalance of JITs).

    • Square Singer@feddit.de
      link
      fedilink
      arrow-up
      10
      ·
      1 year ago

      but you are losing a significant amount of developer effort into things like working with the borrow checker or the infamously long compilation times that could instead go into implementing functionality.

      And into learning the language. With Rust still being a very rare skill, you are losing out on many good developers who could help out but don’t, because they don’t know Rust. And many of those who do help out, don’t know Rust well and will just stumble trough it and write Rust code as if they were writing their main language.

      It’s kinda like getting people from all over the world to contribute to the welsh Wikipedia. Most will just give up. Many will use a dictionary or Google translate. And only a tiny portion actually know Welsh.

    • PenguinCoder@beehaw.org
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      Most things it does are IO bound […] so you’re really not benefiting from anything specific to Rust,

      Preach.

    • Neshura@bookwormstory.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      I agree that Rust is definitely not ideal for server backends (imo it’s not bad, just fine but then again I use it a lot for private projects) but I disagree with your take on JS/Python. Sure that would work but given the performance issues on large instances already going for either of these two, even with JITs, is a bit of a hot take imo. Go probably would have been a way better choice given its relatively low entry bar.

      • kopper [they/them]@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        AFAIK the issues l.w et al are struggling with are to do with the database. The language you’re calling out to Postgres doesn’t really matter when it’s Postgres that’s taking a lifetime computing through your hell-query.

        I don’t know much about Go (I should really take a closer look at it) but it’s definitely also a valid candidate. (Perhaps a bit too bare bones for my personal liking, but hey you can’t win em all)