+1 (non-binding .. ? )
I've already commented a couple of times (here and there) that the process
needs to be consolidated at a single place. This is a good and detailed
approach.
Not sure if there is a historical context behind keeping the discussion in
dev mailing list..

Regards

On Fri, Mar 31, 2023 at 1:57 AM Asaf Mesika <asaf.mes...@gmail.com> wrote:

> Hi all,
>
> In the last 2 months, I've increased my PIP review time (I do it in
> cycles), and reviewed quite a few PIPs.
>
> My conclusion as a result of that:
>
> It's nearly impossible to review PIPs using a mailing list.
> We must fix it soon.
>
> *Why?*
> 1. Let's say you review the PIP and find 10 issues. Once you quote and
> comment on those ten points, you basically started 10 threads of
> conversations.
> After 2-3 ping pongs with quotes of quotes of quotes, it takes you forever
> to read each thread properly. You find your CTRL-F to search to find your
> original quote, and reply. Load it up again in your head, switching to the
> PIP tab to read it again.
> After 10 ping pongs, it becomes almost an impossible mission.
>
> I can say I'm 75% tired just from the process, not from the review itself.
>
> 2. It's non collaborative by design.
> After 10 ping pongs, the ability of someone to come and join the discussion
> is 0. They need to go through so many replies, which are half quotes, find
> the original reply, and browse to the PIP.
> It's no wonder people drop off the PIP review once we cross 5-6 replies.
> It's no wonder, nobody joins after 10 replies.
>
> 3. It's not open to the public. Non collaborative.
> You can't just get a link, and join the review. Not only because of (1) and
> (2). You need to join the mailing list. You don't get the past emails to
> reply. Just joining the list is a high enough bar for many people.
> I personally participated in review of proposals in OpenTelemetry in the
> last 6 months, even though I'm just an occasional user.  Why? They were
> conducted on GitHub PR , so it was easy for me - click a link and reply.
>
> 4. All over the place
> Sometimes people comment on the GitHub issue.
> Sometimes on the mailing list.
> Not a single place.
>
> 5. No history.
> Ok, finally the author was convinced. I can't see just the changes. They
> need to explicitly tell me something was changed.
>
> 6. Delete All.
> They can go crazy, after 1 year, edit the GitHub issue , delete all the
> text and write "Kafka is the king". No history, nobody can stop them. It's
> their issue.
>
> 7. Show me all the approved PIPs
> Hard to track it today, hard to maintain it updated.
>
> 8. Resolved comments
> Even though you managed to read all 35 replies so far, in reply 36 you see
> the author agreed to all 8 out of 10 suggestions. You have no idea of
> knowing that in advance. You just wasted 1 hour.
>
>
> *What do I suggest?*
>
> PR is the main tool we have that allows multiple threaded discussion.
> Git provides history. You can't delete it without approval from PMC
> members.
>
> 1. We'll create a folder named "pip" in the pulsar main repo. It will
> contain one markdown file for each PIP. The file will be named
> "pip-xxx.md".I will write below how to obtain XXX before you start.
> 2. To create a PIP, you grab "pip/template.md" and use it to compose your
> file in the pip folder.
> 3. You submit this file as a PR named "PIP-xxx: short description".
> 4. You create "[DISCUSS] PIP-xxx: short description" in the DEV mailing
> list and refer people to your PR, with short text explaining the gist of
> it.
> 5. People discuss using PR comments, each is its own threaded comment.
> 6. Comment was done discussion? They resolve it. This way you see what the
> pending discussions are at a glance.
> 7. Reached consensus? Good. Send "[VOTE] PIP-xxx: short description" on DEV
> mailing list.
> 8. PIP approved? Awesome. Push commit with link to vote.
>     A PMC member will merge it.
>     Merge == approved.
>     PMC members can add a PIP label.
> 9. Rejected? All good. Close the PR.
>      Closed == Rejected.
>      It can't be deleted. All comments are still here.
>
> Before you start, you search Pull Requests with label PIP in GitHub (`is:pr
> "PIP-" in:title`)
> Take the biggest number and add 1.
> It is super rare to have two people create PR at the same time.
>
> *Show me all approved PIPs:*
> Search merged PRs labeled PIP.
> Look at "pip" folder
>
> *Show me rejected PIPs:*
> Search closed PRs with "PIP-" in title, or labeled PIP.
>
>
> This is very similar to how Apache BK works.
>
> WDYT?
>


-- 
Girish Sharma

Reply via email to