What action(s) are recommended in such a situation?
Here are some actions I considered, but can't quite figure out if they're optimal/adequate to open source mentality:
- Forking the repo. I fear I might be stuck if the main repo regains traction and I can't PR my possibly many new features. I seriously wanted to continue contributing to the repo; should I somehow try and make my fork the more popular one? How?
- Looking for a new similar library. This is obviously always an option, but it's not always possible.
- Letting people know. Regardless of how upset I may be, I would very much like to prevent this happening to other devs who consider contributing to the repo. Should I try to raise awareness about it? How? Should I just move on?
This answer makes me believe that the best option is to make a competing fork for social reasons, but I'm unsure given the blocking from the main organization.
Any past experiences (with results) would be helpful.
See my specific context below. Spoilers because although I think it's relevant to the question as an example, I don't want it to be seen as a rant or be the main focus of this post.
In the past few months, I've been trying to contribute to a public repository (this one) with a relatively inactive maintainer. After my first pull request, the maintainer kindly asked me to write tests for my new feature: "Thank you for your contribution. This will need tests and a minor change to make the error sniffing more defensive, but it's a great start." They've deleted the original issue (#37), but in it I replied that I hadn't seen similar tests from them on a similar feature, and didn't know how to make one myself. Few months later I push a second PR to increase coverage of the first one I did, and the maintainer asks me the same question, to which I reply (slightly bluntly) the same thing: I didn't know how. They/he proceeded to block me from the organization, close the issue, redo my code in a way that doesn't work, and I am now stuck in this situation.