The doc in its current form seems reasonable to me. I understand it
reiterates some of the ASF guidelines but I don't mind that given that it
is fairly concise. My only question is around "conflict of interest" while
reviewing PRs. I think it needs further explanation and some concrete
examples.

- Anton

нд, 4 серп. 2024 р. о 15:04 Micah Kornfield <emkornfi...@gmail.com> пише:

> Thank you for the feedback.  I've put some replies inline to specific
> points below.
>
>
>> "Request Changes" should only be used to literally block a PR from being
>> merged - either for timing issues (e.g. "can only be merged right after
>> a release is out, because it changes public docs") or because of really
>> fundamental issues with the change, with a clear and precise
>> justification.
>
>
> I'm not sure I'm understanding this correctly, but it sounds like a
> fundamentally different usage of how "request changes" is used in my
> experience (which is typically, reviewer is done reviewing and there are
> still outstanding issues to address). IIUC this actually is a different
> usage as what is currently described in the PR?  For the cases mentioned
> here, especially the latter it seems like this should be specifically
> mentioned on the PR (and it's not clear Request changes by itself is
> sufficient) .
>
> "Large changes" (5 lines? 5000 lines?) is also rather subjective -
>> proposal: "User facing functional and behavior changes".
>
>
> I changed the Iceberg improvement proposal language to be functional and
> behavior changes to the specification.  I also added in a bullet point
> which says changes affecting more than  20 files must be discussed on the
> mailing list (20 was chosen arbitrarily but seems to be higher than any
> file count observed in sampling ~30 PRs that are currently open in the
> repo).
>
> [1] A few paragraphs/statements that delegate to the comitter's
>> judgement call. (e.g., "Committer is trusted", "If committer feels"
>> ..). So the value of adding them is not very clear to me.
>
>
> [2] A few things that are implied (e.g., re-iterating ASF guidelines,
>> lack of agreement will definitely lead to not merging the PR --
>> whether to discuss the topic as a proposal or not should have a
>> separate process to state what qualifies as a proposal discussion).
>
> I would avoid [1] and [2] to avoid repetition or too much reading of
>> those rules, especially when they are subjective (e.g., [1]) or
>> implied (e.g., [2]).
>
>
> I've tried to remove as much language here as possible and provide links
> to Apache documents. The value  it provides is documenting norms so new
> contributors and committers understand the responsibility of the roles for
> doing day to day work. I imagine it will be much more common for people to
> read the contributing guide first and then possibly any ASF documentation.
> Leaving things as implied by ASF guidelines works for people already
> familiar with them, but not for newcomers (and the ASF documentation is
> considerably more verbose than the current text).  Also, some things are
> not defined in ASF guidelines (I tried to clarify that code changes in
> Iceberg follow Review then Commit, since they require a second reviewer).
>
> Last, despite ASF guidelines there have been some people expressing the
> opinion on the mailing list that some reviews were blocked on specific
> people having to review them, I think a reminder that this shouldn't be the
> case is useful (or if there are specific people that need to review some
> changes we can add guidelines as necessary).
>
> What remains (e.g., [3] or the way to proceed if
>> a committer feels something is worthy of a proposal-level discussion)
>> fits more in a process that organizes what qualifies as a proposal vs
>> code change etc (e.g., the rule should not be about "whether a
>> committer feels that something is worth a proposal", but rather there
>> should be a process that guides both the contributor and committer for
>> what qualifies as proposal vs a direct PR).
>
>
> If I am understanding correctly, this is saying more guidelines for what
> should go through the improvement proposals should be established.
> This sounds reasonable to me, but it also seems like it can be handled
> independently in a follow-up discussion/pull request?
>
> Thanks,
> Micah
>
>
>
>
>
> On Sat, Aug 3, 2024 at 1:14 AM Robert Stupp <sn...@snazy.de> wrote:
>
>> I agree with Walaa's comments and appreciate Micah's intent to clarify
>> things!
>>
>> Sticking to a few important rules, using a crisp phrasing, and leaving
>> out the subjective, optional and "ASF implied" things, would be better.
>>
>> "Large changes" (5 lines? 5000 lines?) is also rather subjective -
>> proposal: "User facing functional and behavior changes".
>>
>> I'm +1 on clarifying what "Request Changes" on a PR means. Some cultures
>> can interpret this as a "push back", so I'd like to propose that
>> "Request Changes" should only be used to literally block a PR from being
>> merged - either for timing issues (e.g. "can only be merged right after
>> a release is out, because it changes public docs") or because of really
>> fundamental issues with the change, with a clear and precise
>> justification.
>>
>> Robert
>>
>> On 02.08.24 21:06, Walaa Eldin Moustafa wrote:
>> > My concern with this change (in its current form) is that it combines
>> > (mixes?) three things:
>> >
>> > [1] A few paragraphs/statements that delegate to the comitter's
>> > judgement call. (e.g., "Committer is trusted", "If committer feels"
>> > ..). So the value of adding them is not very clear to me.
>> > [2] A few things that are implied (e.g., re-iterating ASF guidelines,
>> > lack of agreement will definitely lead to not merging the PR --
>> > whether to discuss the topic as a proposal or not should have a
>> > separate process to state what qualifies as a proposal discussion).
>> > [3] A few crisp rules, e.g, how to treat changes under spec and files
>> > under the `format` directory.
>> >
>> > I would avoid [1] and [2] to avoid repetition or too much reading of
>> > those rules, especially when they are subjective (e.g., [1]) or
>> > implied (e.g., [2]). What remains (e.g., [3] or the way to proceed if
>> > a committer feels something is worthy of a proposal-level discussion)
>> > fits more in a process that organizes what qualifies as a proposal vs
>> > code change etc (e.g., the rule should not be about "whether a
>> > committer feels that something is worth a proposal", but rather there
>> > should be a process that guides both the contributor and committer for
>> > what qualifies as proposal vs a direct PR).
>> >
>> > Thanks,
>> > Walaa.
>> >
>> >
>> > On Fri, Aug 2, 2024 at 11:43 AM Micah Kornfield <emkornfi...@gmail.com>
>> wrote:
>> >> I just wanted to follow up on this.
>> >>
>> >> Ryan and Szehon unless you strongly object to the current formulation
>> of the PR, I'd like to move forward with a vote to merge.  There are
>> already a fair number of people in the community that have reviewed and
>> seemed to think the proposal is not unreasonable.  For votes it seems like
>> most of the recent threads on the matter have decided to err on the side of
>> votes for changes to specs, as it reduces the judgement call of reviewers.
>> Thoughts?
>> >>
>> >> Thanks,
>> >> Micah
>> >>
>> >> On Tue, Jul 30, 2024 at 11:08 AM Micah Kornfield <
>> emkornfi...@gmail.com> wrote:
>> >>>> The problem I'm worried about is the tendency to misuse docs like
>> this and become focused on it as a rule. People tend to apply written rules
>> mechanically and I worry about people substituting a reading of this text
>> for judgement. For example, a strict reading of "encouraged to ask another
>> committer" means that it is optional.
>> >>>
>> >>> I agree with this concern which is why I tried to make everything
>> optional.  I hope if there ever needs to be a revision here it is framed as
>> constructive and not a blame game on someone breaking the rules.  In
>> general, I think placing the reminder on trust and putting the project
>> first are good reminders in either case. IMO the text is short enough that
>> they should be included directly in the contributors guideline.
>> >>>
>> >>>
>> >>>> To me, (2) is a bit new here and in the grey area for
>> interpretation.  I was thinking about this while reviewing
>> https://github.com/apache/iceberg/pull/10793, which could be a category
>> (2) and non-functional change but would need a full code-modification vote
>> as per [Iceberg improvement
>> proposal](#apache-iceberg-improvement-proposals).  I can see both sides, to
>> avoid a potential dispute/misunderstanding over the clarification, it would
>> be nice to have a vote on the devlist.  But it may also be yet another
>> burden, when something can be more easily decided on the github discussion
>> itself via approval by the relevant parties.
>> >>>
>> >>> The PR documents how I understood the requirement communicated to me
>> about spec modifications.  I don't recall seeing exactly where this
>> requirement was agreed. so maybe we can revise it. IMO spec changes are
>> important enough that it is worth explicit email to the mailing list
>> notifying people of the proposed change. A vote might be too heavyweight
>> though.  Would updating the guideline to require a separate email to the
>> mailing list for changes and requiring the change be open for at least 72
>> hours strike the right balance?
>> >>>
>> >>> Thanks,
>> >>> Micah
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> On Mon, Jul 29, 2024 at 3:08 PM Szehon Ho <szehon.apa...@gmail.com>
>> wrote:
>> >>>> Typo , wrong link:
>> >>>> (2) requiring full code-modification vote as per [Iceberg
>> improvement proposal](#apache-iceberg-improvement-proposals) => full
>> code-modification vote as per [code modification](
>> https://www.apache.org/foundation/voting.html#votes-on-code-modification)
>> >>>>
>> >>>> On Mon, Jul 29, 2024 at 1:53 PM Szehon Ho <szehon.apa...@gmail.com>
>> wrote:
>> >>>>> Hi,
>> >>>>>
>> >>>>> Also if I read it correctly, I think this proposal imposes the
>> following workflows in "spec" folders :
>> >>>>>
>> >>>>> Large and functional changes.  These redirect to Iceberg
>> improvement proposals, which ends in code-modification vote
>> >>>>> bug-fixes or clarification, which is specified to require
>> code-modification vote
>> >>>>> grammar, spelling, minor formatting fix, not covered here (I guess
>> it is like any normal code review?)
>> >>>>>
>> >>>>> To me, (2) is a bit new here and in the grey area for
>> interpretation.  I was thinking about this while reviewing
>> https://github.com/apache/iceberg/pull/10793, which could be a category
>> (2) and non-functional change but would need a full code-modification vote
>> as per [Iceberg improvement
>> proposal](#apache-iceberg-improvement-proposals).  I can see both sides, to
>> avoid a potential dispute/misunderstanding over the clarification, it would
>> be nice to have a vote on the devlist.  But it may also be yet another
>> burden, when something can be more easily decided on the github discussion
>> itself via approval by the relevant parties.  So I think I would agree with
>> Ryan in mentioning that significant (would maybe add "functional") spec
>> change needs a vote on the dev list.
>> >>>>>
>> >>>>> Thanks
>> >>>>> Szehon
>> >>>>>
>> >>>>> On Mon, Jul 29, 2024 at 1:16 PM Ryan Blue
>> <b...@databricks.com.invalid> wrote:
>> >>>>>> I think the proposed doc looks good, but I'm not sure that it is
>> better to add this to our guidelines.
>> >>>>>>
>> >>>>>> On one hand the doc describes how ASF communities work in general:
>> committers review and commit PRs and are expected to use good judgement,
>> ask one another for help when necessary, and broaden the set of people in
>> the discussion when there's a disagreement. I really appreciate that Micah
>> called out that this is intentionally vague to emphasize committer
>> judgement.
>> >>>>>>
>> >>>>>> The problem I'm worried about is the tendency to misuse docs like
>> this and become focused on it as a rule. People tend to apply written rules
>> mechanically and I worry about people substituting a reading of this text
>> for judgement. For example, a strict reading of "encouraged to ask another
>> committer" means that it is optional.
>> >>>>>>
>> >>>>>> Given that the majority of the content here is stating how ASF
>> communities work and the only Iceberg-specific parts are the proposal
>> process and calling out that we vote on spec changes, I would probably just
>> have a description of how to handle proposals (which is already there) and
>> a note that significant spec changes should use a vote on the dev list.
>> >>>>>>
>> >>>>>> On Sun, Jul 28, 2024 at 11:15 PM Jean-Baptiste Onofré <
>> j...@nanthrax.net> wrote:
>> >>>>>>> Hi Micah
>> >>>>>>>
>> >>>>>>> Thanks ! It looks good to me now you have included comments from
>> everyone.
>> >>>>>>>
>> >>>>>>> Regards
>> >>>>>>> JB
>> >>>>>>>
>> >>>>>>> On Fri, Jul 26, 2024 at 1:15 AM Micah Kornfield <
>> emkornfi...@gmail.com> wrote:
>> >>>>>>>> As part of the bylaws discussions that have been happening, we
>> are trying to make small focused proposals to move things forward.  As a
>> first step towards this I created a proposal for guidelines on committing
>> pull requests [1].  Feedback is appreciated.
>> >>>>>>>>
>> >>>>>>>> Given the level of interest in the discussions so far, it seems
>> that the best path forward is to hold an official vote before merging.  I
>> intend to do this once we appear to have consensus but if the people prefer
>> we can try to avoid the overhead.
>> >>>>>>>>
>> >>>>>>>> Thanks,
>> >>>>>>>> Micah
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> [1] https://github.com/apache/iceberg/pull/10780
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Ryan Blue
>> >>>>>> Databricks
>>
>> --
>> Robert Stupp
>> @snazy
>>
>>

Reply via email to