Hi Asaf,

Thanks for starting this thread!

I have similar thoughts on using a single source for reviewing PIPs. GH PRs
are good for conversation, although multiple conversations are still hard
to follow (which can be natural)

Here is how Rust does it[1] - a self-documented RFC repo + review PRs +
tracking issue on the main repo once accepted.

Here is what I designed for TiDB[2][3]; proposals are placed in a folder
under the main repo.

We don't have to follow other community's ways, but these two practices
seem good to read.

And, to follow the ASF voting strategy[4][5], we may still need a standard
vote mail thread and document the result on the mailing list.

Best,
tison.

[1] https://github.com/rust-lang/rfcs
[2] https://github.com/pingcap/tidb/tree/master/docs/design
[3]
https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/make-a-proposal.html
[4] https://www.apache.org/foundation/voting.html
[5] https://www.apache.org/dev/pmc.html#mailing-list-naming-policy


Girish Sharma <scrapmachi...@gmail.com> 于2023年3月31日周五 04:33写道:

> +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