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
spoiler 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 justreddit/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.
I don't have any particular complaints about the speed of Lemmy development or which features the devs are prioritizing or shutting down. Since there are two primary devs who are working on a pretty complex Rust codebase, it is going to take time for new contributors to understand it inside out as well as they do. The philosophy of a codebase is also very important for maintainers to guard, as just adding code or features without an overarching vision can lead to chaos.
Having said that, I'm strongly in favour of multiple forks of the Lemmy backend bring developed. This allows new features, visions, optimizations, etc to be developed quickly and a lot of diverse opinions and philosophies to be entertained, exactly as we're seeing with instances. Alternative UIs are another example of the benefits of this approach.
This also allows Lemmy maintainers to see which changes are beneficial, and merge them back into the main codebase much more easily. For example, if a fork has 10x the performance with half the resource usage, it'll be an easy sell to merge back in.
Edit: typo
Edit 2: shutting down, not shitting down 🤦