• Pika@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    18
    ·
    edit-2
    13 hours ago

    I don’t contribute to projects most of the time strictly due to the hurdles in place for contributions. if I see an issue with something, I would like to be able to properly fix it, not have to follow a multi month process to actually get it in

    The last project I wanted to contribute to had the following system:

    1. make an account (makes sense, its a self hosted tracker)
    2. verify my identity and specify what I wanted to do in a whole different project in order to get validated to be able to open issues in the tracker
    3. open an issue stating that I found a problem
    4. state in the issue that I was willing to fix said problem
    5. agree to sign the code away if done
    6. wait for response confirming that it was ok
    7. fork the project
    8. fix the issue on your fork
    9. create test units for the project
    10. submit a merge on the main project
    11. wait weeks to months for the actual maintainer teams to review the fix and make suggestions/alterations
    12. fix any merge conflicts that was created during the time that it took to review
    13. rinse and repeat the last 2 steps until it’s finally merged

    Luckily I had noticed that the timeframe of existing requests prior to doing it, and decided to pass on it.

    Don’t get me wrong, a lot of those steps are necessary for proper development cycles but, it’s the extra steps that are annoying. I’m looking to quickly contribute and move on. Too many steps or if the process seems like it will be a major pain in the butt = You can find and fix it yourself.

    Most projects if they have that I will at least open an issue for it so it’s known as a problem… but some projects don’t seem to want them reported, let alone fixed.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      11 hours ago

      I 100% understand the frustration. It can easily feel like you’re doing the maintainers a favor and they’re making this harder than it needs to be.
      The thing is, though, from the maintainer side, it very often feels like you’re asked to do those contributors favors. You may not care for whatever feature they want to contribute, but then are supposed to put in work reviewing their contributions and possibly having to patch up their work, if it doesn’t meet quality standards.

      And then, yeah, you start requiring quality gates to ensure you don’t have to put in extra work for something you don’t care about. But then may also end up putting hurdles in place, so that effectively fewer contributions show up asking for reviews. It’s an ugly solution, but frankly, it’s better than having contributors put in actual work creating a pull request and then you not having time to review it.

      • Pika@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        10 hours ago

        Yeah, I understand that point of view as well, especially for feature expansions. I don’t agree with that point of view at all for bug reports /fixes though. It’s not like I’m asking for an additional feature on top of the devs’ already existing code. I’m fixing a mistake that the dev added to their code that they haven’t had time to fix, I don’t see the need of multi week or month review processes for those.

        But at the end of the day I tell myself that if the dev wanted help with the project they would have made the system easier and I just move on with my life. or if it’s too much of a blocker or if it’s a small change just fork the code myself if allowed, fix it and then never bother with the hassle of submitting it upstream.