-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework "contributing" page for clarity and changes to community contributor workflow #76
Conversation
WorkflowWith the current workflow, I wanted to eliminate the concept of contributors calling dibs on tickets. If people want to contribute, they can submit a PR. If we manage to actually communicate this workflow effectively, it would eliminate the challenges you've listed and also not need tickets to be assigned / unassigned. This seems like less work for us. That being said, I think the workflow you've proposed is fine. I don't have the time to manage ticket assignment, but if you're fine with doing it, that works. OverallI think this page looks a lot better! Thanks for your work on this. |
I can appreciate the simplicity that paradigm would bring to our work, but in an organic, community-focused environment, I don't think we can realistically expect that workflow to feel natural or respectful. Take this thread for example. Two contributors expressed interest in working on the same issue on the same day. If we're entirely eschewing the concept of "dibs", then responding to those contributors in a welcoming manner feels hard to me. Any response that falls short of delegating the work to one contributor feel like saying "okay you two, please duke it out and see who can submit a PR first". I originally liked the idea of forgoing assignments, but in responding to lots of people lately, I'm coming to terms with the inevitability of managing some form of "dibs", however implicit they may be. And the opinion that I've come to recently is that making those dibs explicit will likely require less work for us than making them implicit. |
Alternatively, if we really do want to lean into the "no dibs" approach. We might try modifying our contributor guide to tell people not to comment on tickets. And to tell core team members to respond to such comments with something like
I would be open to this approach if we make it clear within our documentation and communication. It just feels more cut-throat. |
@seancolsen I do agree that the "no dibs" approach risks duplicated or wasted work, but it seems largely theoretical to me. The majority of people who comment on tickets don't seem to follow through. I didn't want the team to do extra work to manage issue assignment to mitigate what seemed to me a minor risk. Anyway this is just an explanation of my thought process behind the original workflow. I don't think it's as relevant now because we're not rotating comms responsibilities like we were when we set this up. I'll leave the decision on what our contributor workflow should be to you. |
|
Sounds good, thanks @seancolsen. |
Summary
This PR alters our Contributor Guide as follows:
code-review.md
tocontributing.md
which is intended for authors to read. This change narrows the intended audience ofcode-review.md
to be only code reviewers.contributing.md
, making it clearer and more imperative.Context and motivation
As I've been opening a lot of "help wanted" tickets lately and fielding incoming comments from new contributors, I've been seeing some problems with our current workflow that I'd like to improve.
Some challenges that inevitably arise with community contributors
Our current process
Problems I'm experiencing with our current process
The Contributor Guide lacks clarity on our approach to handling the above challenges. For example, how many ticket do we deem appropriate for one person to claim before submitting a PR for any? How long does someone have to submit a PR after calling dibs? Our lack of clarity leaves new contributors to form their own assumptions about our approach, and it also leaves core team members unsure of how to respond to some of those situations.
When a new contributor comments on a ticket with something like,
...I find it tricky to craft a response. "Yes, you can work on it... But, no, we're not going to assign you to it." I imagine that might be confusing to some people. I've found myself attempting to explain why we don't assign tickets, and it's a bit cumbersome.
Addressing challenge (A) is difficult without assigning tickets. Sometimes I hesitate before confirming that a new contributor may work on a ticket. "Hmmm, I think I've seen this person before", I might think. But I don't have a good way of asking GitHub how many tickets that person is already working on. With a workflow that utilizes assignments, I can easily answer that question.
Addressing challenges (C) and (D) become more murky and subjective. If the ticket is unassigned but has a "dibs" comment 1 week ago, can a new contributor work on it?
Problems with assigning tickets (and my plan to address them)
We moved away from assigning tickets mostly due to challenge (B). We didn't want to manage the overhead of un-assigning people from tickets.
Well, I'm here to say: I want to manage the overhead of unassigning people from tickets. I'd like to roll this into my triage work. If it's not easy, I'll find a way to make it easy. I've been using gh for my triage work and it's been great. I'll try something similar for this new task where I look for tickets that were assigned to community contributors over 1 week ago without any PR or comment. It'll take a little massaging to get right, I'd rather take on that mess than the mess I currently have responding to new contributors with our current workflow.