tag-contributor-strategy icon indicating copy to clipboard operation
tag-contributor-strategy copied to clipboard

[Governance Review]: Knative

Open aliok opened this issue 1 year ago • 3 comments

Project Name

Knative

Project Website

https://knative.dev/

Contact Details 1

@aliok

Contact Details 2

@nainaz

Links to communication channels

https://cloud-native.slack.com/archives/C04LGHDR9K7

Reason for governance review request

Application for moving levels from Incubation to Graduation

Are there any sub-projects, plugins, and related?

Knative has 4 modules:

  • Serving: https://knative.dev/docs/serving/
  • Eventing https://knative.dev/docs/eventing/
  • Functions: https://knative.dev/docs/functions/
  • CLI: https://knative.dev/docs/client/

Governance model

Knative governance is based on the "The Steering Committee" governance model: https://contribute.cncf.io/maintainers/templates/governance-elections/

Governance documents

  • Project purpose (partial):

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/README.md#introduction
  • Maintainer list: (No employer affiliation exist in these files)

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/OWNERS
    • https://github.com/knative/community/blob/main/peribolos/knative.yaml
    • https://github.com/knative/community/blob/main/peribolos/knative-extensions.yaml
  • How your project is making decisions:

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/GOVERNANCE.md
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/CONSENSUS.md
  • How and when contributors are moving through the contributor ladder (e.g. becoming a maintainer)

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/ROLES.md
  • Maintainer life cycle with information about how and when maintainers are demoted

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/ROLES.md#involuntary-removal-or-demotion
  • Code of Conduct:

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/CODE-OF-CONDUCT.md
  • Contributor Guide:

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/CONTRIBUTING.md
  • How your community conduct communication and meetings:

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/CALENDAR.MD
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/SLACK-GUIDELINES.md,
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/STEERING-COMMITTEE.md#committee-meetings
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/TECH-OVERSIGHT-COMMITTEE.md#committee-meeting
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/README.md#meetings-and-work-groups
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/working-groups/WORKING-GROUPS.md
  • How your community handles security reporting and response:

    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/SECURITY.md
  • Who owns what code and docs:

    • Each repository has its own owner definition. These are groups. For example, the knative/community repository is owned by the steering committee: https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/OWNERS#L4

Additional:

  • Project and community values:
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/VALUES.md
    • https://github.com/knative/community/blob/7e7b3c26cee0986ef70c46004af3b877c0afb14c/TEAM-VALUES.md

Governance Execution Examples

Election examples:

  • https://github.com/knative/community/tree/7e7b3c26cee0986ef70c46004af3b877c0afb14c/elections

Voting example (decision making):

  • https://docs.google.com/document/d/16Rpd2nhmLWrkFJUfpJ31Ox2PpultJ-bYIhqaiWQff_I/edit#heading=h.jlesqjgc1ij3

Promoting a contributor:

  • https://github.com/knative/community/pull/1414

Demoting a maintainer:

  • We don't have an example of demoting somebody e.g. because of inactivity
  • People do voluntarily leave their roles though: https://github.com/knative/community/pull/1395

Security response:

  • TO BE PROVIDED LATER

Meeting recordings:

  • TO BE PROVIDED LATER

Governance Evolution

Governance model is the same since I've joined the project.

I believe there has been some changes for the vendor seat cap when Knative joined CNCF, but not sure how relevant it is right now.

There were some WGs that were created and then closed.

The Trademark committee has been dissolved recently. It was created to handle the trademark issues before Knative joined CNCF.

Any specific aspects of your governance structure are you seeking feedback on?

Nothing specific.

Do you have any concerns or specific areas where you feel your governance could be improved?

I personally believe there are a few major things right now:

  • The Docs WG has been closed, but there is no overarching entity that takes care of the docs. This will be an issue soon.
  • Maintainer list needs to have employer affiliation.
  • Some governance docs are outdated (can't give an exact list, but I sometimes see outdated content).
  • Community calendar has some outdated entries (e.g closed Docs WG meeting)
  • Meetings are not recorded anymore (or they're not uploaded)
  • Inactive approvers / WG leads / committee members are not removed. They're kept in the owner files forever.

Not really about governance improvements, but there are a few issues in the community health. We need some governance improvements too, to address these problems:

  • Red Hat dominance
  • Not collaborating with CNCF TAGs (App Delivery etc.)
  • No new contributors

Additional notes and resources

There's also these web pages:

  • https://knative.dev/docs/community/
  • https://knative.dev/docs/community/contributing/
  • https://knative.dev/docs/community/governance/

aliok avatar Jan 14 '24 19:01 aliok

I'm putting this on hold while we have some discussions with Knative about governance updates

geekygirldawn avatar Mar 28 '24 09:03 geekygirldawn