summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Beda <joe.github@bedafamily.com>2018-02-19 12:10:34 -0800
committerJoe Beda <joe.github@bedafamily.com>2018-02-19 12:12:23 -0800
commit84285efd2b53d452c2f94067d90930ae22a8f25b (patch)
treeaa153468cd7c418f66af5d420157f913f92937ab
parent25b16c973e436e3e89f6d164407d419d2ea20e27 (diff)
Update/clarify KEP process
Signed-off-by: Joe Beda <joe.github@bedafamily.com>
-rw-r--r--keps/0000-kep-template.md29
-rw-r--r--keps/0001-kubernetes-enhancement-proposal-process.md4
-rw-r--r--keps/README.md41
3 files changed, 59 insertions, 15 deletions
diff --git a/keps/0000-kep-template.md b/keps/0000-kep-template.md
index 1b2dbd6d..78916e10 100644
--- a/keps/0000-kep-template.md
+++ b/keps/0000-kep-template.md
@@ -1,5 +1,5 @@
---
-kep-number: draft-YYYYMMDD
+kep-number: 0
title: My First KEP
authors:
- "@janedoe"
@@ -16,7 +16,7 @@ approvers:
editor: TBD
creation-date: yyyy-mm-dd
last-updated: yyyy-mm-dd
-status: accepted
+status: provisional
see-also:
- KEP-1
- KEP-2
@@ -37,16 +37,25 @@ The title should be lowercased and spaces/punctuation should be replaced with `-
As the KEP is approved and an official KEP number is allocated, the file should be renamed.
To get started with this template:
-* Make a copy of this template.
- Name it `draft-YYYYMMDD-my-title.md`.
-* Create a PR in the [`kubernetes/community`](https://github.com/kubernetes/community) repo.
-* Check in early.
- Do this once the document holds together and general direction is understood by many in the sponsoring SIG.
- View anything marked as a draft as a working document.
+1. **Pick a hosting SIG.**
+ Make sure that the problem space is something the SIG is interested in taking up.
+ KEPs should not be checked in without a sponsoring SIG.
+1. **Allocate a KEP number.**
+ Do this by (a) taking the next number in the `NEXT_KEP_NUMBER` file and (b) incrementing that number.
+ Include the updated `NEXT_KEP_NUMBER` file in your PR.
+1. **Make a copy of this template.**
+ Name it `NNNN-YYYYMMDD-my-title.md` where `NNNN` is the KEP number that was allocated.
+1. **Fill out the "overview" sections.**
+ This includes the Summary and Motivation sections.
+ These should be easy if you've preflighted the idea of the KEP with the appropriate SIG.
+1. **Create a PR.**
+ Assign it to folks in the SIG that are sponsoring this process.
+1. **Merge early.**
+ Avoid getting hung up on specific details and instead aim to get the goal of the KEP merged quickly.
+ The best way to do this is to just start with the "Overview" sections and fill out details incrementally in follow on PRs.
+ View anything marked as a `provisional` as a working document.
Aim for single topic PRs to keep discussions focused.
If you disagree with what is already in a document, open a new PR with suggested changes.
-* A KEP number can be assigned at any time by (even in the first PR) (a) taking the next number in the NEXT_KEP_NUMBER file and (b) incrementing that number.
- These PRs should be approved quickly to minimize merge conflicts.
The canonical place for the latest set of instructions (and the likely source of this file) is [here](/keps/0000-kep-template.md).
diff --git a/keps/0001-kubernetes-enhancement-proposal-process.md b/keps/0001-kubernetes-enhancement-proposal-process.md
index c0d113da..4594b716 100644
--- a/keps/0001-kubernetes-enhancement-proposal-process.md
+++ b/keps/0001-kubernetes-enhancement-proposal-process.md
@@ -164,7 +164,7 @@ Metadata items:
KEP filename. See the template for instructions and details.
* **status** Required
* The current state of the KEP.
- * Must be one of `accepted`, `implementable`, `implemented`, `deferred`, `rejected`, `withdrawn`, or `replaced`.
+ * Must be one of `provisional`, `implementable`, `implemented`, `deferred`, `rejected`, `withdrawn`, or `replaced`.
* **authors** Required
* A list of authors for the KEP.
This is simply the github ID.
@@ -222,7 +222,7 @@ Metadata items:
A KEP has the following states
-- `accepted`: The KEP has been proposed and is actively being defined.
+- `provisional`: The KEP has been proposed and is actively being defined.
This is the starting state while the KEP is being fleshed out and actively defined and discussed.
The owning SIG has accepted that this is work that needs to be done.
- `implementable`: The approvers have approved this KEP for implementation.
diff --git a/keps/README.md b/keps/README.md
index 2a9b53b9..8dad5e8e 100644
--- a/keps/README.md
+++ b/keps/README.md
@@ -1,7 +1,42 @@
# Kubernetes Enhancement Proposals (KEPs)
-This directory contains both the template and process for KEPs.
+A Kubernetes Enhancement Proposal (KEP) is a way to propose, communicate and coordiante on new efforts for the Kubernetes project.
+You can read the full details of the project in [KEP-1](0001-kubernetes-enhancement-proposal-process.md).
-This process is still in an _alpha_ state and is opt-in for those that want to provide feedback for the process.
+This process is still in a _beta_ state and is opt-in for those that want to provide feedback for the process.
-See [KEP-1](0001-kubernetes-enhancement-proposal-process.md) for details of this process.
+## Quick start for the KEP process
+
+1. Socialize an idea with a sponsoring SIG.
+ Make sure that others think the work is worth taking up and will help review the KEP and any code changes required.
+2. Follow the process outlined in the [KEP template](0000-kep-template.md)
+
+## FAQs
+
+### Do I have to use the KEP process?
+
+Generally, no!
+KEPs are only required when the changes are wide ranging and impact most of the project.
+These changes are usually coordinated through SIG-Architecture.
+It is up to any specific SIG if they want to use the KEP process and when.
+The process is available to SIGs to use but not required.
+
+### Why would I want to use the KEP process?
+
+Our aim with KEPs is to clearly communicate new efforts to the Kubernetes contributor community.
+As such, we want to build a well curated set of clear proposals in a common format with useful metadata.
+Over time we'll be building on this to make KEPs findable (SEO) and cross indexed.
+We are inspired by IETF RFCs, Pyton PEPs and Rust RFCs.
+See [KEP-1](0001-kubernetes-enhancement-proposal-process.md) for more details.
+
+### Do I put my KEP in the root KEP directory or a SIG subdirectory?
+
+If the KEP is mainly restricted to one SIG's purview then it should be in a KEP directory for that SIG.
+If the KEP is widely impacting much of Kubernetes, it should be put at the root of this directory.
+If in doubt ask [SIG-Architecture](../sig-architecture/README.md) and they can advise.
+
+### My FAQ isn't answered here!
+
+The KEP process is still evolving!
+If something is missing or not answered here feel free to reach out to [SIG-Architecture](../sig-architecture/README.md).
+If you want to propose a change to the KEP process you can open a PR on [KEP-1](0001-kubernetes-enhancement-proposal-process.md) with your proposal.