I use open source self hosted software everyday. I love the community and I would love to be able to contribute to some of these projects.

As far as code goes, I basically no nothing about how it works. I see the development section of the repos I use and again, I’ve go no idea how it works.

How can I teach myself how to offer small improvements to the projects I use?

  • slartibartfast141@piefed.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    You could look through issues raised by other and try to replicate it. Offer your voice to confirm that there is a concrete issue, logs, steps to replicate, etc. As your familiarity builds you’ll be able to identify likely areas in the code causing the issue. This really helps others to implement the fix and before long, you’ll be the one fixing it yourself.

    Also, look at codetriage.com.

  • JensSpahnpasta@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    A few hints:

    1. Start with smaller projects with simpler codebases. Do not try to understand what LibreOffice or Jellyfin are doing.
    2. Maybe try to understand how one specific part of that software works. Chatbots are really, really good at explaining existing code, so ask your bot where the feature is located and let it explain it to you
  • teawrecks@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Probably the easiest place to start is appropriately reporting a bug that you’re impacted by.

    Take note of the version of the affected program you are using (likely depends on your distro). It could be that the bug has been fixed in a more recent release, and you don’t want to create noise for an issue that has already been resolved and hasn’t made it to you, or is specific to the build for your distro.

    Once you’ve figured out where the issue must lie, make a report with detailed steps on how to reproduce the issue. Don’t ghost the thread, if a dev asks followup questions, try to help give feedback.

    If you’re lucky, and they post a commit to fix the issue, take a look at it and try to understand what it is doing. Over time, you’ll start to get a feel for how open development works.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Just a note to say that devs of large, well established projects are always receptive to donations. A lot of these projects have demo sites, which cost money. So, if you can’t contribute to the code side of the project, a few $$ here and there is always welcome in my experience.

  • inzen@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Self taught programmer here. If your goal is to contribute code. Get the project’s code, learn how to run it. Go pick an issue, great if it has a first time contributor tag or something. Try to fix it. If someone fixes it before you, now you can compare fixes. Sounds simple? It kind of is, but there are some side quests involved. This processes will force you to learn the bare minimum to get the task done. Your solution will most likely be shit but that’s great, you can only get better. Programming is less about knowing how to do something and more about figuring it out as you go. Google, chatbot/llm, read the docs, ask others. Edit: Forgot something important: Be open to critique, programming is a craft and there is a lot to learn. Being bad at it is a given for most. Also most programmers are kinda bad at communicating so they may sound harsher than they are.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Not all support of oss is code related. Updating documentation is a really important part too but programmers are generally bad at it.
    Translating documentation to other languages too.

    • VonReposti@feddit.dk
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      For a project I liked I saw that the translation of the UI was only about 1% complete for my native language. I decided to dedicate the weekend to get it above 95%. This was apparently the part that seemed too hard for most to make a dent in, but across several new versions my language is still 100%. I think my groundwork made it easier for some sporadic contributors to get a small bit of dopamine when updating the few new strings in a release to see it hit 100% again.