Hi, guys. Sorry for the delay. I think it makes a lot of sense to refactor our labels. We could also try to re-label and clean the current issues. We can then try to create a board in GitHub at least with the most critical bugs so we can have a clear vision of what it is the most important thing to do next. Overall I agree with your ideas and suggestions in this thread. I think we can summarize everything in the Governance repo? Then we can just make it live and discuss possible improvements when running the process.
Absolutely that makes sense.
For bugs I can see that easily, because they are triaged and assigned a severity level. For feature requests I wouldnât know how to prioritize them without polling the community.
I think we should invite all members of the team for feedback before publishing them. Itâs a change that impacts virtually everyone and being a community project, we should maintain the team culture by including it in such decisions. (The StackOverflow moderator community gave a warning example over the last months of how important it is to consider team dynamics in a community of volunteers.)
Nice. I think it makes sense. Letâs do that. We can draft a PR to the Governance repository and/or Create a new post with a summary of this thread. Then we can invite the others to comment and agree/disagree. @Tom is probably the best one to setup that.
After having another look over the proposal I have a few final thoughtsâŚ
-
Not sure about going from âfeature requestâ to âfeatureâ, I find that request describes the intent of the author well. Is the idea that âfeatureâ can then encompass tracking issues (for feature PRs) and discussions where the author intents to make a PR? If that is the case could we have two (or more!) separate labels or a couple sub-labels so maybe feature & request or feature & tracking⌠or something else?
-
question & troubleshooting - I would push back against âtrying to help thereâ - I think the more we do that the more people expect help on GitHub - but I think itâs ok if you can provide a quick tip/solution to the author, Iâm also hoping with some improvement in the issue templates we can decrease this load.
Iâm not sure that there is an important distinction to be made here for issues. For me if itâs a request then feature request is a sufficient label whether its a small improvement or a significant new feature. Maybe we could use something more generic like âchange requestâ or âwork requestâ - feel free to come up with something better.
Good point, changed.
I would suggest we start with a basic set and add more distinct âfeatureâ labels as needed.
True that, I will remove âtry to help hereâ from the description and add your âquick tip/solution to the authorâ and for more in depth issues refer to SO / community forum.
Then maybe the current label âenhancementâ and its description is fine. I guess whatever change it is, it could always be considered an âenhancementâ in some form, even if itâs cleaning up the code base by removing an unused / obsolete feature. I wonât change anything here, unless there is a suggestion.
With that logic could we not ditch the feature request label? Iâm just not sure what the purpose is of having both labels - maybe it indicates the level of work required? Iâll give in on that if you disagree but could we at least name it âenhancement requestâ so it implies the same intent as âfeature requestâ?
Also with the focus on issues here are you suggesting we stop labelling PRs, I would support this as I think it probably serves little purpose except for if we set up automated changelogs but I think itâs important to know - if we do continue labelling PRs we would need to add new labels or adjust naming & descriptions of existing ones (in your proposal).
I suggest we make a post under the governance category with the details of your proposal and a poll (like Iâve done for the contributor votes). We donât have a specific policy but I think we should have at least a majority with team members.
Iâm not sure you can post on the gov category at the moment but I could change that. (edit: you can post)
Once we post a poll we cannot change anything or existing votes would become invalid as the underlying proposal changed. I think weâd need a fixed timeframe for discussions and amendments (7 days?) and a closing poll after that. Do we have a way to actively reach out to all team members and invite them to vote? If not, maybe the timeframe should be even 14 days.
Since we donât have a change scope criteria, the 2 labels sort of do that: feature requests would usually be larger in scope and more complex, requiring more fundamental feedback from team members due to higher impact and relation to product strategy/roadmap. Enhancements would usually be smaller in scope and may not require as much attention or discussion - only generally speaking of course. It may give team members an easy way to identify changes of larger scope and weigh in.
Thatâs a good question. PR labelling is not addressed here. The only purpose I can think of labeling a PR is to automate the change log creation. That requires some additional rules on how to label PRs, eg. to ensure we donât see internal changes like testing related in the change log. I am not familiar with how automated change log generation currently works - who could we ask to join the discussion here?
Sounds good, nearly all the active contributors are in the slack team channel, I can try and reach out to anyone who isnât. I think 7 days might be a little short, as often people are away or busy.
Makes sense, so keep both but do you object to calling it an âenhancement requestâ? In my mind if we stick with âenhancementâ we may as well go with âfeatureâ as well.
Edit: The only other reason to go with one label instead of two is that you can have a certain issue template have specific labels added by default so we could have issues created with the feature request template automatically labeled as such - which could save some time?
I think if you are suggesting we remove all non-specified labels we have to decide on this. I would say scrap PR labelling, there are currently no repos with automated changelogs and we can add labels like PR type -> bug fix
etc if it ever happens. PRs are labelled quite infrequently anyway.
As far as I know Iâm the only team member who has looked at automating them, I did try out a system with the iOS SDK but I wasnât too happy with it and didnât have the time to get the team onboard with it.
Also can I keep the labels on the docs repo (for issues and PRs) - the âwaiting for releaseâ label I use especially helps to speed up my workflow.
Sounds good. It would be nice to have a dedicated channel for this, maybe via Github or the Community Forum rather than Slack, to better accessibility. Something like a channel people can subscribe to and only the core team has the rights to reach out. That would be nice to have for Parse Team member and for the whole community as well, when it comes to roadmaps, etc.
I actually meant to rename it, sorry, done now.
I donât think we should do automatic labeling based on template. The author may request a feature that already exist, then we have a wrong-labelled issue. I think if we label manually (for the few issues that we have) we can at least be sure someone from the team looked at it. This also helps to identify critical issues and maintains âtrustâ in the labels.
Having said that, I would also prefer 1 label instead of 2 for simplicity, but I also find it practical to scan through the issues and see approximately whether its a new feature or an improvement of an existing one. I think the open discussion with all members should clarify this.
Itâs easier if we separate the two issues (new labels vs. automatic change log) so Iâd agree to script PR labeling for now. I like the idea though, we should look into it at some point, maybe once the new labels here are established.
Thanks for putting the work into this, I think weâre good to present this to the rest of the team now.
Yes I agree, but the forum actually has worse uptake amongst team members than the slack - although I have been inviting people to join recently. Github is most accessible but is also least equipped for that type of thing.
Actually donât like it that much for its length, âenhancement requestâ or âfeature requestâ. I think a label should be one word only from a human standpoint to quickly scan it visually. We also have a âbugâ label and donât call it âbug fix requestâ. The labels are mostly used by non-first time users. I had another look at labeling in other repos and it seems to be common to use âfeatureâ and âimprovement/enhancement/optimizationâ.
For example:
- https://docs.github.com/en/github/managing-your-work-on-github/about-labels
- https://robinpowered.com/blog/best-practice-system-for-organizing-and-tagging-github-issues
- https://medium.com/@dave_lunny/sane-github-labels-c5d2e6004b63
Would you agree on removing the ârequestâ from both?
Yes, go with that!!!
Removed ârequestâ. I have also added the suggestion for a bot that adds âup for grabsâ to âfeatureâ and âenhancementâ after n days of inactivity.
I like that. Do you want to create a topic for team feedback then?
If there are no objections / any objections are resolved in the feedback period I donât think it is necessary to have a vote.
In which channel, governance?
Yeah, Iâll share with the team once youâre happy.
@Tom If you have any feedback on Harmonize GitHub labels and usage please let me know (especially the last paragraph), otherwise please feel free to publish on Slack / share with the team.