It seems that community contributions to Element Web (Matrix client) are often effectively rejected. For example, see:

There are also many other PRs for Element Web/Desktop which have not gotten a review in a timely manner (see here). The request to improve the terrible notification sound has been there since 2017, and though several PRs have been submitted to improve it, they have been either ignored or rejected for an unknown reason (there should be an epic project going on which should make the six-year-wait legitimate).

When it comes to development of Element, there is a lot of unspoken, unwritten, internally shared rules among the internal team members. Your PR will be effectively rejected even if it works, unless it aligns with their goals, which you cannot know before submitting a PR.

It should be well noted that there is a clear and strict division between the internal paid workers and external volunteer developers who essentially provide the team free labor. The exclusive attitude of the team behind Element has discouraged the latter from contributing to the project. I myself have been one of the active localization volunteers, but I stopped contributing after I realized it has been free labor.

  • meiti@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    1 year ago

    If i learned anything from my early contributions, it’s checking the health of a project and attitude of its maintainers before spending anytime on that project.

  • WhoRoger@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 year ago

    If you want to contribute to someone else’s code, you should familiarise yourself with their values or plans before writing code. Can’t expect them to accept any contribution without question.

    Otherwise, fork the project and make your own version.

    • shirahara@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      1 year ago

      The point is that project pretends as if it would welcome any contribution, while there seems to be in fact a lot of rules and guidelines which are not shared with the community. I’m not saying it would be deceiving, though.

  • cooopsspace@infosec.pub
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Firstly, I agree this is very shitty behaviour reminiscent of what a soon to be for profit company would do. See: Hashicorp Terraform.

    But I’ve got to caution anyone against throwing in unsolicited pull requests. If the maintainers don’t know about it they’ll be upset. That being said the pull requests posted seem totally solicited and in fact led on by people before subsequently being torpedoed.

    • shirahara@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      To me it shows well that the company thinks little of the importance of the communication between internal team members and external volunteers.

  • RheingoldRiver@kbin.social
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    1 year ago

    I once went into the Element support chat asking if it was possible to change my user name color, as I’m pretty closely identified to this username, and I despise the lime green it creates in that client. They said no, and typically I would expect to then be told, “but you can open a ticket in our tracker” or etc. Instead I was told, “use a different client if you want to change your username color (locally).”

    Very weird experience.

    • shirahara@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Obviously there is a mistrust of the team toward the community, which makes them regard asking a question as attacking their product.

  • shirahara@lemm.eeOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    If you guys are by any chance interested in how members of the community responded, please check out the comments added after the PR was closed: https://github.com/matrix-org/matrix-react-sdk/pull/9240#issuecomment-1703060227 and below. You would be able to see the pent-up negativity toward the reluctant team communication. Check these two:

  • HarkMahlberg@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Unfortunately I don’t think your experience is unique. I’ve seen several open source projects suffer from cliquey, protectionist behavior. I’ve been on a project where I was told by the primary developer to rebase my PR branch onto origin/main or it won’t get looked at. By the time I’ve done that, that same developer’s already pushed a commit directly to origin/main, and I’m no longer up-to-date.

    • ripcord@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Your case is pretty common with any project IME and it’s not “cliquey” behavior. People really dont want to waste their time on something that’s not ready to merge, and if the branch is pretty out of date it’s probably not ready. I really doubt they’d complain about it being off by a commit or two, unless a merge conflict has come up since maybe.

      • HarkMahlberg@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        Nah, we’re talking a timescale of minutes here, a few hours at best. New feature, no conflicts, ready to merge. Fetch, rebase, push. Out of date almost immediately. Fetch new commit, rebase, push. Minutes later, out of date again.

        See what I learned is, you can’t outpace the sole project owner and principal developer, no matter how many other contributors the project has. Especially if he gets paid to work on the project full time. How do you compete with someone who has direct push access, commits every half hour, doesn’t check PR’s, and mandates rebases for fast-forward-only merges?

        So my takeaway was, you don’t. They’re just not that into the feature, why should I be? Leave the branch exactly the way it is until someone asks for it to be made ready. They get 3 chances. If they don’t merge it after asking for it 3 times, I tell them to checkout the branch themselves and take over. If I get code review feedback 3 times, I ask for peer programming. If they can’t schedule it or don’t want to, tell em check out the branch themselves and take over.

        If they’ve got better things to do with their time, then you bet your sweet bippy I got better things to do with mine.

  • Jajcus@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Matrix is open protocol, everybody is free to build their own clients. Maintainers of any one implementation are free to choose code to include in their project. And people can fork Element if they don’t like the way it is going.

    Maybe Element developers are not great in including external contribution… but still nothing else seems to implement Matrix that well.

    No other client seems feature-complete. I wish I could use NeoChat instead of Matrix, but it still cannot even handle encrypted conversations properly. Are they rejecting contributions too?

    • shirahara@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      No other client seems feature-complete.

      In my opinion it is because the team which implements the features to Element, including what to implement and how to do it, substantially decides the protocol itself as well. You would easily identify who both implement the protocol and review PRs.

  • Cam@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    2
    ·
    1 year ago

    Not sure if Syphon rejects community contributions but I wish Syphon client got more love and attention. Syphon is more privacy focused and is written in Dart, allowing it to be compiled for desktop and mobile.

    • shirahara@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I have once tried Syphon but for an unknown reason it did not work for me really well.