Kyuubi Project Improvement Proposals (KPIP)

The purpose of a KPIP is to inform and involve the user community in significant improvements to the Kyuubi codebase throughout the development process to increase user needs.

KPIPs should be used for significant user-facing or cross-cutting changes, not minor incremental improvements. When in doubt, if a committer thinks a change needs a KPIP, it does.

What is a KPIP?

A KPIP is similar to a product requirement document commonly used in product management.

A KPIP:

Who?

Any community member can help by discussing whether a KPIP is likely to meet their needs and propose KPIPs.

Contributors can help by discussing whether a KPIP is likely to be technically feasible.

Committers can help by discussing whether a KPIP aligns with long-term project goals, and by shepherding KPIPs.

KPIP Author is any community member who authors a KPIP and is committed to pushing the change through the entire process. KPIP authorship can be transferred.

KPIP Shepherd is a PMC member who is committed to shepherding the proposed change throughout the entire process. Although the shepherd can delegate or work with other committers in the development process, the shepherd is ultimately responsible for the success or failure of the KPIP. Responsibilities of the shepherd include, but are not limited to:

KPIP Process

Proposing a KPIP

Anyone may propose a KPIP, using the document template below. Please only submit a KPIP if you are willing to help, at least with discussion.

If a KPIP is too small or incremental and should have been done through the normal JIRA process, a committer should remove the KPIP label.

KPIP Document Template

A KPIP document is a short document with a few questions, inspired by the Heilmeier Catechism:

Discussing a KPIP

All discussions of a KPIP should take place in a public forum, preferably the discussion attached to the ticket. Any discussion that happen offline should be made available online for the public via meeting notes summarizing the discussions.

Implementing a KPIP

Implementation should take place via the contribution guidelines. Changes that require KPIPs typically also require design documents to be written and reviewed.