-
Notifications
You must be signed in to change notification settings - Fork 13
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
ref: cncf/toc#1358
cc: @gaius-qi @imeoer
Following up on the Dragonfly governance review being performed by @khallai, there are suggestions that should help resolve the majority of the findings. It's largely a lot of clean up and consolidation with a few suggested policy items and the adoption of some tooling that would streamline management in the future. If you have any questions, please don't hesitate to ask 👍
- Consolidate governance documentation:
- Dragonfly has a community repo that seems like it is intended to serve as the central point for project governance and docs, however docs and links there appear to be out of date and broken when compared to the docs in the dragonflyoss/dragonfly repo.
- No governance.md file in community repo, link in readme broken
- Most recent governance.md exists in dragonflyoss/dragonfly repo
- Security process in contributing.md refers to an alibaba address to contact for reporting vulnerabilities vs contributing.md in dragonfly repo.
- Post consolidation, update all associated links to point to single source of truth.
- Dragonfly has a community repo that seems like it is intended to serve as the central point for project governance and docs, however docs and links there appear to be out of date and broken when compared to the docs in the dragonflyoss/dragonfly repo.
- Consolidate and update security policy / contributing.md security section
- Security policies should be consolidated (some say report via GitHub security, others email list)
- Reporting security vulnerabilities should not be directed to a public mailing list, suggest using dragonfly-maintainers@googlegroups.com, or another limited group (administrators?), instead of dragonfly-developers@googlegroups.com.
- This would serve as the project’s “Security Response Team”.
- No way listed to join security-announce mailing list (unless its dragonfly-developers?).
- Update contributing.md
- Could use an update to reflect current state (e.g. references go 1.15).
- For the current go version, you can say “check go.mod” for current required version so that you do not have to update every time golang is bumped.
- Alternatively to further consolidate docs to one location, you could point to the developer docs on the dragonfly website.
- Could use an update to reflect current state (e.g. references go 1.15).
- Update Code of Conduct to reflect CNCF policy
- Code of Conduct currently references the Contributor Covenant, projects are required to adopt the CNCF CoC as part of joining the foundation.
- Suggest adopting a policy similar to Dapr.
- Communication channels
- dragonfly-maintainers@googlegroups.com is not documented
- Most communication channels are only listed in the README of the dragonflyoss/dragonfly repo.
- Googlegroups link list the email of the group, suggest either linking to the group itself e.g.: https://groups.google.com/g/dragonfly-discuss
- In the case of dragonfly-discuss, suggest removing it and only using the GitHub discussions. They have much more engagement vs the mailing list which only has 15 posts (mostly spam).
- Email list spam
- For public googlegroups channels, suggest setting first post moderation on for google group settings. Users that submit a valid message would never need follow-up approval, spammers would be banned.
- Governance
- Current governance docs are essentially a contributor ladder with a couple governance sections. Suggest minor edits and renaming to community-membership.md
- Adding a maintainer section should be updated
- Section requires a meeting to discuss & vote on promoting new maintainers, but it does not look like any meetings are regularly taking place. Suggest updating policy to move to an async method.
- Regarding decision making a few suggestions:
- Change “maintainer” to “active maintainer” to prevent an inactive member from dry-by “LGTM”ing to merge something without review.
- Define a lazy consensus period before a significant PR can be merged when below 7 active maintainers as a secondary mechanism to prevent unintended merges.
- Link to security.md for “Security Response Team” to create a single source of truth (or vice-versa).
- Administrator role
- Who decides who can be an administrator? What happens if all administrators are not available?
- Suggest nominated by administrators, voted by maintainers or administrators + maintainers
- Facilitating elections is a listed responsibility, but what is the election policy? In the maintainer section it does list supermajority as a means
- Who decides who can be an administrator? What happens if all administrators are not available?
- Maintainer List
- Maintainer List is out of sync with CNCF maintainer list, and maintainer mailing list.
- Updating CNCF maintainer lists is important as those people are allowed to represent the project to the CNCF (service desk tickets) and get important notifications (e.g. CFP deadlines, security issues reported to CNCF).
- Some maintainers have not been active and should be removed following current documented policy.
- Suggest updating policy to extend inactive timeframe to be more than 3 months, or optional vote at 3 months, and automatic removal at a year, or something similar.
- Example: Dapr community-membership.md
- Example: Kubernetes Inactive member policy
- Suggest adopting cilium/team-manager (config example), clowarden (config example), or other similar tool for managing org membership, team membership etc.
- Creating groups for maintainers and administrators and providing name/affiliation in a comment would satisfy keeping a maintainer list, subproject ownership (e.g. of nydus), and would mean it only had to kept up to date in one place (in project).
- Team-manager can load-balance PR assignment across members of a group.
- Maintainer List is out of sync with CNCF maintainer list, and maintainer mailing list.
- Community Meetings
- Community repo readme states that community meetings take place every month, but it does not appear that they are actively happening with the last meeting taking place on 2024-06-27.
- If meetings are not taking place, suggest updating to move to a method to “propose agenda items” and schedule ad-hoc
- Would match governance.md with it stating that meetings only happen sporadically.
- Design Proposal & architecture (not a governance item)
- Suggest updating default feature issue template and consolidating on that or an alternative where they can be discussed/tracked in a more formal way.
EDIT: Some of the nested lists weren't rendering right, should be fixed now 👍
gaius-qigaius-qi
Metadata
Metadata
Labels
enhancementNew feature or requestNew feature or request