cncf / toc

⚖️ The CNCF Technical Oversight Committee (TOC) is the technical governing body of the CNCF Foundation.
https://cncf.io
1.67k stars 631 forks source link

[Incubation] KServe Incubation Application #1367

Open yuzisun opened 2 months ago

yuzisun commented 2 months ago

KServe Incubation Application

v1.5 This template provides the project with a framework to inform the TOC of their conformance to the Incubation Level Criteria.

Project Repo(s): https://github.com/kserve Project Site: https://github.com/kserve/website Sub-Projects: https://github.com/kserve/kserve https://github.com/kserve/modelmesh-serving https://github.com/kserve/open-inference-protocol https://github.com/kserve/models-web-app

Communication: https://github.com/kserve/community?tab=readme-ov-file#questions-and-issues

Project points of contacts: Dan Sun, dsun20@bloomberg.net Yuan Tang, terrytangyuan@gmail.com Rachit Chauhan,rachitchauhan43@gmail.com Christian Kadner, ckadner@us.ibm.com

Incubation Criteria Summary for KServe

Adoption Assertion

The project has been adopted by the following organizations in a testing and integration or production capacity:

KServe adopters are tracked here

Application Process Principles

Suggested

N/A

Required

- [X] **All project metadata and resources are [vendor-neutral](https://contribute.cncf.io/maintainers/community/vendor-neutrality/).** - Yes. KServe is utilizing vendor neutral resources for communication, testing , hosting and governance. - [X] **Review and acknowledgement of expectations for [Sandbox](https://sandbox.cncf.io) projects and requirements for moving forward through the CNCF Maturity levels.** - KServe Met LFAI incubation Project requirement in Nov 2021 https://lfaidata.foundation/projects/kserve/ - [ ] **Due Diligence Review.** - To be done by TOC Completion of this due diligence document, resolution of concerns raised, and presented for public comment satisifies the Due Diligence Review criteria. - [X] **Additional documentation as appropriate for project type, e.g.: installation documentation, end user documentation, reference implementation and/or code samples.** - Installation: https://kserve.github.io/website/latest/admin - End user documentation: https://kserve.github.io/website/master/modelserving/control_plane/ - Blog posts: https://kserve.github.io/website/master/blog/articles/2024-05-15-KServe-0.13-release/ ## Governance and Maintainers Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy. ### Suggested - [X] **Clear and discoverable project governance documentation.** - [Project governance doc](https://github.com/kserve/community/blob/main/KSERVE-TECHICAL-CHARTER.md) - [X] **Governance has continuously been iterated upon by the project as a result of their experience applying it, with the governance history demonstrating evolution of maturity alongside the project's maturity evolution.** KServe project Governance has iterated organically as it has gained experienced over the years. Contributor Roles and contributor ladder processes are streamlined over the past years as well as team member onboarding/offboarding process is well defined. The Project has currently 15 active committers and maintainers and it has received contributions from 243 contributors who come from different companies. - [X] **Governance is up to date with actual project activities, including any meetings, elections, leadership, or approval processes.** Governance is up to date and KServe project has been running [bi-weekly community meeting](https://github.com/kserve/community/tree/main?tab=readme-ov-file#community-meeting) for 5 years now. KServe also regularly promote contributors with the established voting and approval process. - [X] **Governance clearly documents [vendor-neutrality](https://contribute.cncf.io/maintainers/community/vendor-neutrality/) of project direction.** - [X] **Document how the project makes decisions on leadership, contribution acceptance, requests to the CNCF, and changes to governance or project goals.** - The project decisions are discussed in open issues and we use gitvote process to make the final decision. For example: [requests to the CNCF](https://github.com/kserve/community/issues/10) - [X] **Document how role, function-based members, or sub-teams are assigned, onboarded, and removed for specific teams (example: Security Response Committee).** - KServe uses the GitHub team to manage the roles and remembers, for example `kserve-security` team responses to the security issues. - [X] **Document a complete maintainer lifecycle process (including roles, onboarding, offboarding, and emeritus status).** - The role promotion process is documented [here](https://github.com/kserve/community/blob/main/CONTRIBUTING.md#becoming-a-committer) - [X] **Demonstrate usage of the maintainer lifecycle with outcomes, either through the addition or replacement of maintainers as project events have required.** - Updates to the [KServe OWNER file](https://github.com/kserve/kserve/blob/master/OWNERS), [example PR](https://github.com/kserve/kserve/pull/2724) - [X] **If the project has subprojects: subproject leadership, contribution, maturity status documented, including add/remove process.** - KServe ModelMesh: Christian Kadner, [ckadner@us.ibm.com](mailto:ckadner@us.ibm.com) - KServe Open Inference Protocol: Dan Sun [dsun20@bloomberg.net](mailto:dsun20@bloomberg.net) - KServe Webapp: Julius von Kohout [juliusvonkohout](https://github.com/juliusvonkohout) ### Required - [X] **Document complete list of current maintainers, including names, contact information, domain of responsibility, and affiliation.** - [KServe maintainers](https://github.com/kserve/kserve/blob/master/OWNERS) - [X] **A number of active maintainers which is appropriate to the size and scope of the project.** - 15 active maintainers from Intuit, Bloomberg, IBM, Redhat, Nutanix, SAP, Idea2IT. - [X] **Code and Doc ownership in Github and elsewhere matches documented governance roles.** - [ ] **Document agreement that project will adopt CNCF Code of Conduct.** - [Code of conduct](https://github.com/kserve/community/blob/main/CONTRIBUTING.md#code-of-conduct) - TODO update the link to use CNCF Code of Conduct - [ ] **CNCF Code of Conduct is cross-linked from other governance documents.** - TODO - [X] **All subprojects, if any, are listed.** ## Contributors and Community Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy. ### Suggested - [X] **Contributor ladder with multiple roles for contributors.** [Contributor promotion process](https://github.com/kserve/community?tab=readme-ov-file#become-a-contributor) ### Required - [X] **Clearly defined and discoverable process to submit issues or changes.** [KServe contribution guide](https://github.com/kserve/community/blob/main/CONTRIBUTING.md) - [X] **Project must have, and document, at least one public communications channel for users and/or contributors.** [KServe communication channels](https://github.com/kserve/community?tab=readme-ov-file#questions-and-issues) - [X] **List and document all project communication channels, including subprojects (mail list/slack/etc.). List any non-public communications channels and what their special purpose is.** CNCF slack channels: #kserve #kserve-contributors #kserve-oip-collaboration - [ ] **Up-to-date public meeting schedulers and/or integration with CNCF calendar.** - TODO, currently using LFAI calendar - [X] **Documentation of how to contribute, with increasing detail as the project matures.** - [X] **Demonstrate contributor activity and recruitment.** - KServe has [243 contributors](https://github.com/kserve/kserve/graphs/contributors) - KServe project gained [3.3k GitHub stars](https://github.com/kserve/kserve/stargazers) and [999 forks](https://github.com/kserve/kserve/forks) - KServe python SDK are used by [402 other projects](https://github.com/kserve/kserve/network/dependents) - KServe container images are downloaded [1M+](https://hub.docker.com/r/kserve/kserve-controller) - We regularly run the script to collect the contribution stats to [promote contributors](https://github.com/kserve/community/blob/main/CONTRIBUTING.md#becoming-a-committer) ## Engineering Principles ### Suggested - [X] **Roadmap change process is documented.** - [Feature Request Process](https://github.com/kserve/community/blob/main/CONTRIBUTING.md#contributing-a-feature) - [X] **History of regular, quality releases.** KServe currently follows quarterly release, see the [release tag history](https://github.com/kserve/kserve/tags) ### Required - [X] **Document project goals and objectives that illustrate the project’s differentiation in the Cloud Native landscape as well as outlines how this project fulfills an outstanding need and/or solves a problem differently.** - [KServe project goals and objectives](https://github.com/kserve/kserve?tab=readme-ov-file#kserve) - [X] **Document what the project does, and why it does it - including viable cloud native use cases.** - [KServe what and why](https://github.com/kserve/kserve?tab=readme-ov-file#why-kserve) - [X] **Document and maintain a public roadmap or other forward looking planning document or tracking mechanism.** - [KServe Roadmap](https://github.com/kserve/kserve/blob/master/ROADMAP.md) - [X] **Document overview of project architecture and software design that demonstrates viable cloud native use cases, as part of the project's documentation.** - [KServe Control Plane doc](https://kserve.github.io/website/latest/modelserving/control_plane) - [KServe Data Plane Doc](https://kserve.github.io/website/latest/modelserving/data_plane/data_plane) - [X] **Document the project's release process.** - [KServe Release Process](https://github.com/kserve/kserve/blob/master/release/RELEASE_PROCESS_v2.md) ## Security Note: this section may be augemented by a joint-assessment performed by TAG Security. ### Suggested N/A ### Required - [X] **Clearly defined and discoverable process to report security issues.** [Security issue reporting process](https://github.com/kserve/kserve/blob/master/SECURITY.md) - [X] **Enforcing Access Control Rules to secure the code base against attacks (Example: two factor authentication enforcement, and/or use of ACL tools.)** - [X] **Document assignment of security response roles and how reports are handled.** https://github.com/kserve/kserve/security Security scanning is enabled for the project and `kserve-security` is responsible for fixing the vulnerability issues. - [ ] **Document Security Self-Assessment.** - [X] **Achieve the Open Source Security Foundation (OpenSSF) Best Practices passing badge.** [OpenSSF best practice passing badge](https://www.bestpractices.dev/en/projects/6643) ## Ecosystem ### Suggested N/A ### Required - [X] **Publicly documented list of adopters, which may indicate their adoption level (dev/trialing, prod, etc.)** - KServe adopters are tracked [here](https://kserve.github.io/website/latest/community/adopters) - [ ] **Used in appropriate capacity by at least 3 independent + indirect/direct adopters, (these are not required to be in the publicly documented list of adopters)** The project provided the TOC with a list of adopters for verification of use of the project at the level expected, i.e. production use for graduation, dev/test for incubation. - [ ] **TOC verification of adopters.** - To be done by TOC Refer to the Adoption portion of this document. - [X] **Clearly documented integrations and/or compatibility with other CNCF projects as well as non-CNCF projects.** - KServe officially supports integration with CNCF projects Istio, Knative, gRPC, OpenTelemetry - [KServe installation guide using Istio/Knative](https://kserve.github.io/website/latest/admin/serverless/serverless) - [KServe ServiceMesh guide using Istio](https://kserve.github.io/website/latest/admin/serverless/servicemesh) ## Additional Information