• 8 Posts
  • 20 Comments
Joined 8 months ago
cake
Cake day: September 26th, 2023

help-circle


















  • Here are some suggestions for how to encourage more outside contributions:

    • Create an ARCHITECTURE.md document explaining the overall architecture and different components of Lemmy. This would help new contributors quickly familiarize themselves with the codebase.
    • Publish a public roadmap with milestones and release plans. This gets people excited about the project’s direction and motivates them to contribute.
    • Nightly builds enable contributors to test upcoming changes, offer feedback, stay actively involved in the project’s progress, iterate quickly on improvements, and foster a culture of continuous improvement.
    • Implement a bounty system for critical or challenging issues to incentivize contributions. Some people who don’t want to contribute with a monthly subscription may prefer this kind of contribution.
    • Create project swag (stickers, t-shirts, etc.) and distribute it to active contributors as a token of appreciation.
    • Institute a “Lemmy contributor mentorship or apprenticeship” program where experienced developers formally take up 1-2 promising new contributors under their wing. This would be modeled after the Sith/Jedi master-apprentice relationship where knowledge and skills are passed down. Later when the apprentice has managed to develop a few issues by themselves they can take some apprentices.
      The concept of more experienced contributors working with newcomers to develop features in a FOSS (Free and Open Source Software) project is commonly referred to as “mentorship” or “pair programming.” In pair programming, two programmers work together at one workstation, with one writing code while the other reviews each line of code as it is typed in. The roles can switch frequently, and this method is known to enhance knowledge sharing, code quality, and team bonding. Beyond pair programming, establish a structured mentorship program where experienced contributors can mentor newcomers on a one-on-one basis.
    • Live or recorded screencasts solving issues, similar to mentorships but instead of one-on-one it allows more people to feel engaged in the development process, and provide feedback in the case of live streams.
    • Host discussions about issues on Lemmy itself, as suggested in the blog post below. The voting and threads with nested comments make it easier to have productive conversations compared to GitHub. The community is here so you’ll get more contributions right away in the form of ideas and feedback.
      Update from Lemmy after the Reddit blackout
      spoiler

      At the moment we are urgently working to solve major issues, such as optimizing slow database queries, ripping out the inefficient websocket API, and fixing a major security vulnerability (big thanks to deadcade). In addition we suddenly have to manage dozens of pull requests. To give us time to work on these priorities, it would be very beneficial if users could refrain from interacting with issue trackers when possible. Before opening an issue, make sure that it hasn’t been reported before. And when writing comments, make sure that they actually contribute to solving the issue at hand. Generally it is better to move discussions to Lemmy if possible. We are very thankful to everyone who contributes by writing code, hosting instances, moderating communities, and answering questions.

      At the same time, we are seeing lots of requests to implement major new features, such as migration between instances, or combining similar communities. As described above, we are completely overloaded with work, and definitely won’t have time to implement these in the near future. If there is a feature you want to see implemented, you will likely need to work on it yourself, or find someone who can.

    Of course you have more experience working on a big project so take this with a grain of salt.