Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create 2025-03-06.md #781

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions governance/assessments/projects/kserve/2025-03-06.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# KServe - Governance Review - Incubating

What follows is a governance review and assessment for the KServe project. This review is carried out by members of the Governance Working Group of TAG Contributor Strategy. The review may have been done because of a change in maturity level for the project, at the request of the TOC, or as a request by the project itself. If requested by the project, the review will be provided to the project maintainers. Otherwise, the review will be submitted to the TOC for their follow-up.
Projects may ask TAG Contributor Strategy for assistance in resolving any issues uncovered by the review. The TAG is available via our [slack channel](https://cloud-native.slack.com/archives/CT6CWS1JN), [email](https://lists.cncf.io/g/cncf-tag-contributor-strategy), [GitHub](https://github.com/cncf/tag-contributor-strategy), or by joining our weekly meetings (listed on the [CNCF public calendar](https://www.cncf.io/calendar/)).

## Summary and Assessment

Status: Mostly Satisfactory

* KServe requested a Governance Review for their Incubating application on Dec 18, 2024
* All references to KServe documentation and repositories should be considered correct as at March 6 2025, and may have changed by the time you read this.

## Executing the Assessment

### Must-Fix Items

The following issues have been identified that need to be resolved before advancing to Incubating:
* No issues were found that would be a blocker to Incubating status.

### Points of Excellence

The following aspects of governance are exemplary, and can be referenced as examples for other projects to copy:
* The onboarding documentation for new contributors is detailed and very welcoming. Many projects have trouble attracting new contributors. KServe is an excellent example for how to lower the barrier for adoption
* Use of a Community project to store all community documentation is a great practice for making it simpler for project members and adopters to find information they are looking for

### Areas for Improvement

Over the next year, the project should work on the following issues to improve its governance, these are considered non-blocking:

**Priority items**

* Document the TSC (technical steering committee) lifecycle: How someone applies to be a member of TSC, how the voting is performed, the requirements to remain a member, code-of-conduct violations or other events that would mean immediate expulsion, in other cases removing/voting out a member
* Add more information to the contributor and committer, lifecycles: similar to TSC lifecycle, the requirements for remaining a member, the process for voting a member out
* The reasons for documenting the lifecycles for all three roles is to ensure survivability of the project \- processes are in place for the project to continue if one or more founders stepped away; reassurance for adopters appropriate written governance is in place

**Miscellaneous issues**

* The ownership documentation has contradictions. It appears the intention was for LF to create a separate company for each of the series of projects, but they are currently owned by one company. We recommend documenting this ownership more clearly, and providing contact information for the LF Series Manager (who is the escalation point for TSC issues)

## Review

The following review primarily consists of an audit on the project's self-assessment in their Incubation. [https://github.com/cncf/tag-contributor-strategy/issues/750](https://github.com/cncf/tag-contributor-strategy/issues/750)

### Governance Summary

KServe is owned by [LF Projects, LLC](https://lfprojects.org/policies/) a Delaware company \#6447521, set up to administer a series of Linux Foundation projects, with each project governed independently. KServe is also part of Linux Foundation subfoundation. The KServe project administers the CNCF KServe project, and has no other interests or assets.

Within the KServe project, there are three roles:

* Technical Steering Committee: Technical oversight of the project (including the maintainer role)
* Committers: Authority to commit to the project
* Contributors: Anyone who contributes code, docs, artifacts to the project, without committing

There is a documented ladder for moving from [contributor \-\> committer](https://github.com/kserve/community/blob/23f78c76d55652a7b86b7237ddb888f092cbc6d1/CONTRIBUTING.md#becoming-a-committer). There is no formal documentation for moving from committer \-\> technical steering committee, but the project has followed a transparent process in the past. There is no formal documentation for a process to remove a contributor, committer, or TSC member (such as violating the code of conduct). For decision making: [there are written rules for how decisions are made.](https://github.com/kserve/community/blob/23f78c76d55652a7b86b7237ddb888f092cbc6d1/KSERVE-TECHICAL-CHARTER.md#3-tsc-voting) Tie breaking decisions at the TSC level are made by the LF series manager.

There are 14 maintainers listed in the [KServe/KServe maintainers file](https://github.com/kserve/kserve/blob/master/OWNERS) as reviewers.

### Governance Evolution

The project was founded with a governance structure, and there have been no major changes or evolution in governance. There are two areas to focus on:

* Formalizing the committer \-\> TSC process (if I am a committer, what do I need to do to initiate the process? What are the steps? How long does it take?)
* Clarifying the project ownership. The LF Projects charter, and the KServe technical charter are not clear on whether KServe is an independent LLC, or part of LF Projects LLC, and what this means for people using KServe.

### Discoverability

All governance documentation \+ contributor guides are stored in a [Community project,](https://github.com/kserve/community) making them simple to find. The documentation is well written, easy to understand, and the documents do not contradict each other.

### Accuracy and Clarity

The governance docs appear up to date.

* [Community meetings:](https://github.com/kserve/community?tab=readme-ov-file#community-meeting) 3rd Thursday of the month. Documented, recorded and on the CNCF calendar
* [Vendor neutrality](https://github.com/kserve/community/blob/main/KSERVE-TECHICAL-CHARTER.md#3-tsc-voting): The governance clearly documents that each member of the TSC votes equally “one member one vote”. There are no provisions for company-affiliation quotas (EG: No company may not have more than n employees on the TSC)

### **Decisions and Role Assignments**

Project documentation covers the "happy day" lifecycle for contributors and committers.

* See [Contributing a feature](https://github.com/kserve/community/blob/23f78c76d55652a7b86b7237ddb888f092cbc6d1/CONTRIBUTING.md#becoming-a-committer), and [Becoming a committer](https://github.com/kserve/community/blob/23f78c76d55652a7b86b7237ddb888f092cbc6d1/CONTRIBUTING.md#becoming-a-committer)
* There is no formal documentation for becoming a maintainer (Technical Steering Committee), although the project has followed a transparent process for voting on a new TSC member in the past
* Similar to other projects, security issues have a private reporting email. It is not transparent if these are received by the TSC or a separate group.

### Maintainers and Maintainer Lifecycle

Project has 14 maintainers, documented in the [owners](https://github.com/kserve/kserve/blob/master/OWNERS) file. The company affiliations are not listed in the file, but are: Red Hat \- 4 people, Nutanix \- 3 people, Bloomberg \- 3 people, Idea2IT \- 2 people, SAP \- 1 person, Intuit \- 1 person.

* The number of maintainers (TSC) is appropriate to the size and scope of the project
* The maintainer lifecycle is not formally documented
* Mechanisms for onboarding, keeping maintainer status, offboarding, forceably removing a maintainer are not documented

### Ownership

The code and doc ownership in Github appears to match the documented project ownership and roles

### Code of Conduct

The code of conduct links to the CNCF Code of conduct, as is common and reocmmended for most projects.

### Subprojects

KServe has 4 sub projects:

* [https://github.com/kserve/kserve](https://github.com/kserve/kserve) (the main project)
* [https://github.com/kserve/modelmesh-serving](https://github.com/kserve/modelmesh-serving)
* [https://github.com/kserve/open-inference-protocol](https://github.com/kserve/open-inference-protocol)
* [https://github.com/kserve/models-web-app](https://github.com/kserve/models-web-app)

None of these subprojects are considered as identifiability separate from the main project in ownership, operation, communication or alignment.

### Contributors and Community

As documented earlier, KServe has a simple contributor ladder, with three levels: contributor \-\> committer \-\> technical steering committee. The onboard to contributor is well documented in the contributing guide. The contributor \-\> committer is well documented. The committer \-\> TSC is not formally documented

There is a clearly defined and discoverable process to submit issues or changes (part of the contributing guide)

The project has several public communication channels (including Slack and public community meetings). The project also has a dedicated channel on its website: [https://kserve.github.io/website/latest/community/get\_involved/](https://kserve.github.io/website/latest/community/get_involved/)

There have been 419 community contributions over the last 12 months (to 2 Mar 2025), according to [lfxinsights](https://insights.lfx.linuxfoundation.org/foundation/lf-ai-foundation/overview/github?project=kserve&routedFrom=Github&bestPractice=false&repository=https:%2F%2Fgithub.com%2Fkserve%2Fkserve&dateFilters=Last%2012%20Months&dateRange=2024-03-03%20to%202025-03-02&compare=PP&granularity=month&hideBots=true)