cilium / design-cfps

Repo to store Cilium CFP design docs
Apache License 2.0
31 stars 26 forks source link

add status to the README #42

Closed xmulligan closed 3 months ago

xmulligan commented 4 months ago

Following #4 #37 and https://github.com/cilium/design-cfps/pull/9#issuecomment-2218325481

I've taken a stab at outlining a status for the CFP lifecycle. On this first pass I've tried to keep it pretty simple. Unmerged CFP is draft, merged is implementable, if a CFP is updated status is updated, and if it hasn't moved forward or was just an idea it is dormant.

Practically speaking that means that any CFP that has one committer's approval is now implementable. Hopefully, this will make it more clear that once there is alignment on the CFP, we can merge it so they aren't stuck as open PRs forever. We can then updated a CFP later as we see fit.

joestringer commented 4 months ago

Oh I think Nick is actually OOO, so no need to block this PR on his response. I just figured he could potentially provide some good feedback.

Once you've revised the latest wording I can take a fresh look over the full text. We could also just advertise this a bit more broadly and set a deadline to merge. I think that after some minor editing this should be plenty good enough to start using and we can further amend the process from there as needed.

xmulligan commented 4 months ago

Sorry just catching up after vacation too. I've slightly changed the wording to released so we aren't going between implementable and implemented. I think it is ready for another read through and I can bring it to the developers meeting too.

xmulligan commented 3 months ago

@bowei Thanks for pointing out the GEP process. I've looked through it and added Declined as a status too. I'll also add my thoughts on why I didn't add the other statuses below

Completed matches Released

Standard and Experimental match more to feature maturity/stability. So far in the Cilium project history, we haven't really tracked feature maturity. At a very high level there is the Major Feature Status, however we currently don't have clear guidelines around them and trying to add this right now to the CFP process would seem like a major change to the project workflow and I would try to avoid that right now unless we have a clear idea about what we are trying to get out of it

Implementable, Provisional,`Prototyping seem to roughly match Implementable. It is not quite clear to me the benefit of having these three different statuses to say we roughly agree on the idea, but haven't started all of the coding yet. Do you think we should have multiple statuses here?

youngnick commented 3 months ago

I think that it's better to start with less states, and add them if we need them later. I agree with adding Declined, but I think that what's there now is enough for a first iteration.

bowei commented 3 months ago

Just so we don't forget, we may want to backpatch the existing CFPs with the status field for completeness...

bowei commented 3 months ago

LGTM