trustoverip / TechArch

This is the working area for the ToIP Technology Architecture specification.
10 stars 12 forks source link

Repository labels need to be defined #37

Closed andorsk closed 1 year ago

andorsk commented 1 year ago

Right now we don't have labels to maintain the repository. Editors need to agree on a set of labels to prioritize issues for resolution and then apply those tags to existing and new issues.

This issue is specifically scoped for determining the labels themselves. A new issue shall be generated for resolving old issues.

Here's some proposals that have been made:

This intent of this tag is to help "queue" issues that need review.

As creator of the issue, I'd also like to propose that these definitions need to be available somewhere. Possibly in the CONTRIBUTING.md or GOVERNANCE.md file, for future accessibility later.

andorsk commented 1 year ago

I'd like to propose here that rather than starting from scratch, we use existing repositories as guidelines of how to construct the labels:

Here's one that might be worth reviewing: https://github.com/OpenMined/PySyft/issues

andorsk commented 1 year ago

This has the labels in JSON: https://api.github.com/repos/OpenMined/PySyft/labels

sankarshanmukhopadhyay commented 1 year ago

I'd like to propose here that rather than starting from scratch, we use existing repositories as guidelines of how to construct the labels:

Here's one that might be worth reviewing: https://github.com/OpenMined/PySyft/issues

Since this repository is set up primarily for text-based content (and not code) my suggestion would be to start with a small set such as

I made the above list after pondering a bit about what gets discussed at the meetings and reading through the minutes.

andorsk commented 1 year ago

@sankarshanmukhopadhyay This is good but I'd like to propose we have a few more on top of this. Understood your concern about tagging getting numerous, but I also think some extra information would provide some value to contributors.

My suggestion here is we need some prioritization along with the above. Ultimately there will be N tickets and we need to provide a subset for the meeting. So my first suggestion is maintaining a priority list of Low Medium High, along with @talltree's proposal for Proposed Close. The advantage here is it would help the TF address the right issues in the right order.

Additional tags I think would be helpful:

andorsk commented 1 year ago

re: discussions, we could open up the Discussions feature on Github if that makes sense, to allow for discussions that aren't yet ready for issues.

talltree commented 1 year ago

re: discussions, we could open up the Discussions feature on Github if that makes sense, to allow for discussions that aren't yet ready for issues.

@andorsk, I haven't used GitHub Discussions but I've heard good things about it. This might be especially helpful during the public review period. I will put this on the agenda for tomorrow's TATF meetings.

For folks new to GitHub Discussions, this guide is a really good introduction.

talltree commented 1 year ago

Having spent two years as an editor of the W3C Decentralized Identifiers (DIDs) 1.0 spec — and working with some of the most experienced spec editors I know — here is the list of general tags we used to organize and manage our GitHub issues list (Note: I'm leaving out DID-spec-specific tags and adapting a few of the tag names):

Commentary:

andorsk commented 1 year ago

Yea... @talltree this looks like a solid list. Maybe w/ @sankarshanmukhopadhyay correction tag as well. Seems like for this repo, correction would be kinda like bug in software development terms.

I don't mind setting this up, if that's the tags we want, as well as putting something on the repoCONTRIBUTING.md file for the review/tagging process.

talltree commented 1 year ago

@andorsk +1 to adding the correction label as well.

I've put this on the agenda for the TATF calls tomorrow to see if members have any further input, but once we've done that, it would be fantastic if you want to set these up. Note that I've adding comments to a handful of issues tonight to suggest what the proposed labels from this list would be so we can test this with the TF tomorrow.

andorsk commented 1 year ago

Awesome. Will do. @wenjing or @talltree I'll need the ability to create labels on the repo. As of now, that is not possible for my credentials.

Let's bundle this access issue a bigger access/repo management issue. I.e deciding who can do what, and enabling them so they can help.

andorsk commented 1 year ago

Reference documentation by @talltree https://wiki.trustoverip.org/display/HOME/GitHub+Issues+Management+Process. Labels added there as well.

andorsk commented 1 year ago

Add needs editor review. Action item: Fill out a table with details about the labels.

a-fox commented 1 year ago

Regarding labels, they should serve at least three purposes: 1) They should be obvious for new people, making it easier for anybody to jump into the issues. 2) They should be aligned with what type of issues are raised during the work (no label-waste) 3) They should make issue handling more efficient by helping to provide meta-information for sorting, easy scanning, categorising, etc.

I like a lot the example @andorsk shared, especially the way they categorize the labels. It helps tremendously on readibility and usability.

With these in mind, I would propose the following changes to the labels @talltree listed:

So the list would read:

andorsk commented 1 year ago

@a-fox nice proposal. I think that's a fantastic idea. Milestones would definitely work, but it does introduce another "thing" to learn which was my only concern. That being said: it eventually flows better into tracking things, so it can make sense.

On the list above, I do think @talltree's point about:

last-call-to-close probably should be there. With your updated label: State: Last Call to Close. This is to give some latency to the review process. I.e if you weren't on the meeting, you still have some time to review before it closes out.

Also Type: Correction per @sankarshanmukhopadhyay

I'll need to think a little bit more about how to put everyone's feedback together, but this is a great discussion to have and I love the community feedback on it. I think we are getting really close

The PR's in theory are trackable right on the issue as well, but again, another thing to learn. Trying to not have too much cognitive load here, but on the flip side it's pretty straight forward.

We aren't using projects yet, and I'm not sure we should...

image
andorsk commented 1 year ago

One thing I'll mention here: We can adjust the labels names after, without having to redo the actual labelling. Github doesn't use the name as an id, but it's a reference to a pointer for an id. The point is here, if something updates later on the labels, we can update it without doing a whole bunch of work after, so we aren't at a point of no return for existing labels. Creating new ones would require some work to apply though.

talltree commented 1 year ago

@a-fox Thanks for the in-depth analysis and recommendation. I did a little research on best practices for GitHub issue labels and found this article that advises exactly the same three categories (priority, type, status). So I took your advice and updated the Github Issues Management wiki page per your suggestions, while also including the suggestions of @andorsk and @sankarshanmukhopadhyay.

I also took the advice of the W3C editors and made all labels 100% lowercase.

The full explanation of each label is in the table on the wiki page, but for easy reference here, the revised list is:

andorsk commented 1 year ago

Love this guys. I think we are good with the above.

andorsk commented 1 year ago

@talltree as I was going through this type:admin

martchcl commented 1 year ago

I have created all of the labels