We keep hearing about the ungrateful job of OSS maintainers and the arrogant users with a huge sense of entitlement demanding slave work for free.
While I do sympathise with this sentiment, there are 2 cases from my recent past that I may have been one of the jerks. Yet, when I look back, I can't see what I would have done differently, other than not engage with this product.
In these cases, what could I have done to avoid or de-escalate the conflicts? Is there a better way to think about the mind (and schedule) of a project maintainer to help my approaches be received more favorably?
Case 1:
A company is providing a hosted version of their static analysis tool gratis for OSS. The documentation is scarce and the instructions are not working for my project. I spend a few evenings trying things and finally send to the support email address a detailed summary of the problem and what I have done so far, plus link to live project, asking for help. I don't get any response.
Few weeks later, I post the question on Stack Overflow. A developer from the said company replies within a day or two, and after few days of back and forth, we resolve the issue. Turns out there were a number of undocumented "known issues" (a.k.a. "you are doing it wrong") and a few easy changes that would have prevented my problem.
I summarize the conversation and recap the factors that led me astray, suggesting that they get fixed or featured prominently in the docs. Around this time a person who is actually working on the OSS Support for the said product joins the conversation, rejects all feedback and starts behaving indignantly after I make a note that they are late to the party and haven't contributed much to the solution.
Then we exchange a few comments on how I am not the only user and I can't expect special attention, while I counter with "I am the only user that has documented in public the root cause of the problem and the solution" (I saw a number of people on SO had the same problem, but there was only one half-assed solution, with major hole in it.)
In the end, all parties go away disgusted. I only wanted to be helpful -- what went wrong here?
Case 2:
Another company, another tool, integrating with a build tool I use. All of a sudden integration breaks because of a third party thing. I fix it by doing it right and submit them a snippet for including in the readme. They demand that I actually do the change and do a pull request. I do. They request I fix my readme pull request. I see no value in this back and forth and close the pull request.
Same company, few months later - I find a trivial bug. File an issue with line-number and description of the fix. They suggest a pull request. I counter that for such a trivial change I don't see the point and I am not going to spend time on it. They downvote the comment (assume they are offended), but fix the bug (yay!).
--
So, what would you think is the right course of action in these 2 situations? I want to make the world a better place, I am prepared to do some work, but I appreciate appreciation and don't like wasting my time.