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