The way it is now:
We have the "help-wanted" label, which according to its description should cover issues which are suitable for work by novice contributors. However, that's not how that label is being used; instead, it's being used for issues which are not making progess because they need additional expertise, input, or large time commitments. Mostly, these issues require quite advanced knowledge of Kubernetes. Examples: 60023, 56567.
This means that would-be new contributors, looking for their first place to hack on Kubernetes, can't figure out where to start. We could try to change member's behavior in using the "help wanted" tag, but that seems unlikely to be successful.
What we should do:
The choice of "good first issue" here is because Github has public filters for that label. While other text, such as "for-new-contributors" or "help wanted/easy" might be preferable, I believe that the use of Github's existing label will make things easier for folks who know Github but not Kubernetes.
/sig contributor-experience
Is someone working on adding the prow command? I鈥檇 like to volunteer for that part if no one鈥檚 doing it yet...
Some thoughts:
I'd love to hear thoughts on the above :)
@guineveresaenger As far as the automation piece, I don't think anyone is working on it. Once we get to the point where we're ready to implement, it's all yours!
For the documentation of the help-wanted label, we can remove "Tractable for new/casual contributors" from the docs and keep the rest same as it is.
For documenting good first issue:
Good First Issue
Items marked with the good first issue label should be tractable for new contributors and need to ensure that they follow the guidelines for help wanted labels (link) and _additionally_ include the following information:
Make sure that the issue makes a statement that new contributors are welcome, that they are valued, and that they can start on our project!
Example: https://github.com/kubernetes/kubernetes/issues/60538#issuecomment-369182483.
About the automation:
Do they compliment each other? Do they compete with each other?
IMO they compliment each other. I see good first issue as a subset of the help wanted label.
From the above definition, good-first-issue = help-wanted + extra help.
Should "help wanted" and "good first issue" exist on the same issue? Can you have "good first issue" without "help wanted"?
I think we can have a behaviour like this:
good first issue, you should have help wanted.help wanted without good first issue.When you remove one, should both go away?
good first issue and help wanted and:good first issue => good first issue is removed, help wanted stays.help wanted => both get removed.good first issue label to an issue with an already existing help wanted label.Should we use a modifier on the existing /help command.. something like "/help first-issue"?
We have two choices here:
/help good-first-issue: This makes sense because good first issue cannot exist without help wanted.However, my only concern is that it is not-so-intuitive. My expectation from the command would be to have a help wanted/good-first-issue, which is not the case. This would (and should) add a new label (since Github treats good first issue as a "special" label).
In this case, removing would be through /remove-help good-first-issue. This is also counter-intuitive.
/good-first-issue: I like this one because it is not counterintuitive but I am not sure if it is "logically" correct.This would mean also mean that the user is surprised that the help wanted label is magically removed. But I guess it is reasonable to expect that?
/good-first-issue adds good first issue _and_ help wanted./remove-good-first-issue removes good first issue _and_ help wanted.From https://github.com/kubernetes/community/issues/860,
Once someone is assigned the issue (either directly or by assigning @k8s-external-contributor), the bot automatically removes the label.
@cblecker Does something like this exist already?
@nikhita I think explicitly requiring mentorship may deter folks from using the label if they don't have time themselves to handle. I think we should look at it as in - could this person solve this issue by going through our docs, codebase, and limited engagements with the community to figure it out?
I also see good-first-issue as something that implies help-wanted already so needing both would be duplicate, imo. Help-wanted should imply anyone other than a first time contributor because it may be too complex or would most definitely need guidance from another human if you were a first time.
I think explicitly requiring mentorship may deter folks from using the label if they don't have time themselves to handle.
Fair point, @parispittman. :+1:
Just noticed that kubernetes/kubectl uses a good first issue already - https://github.com/kubernetes/kubectl/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22.
@cblecker
"We could try to change member's behavior in using the "help wanted" tag, but that seems unlikely to be successful." - This shouldn't be a driver. I think we need to set clear guidelines on what "help wanted" should be, and then circulate it far and wide. Same with "good first issue", if we add it.
In 20 years of open source development, I've found that you only attempt to change people's habits when there's a large benefit to be delivered thereby. It's very, very hard to do.
Seems like we have a definitinion for this and no real objections. Is there anything blocking moving foward (PR and kubernetes-dev discussion)?
@jberkus No, I don't think so!
Suggested path forward:
@parispittman: GitHub didn't allow me to assign the following users: carolynvs.
Note that only kubernetes members and repo collaborators can be assigned.
In response to this:
/assign @carolynvs
/cc
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/cc
To update this, the label was created as a part of https://github.com/kubernetes/test-infra/pull/8129.
We still need to:
/help bot command to allow this label to be applied@nikhita @guineveresaenger @jberkus: You all had expressed interest in this issue. Does anyone want to tackle one or more of these pieces in, say, the next two weeks? I'd like to move the needle forward on this. I'm happy to provide reviews/mentoring. If you don't have the cycles, that's okay too (although letting me know would be appreciated).
I would like to contribute to the "help wanted" guidelines! I had pneumonia the past few weeks, but am finally back to work and can share some of what I've been doing with SIG service catalog to bring in new contributors.
@guineveresaenger @nikhita I would love to collaborate with you both on some guidelines for help-wanted and good-first-pr. What do you say? 馃榾
EDIT: I just caught up on https://github.com/kubernetes/community/issues/1959#issuecomment-375687541 and that really encompasses the majority of how I use those labels today:
good first pr is a subset of help wanted and all good first pr issues are also labeled with help wanted for easier filteringneeds-help label for issues that we are stuck on.help wanted it should meet the following criteria:svcat unbind NAME [--orphan] [--timeout 5m] with expected validations called out.good first pr it should meet all of the help wanted criteria in addition to following criteria:help wanted).good first pr issues for new contributors. After they have completed 1-2 good first prs, they should move on to the help wanted's.good first pr PRs and help move them through the process so that the new contributor isn't left to decipher prow commands, build flakes, finding an approver, begging for reviews, etc.help wanted issue next time.good first pr is getting extra attention to make the first one easier and help them find a follow-up issue, maybe a related help wanted so that they have traction after that first PR. People are more likely to keep contributing if they know what to expect, what's the acceptable way to ask for people to review a PR, nudge things along when people forget about their PR, etc.I realize that this is a wall of text but really it all comes to to this:
If you make someone feel like a part of the group, that it's safe to ask questions, that people will let them know the rules/norms if they forget, that their contribution was helpful and appreciated... they will stick around! 馃寛
@carolynvs the edit is :100:
update the /help bot command to allow this label to be applied
I'd like to work on this! I'll get started with it. @cblecker, I'll ping you in case I need help. :)
I'll work on combining the ideas here and submit a PR with changes to the doc files in this repo for the help wanted and good first pr labels.
Hi everyone- just woke up and see that everything is being volunteered for. I鈥檝e been swamped lately so I鈥檓 happy to review and observe! Thank you all!
@guineveresaenger would love a review of https://github.com/kubernetes/test-infra/pull/8273 :)
Trying out something for checking the labels automation:
/label approved
/reopen
Docs PR still open: https://github.com/kubernetes/community/pull/2226
@nikhita: you can't re-open an issue/PR unless you authored it or you are assigned to it.
In response to this:
/reopen
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/assign
/reopen
Last piece: Communicating what we've done! Who would like to send the e-mail to k-dev pointing at the docs as well as the bot commands?
Who would like to send the e-mail to k-dev pointing at the docs as well as the bot commands?
I'll do it! :tada:
I'll send the email on Monday. I'll sync up with @carolynvs and @guineveresaenger before hitting send. :)
All work in this has been completed. Thank you everyone!
/close
Most helpful comment
All work in this has been completed. Thank you everyone!
/close