> * 187 contain "yes / no / don't know" and thus have not answered at least
one of the questions

I think there are quite some PRs that highlight in bold the answer to this
question while keeping all options there. I'm all in favour of replacing
this with a checkbox.



On Thu, 25 Nov 2021 at 10:47, Ingo Bürk <i...@ververica.com> wrote:

> Hi Till,
>
> > * I agree with Ingo that the "Verifying this change" section can be
> > cumbersome to fill in. On the other hand it reminds contributors to
> verify
> > that his/her changes are covered by tests. Therefore, I would keep it.
>
> IMO it could be replaced with a checkbox "I have made sure all changes are
> covered by tests", though. I still see no benefit in painstakingly picking
> out all individual test cases that have been touched or affected.
>
> > In order to verify this I went through
> > the first two pages of open PRs and I was very positively surprised that
> > almost all PRs filled out the current template.
>
> Just to try and complete the picture here, counting open PRs by including
> search terms like "yes / no / don't know" the rough statistics are
>
> * 731 open PRs
> * 187 contain "yes / no / don't know" and thus have not answered at least
> one of the questions
> * 134 PRs seem to have deleted the PR template altogether as the question
> text does not appear in it
>
> Given that the latter two have to be largely mutually exclusive, that would
> mean that 40+% of all PRs do not fill out the PR template.
>
> > because what is not used can be removed.
>
> Just because someone answers a question doesn't make it a useful question,
> though. Some questions undoubtedly have a purpose for PR authors, like
> having to decide whether the public API is affected. But what purpose do
> "Anything that affects deployment or recovery" or "The S3 file system
> connector" serve? I don't think this is useful to authors in any way, so
> the other question is whether any committer actually looks at these answers
> and does something with it. Even if we don't remove everything (which I
> wouldn't want to, either), we can still remove those things that aren't
> needed (if that is the case).
>
> (Also, in any case I would really love if all questions could be converted
> to checkboxes instead)
>
>
> Ingo
>
> On Thu, Nov 25, 2021 at 10:31 AM Till Rohrmann <trohrm...@apache.org>
> wrote:
>
> > When I started writing this response I thought that the current PR
> template
> > is mostly ignored by the community. In order to verify this I went
> through
> > the first two pages of open PRs and I was very positively surprised that
> > almost all PRs filled out the current template. Hence, I had to redact my
> > original response to get rid of the template because what is not used can
> > be removed.
> >
> > What I like about the current template is that it gives structure and
> > reminds contributors about certain things. At some places, the current
> > template is a bit verbose imo and could be shortened. Especially, with
> > Joe's proposal to add some more text to the template we might want to use
> > the chance to consolidate things. Here are some ideas:
> >
> > * Having a description of what the PR changes is very important. Whether
> > every PR needs additionally the "Brief changelog" is not clear to me.
> Maybe
> > we can fuse those two sections.
> > * I agree with Ingo that the "Verifying this change" section can be
> > cumbersome to fill in. On the other hand it reminds contributors to
> verify
> > that his/her changes are covered by tests. Therefore, I would keep it.
> > * The section "Does this pull request potentially affect one of the
> > following parts" could be shortened. Some of the points are obvious when
> > looking at the code, others are really hard to know for a contributor and
> > others are niche. Maybe keeping whether we changed dependencies and
> changed
> > the public API (even though this should be automatically verifiable)
> could
> > be a start.
> > * The section "Documentation" could be replaced by Joe's checklist.
> >
> > Cheers,
> > Till
> >
> > On Mon, Nov 22, 2021 at 11:13 AM Matthias Pohl <matth...@ververica.com>
> > wrote:
> >
> > > I also like the checklist provided by our current PR template. One
> > annoying
> > > thing in my opinion, though, is that we do not rely on checkboxes. Ingo
> > > already proposed such a change in [1]. Chesnay had some good points on
> > > certain items that were meant to be added to the template but are
> > actually
> > > already checked automatically [2]. In the end it comes down to noticing
> > > these checks and acting on it if one of them fails. I see the benefits
> of
> > > having an explicit check for something like that in the PR. But again,
> > > adding more items increases the risk of users just ignoring it.
> > >
> > > One other thing to raise awareness for users might be to move the
> > > CONTRIBUTING.md into the root folder. Github still recognizes the file
> if
> > > it is located in the project's root [3]. Hence, I don't see a need to
> > > "hide" it in the .github subfolder. Or was there another reason to put
> > the
> > > file into that folder?
> > >
> > > Matthias
> > >
> > > [1] https://github.com/apache/flink/pull/17801#issuecomment-969363303
> > > [2] https://github.com/apache/flink/pull/17801#issuecomment-970048058
> > > [3]
> > >
> > >
> >
> https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors#about-contributing-guidelines
> > >
> > > On Thu, Nov 18, 2021 at 12:03 PM Yun Tang <tang...@apache.org> wrote:
> > >
> > > > Hi Joe,
> > > >
> > > > Thanks for bringing this to our attention.
> > > >
> > > > In general, I agreed with Chesnay's reply on PR [1]. For the rule-3,
> we
> > > > might indeed create another PR to add documentation previously. And I
> > > think
> > > > if forcing to obey it to include the documentation in the same PR,
> that
> > > > could benefit the review progress. Thus, I am not against for this
> > rule.
> > > >
> > > > For the rule related to the PR description, I think current flinkbot
> > has
> > > > tools to let committer to run command like "@flinkbot approve
> > > description".
> > > > However, I think many committers did not leverage this, which makes
> the
> > > bot
> > > > useless at most of the time. I think this discussion draws the
> > attention
> > > > that whether we should strictly obey the review process via using
> > > flinkbot
> > > > or still not force committer to leverage it.
> > > >
> > > > [1]
> https://github.com/apache/flink/pull/17801#issuecomment-970048058
> > > >
> > > > Best
> > > > Yun Tang
> > > >
> > > > On 2021/11/16 10:38:39 Ingo Bürk wrote:
> > > > > > On the other hand I am a silent fan of the current PR template
> > > because
> > > > > > it also provides a summary of the PR to make it easier for
> > committers
> > > > > > to determine the impacts.
> > > > >
> > > > > I 100% agree that part of a PR (and thus the template) should be
> the
> > > > > summary of the what, why, and how of the changes. I also see value
> in
> > > > > marking a PR as a breaking change if the author is aware of it
> being
> > > one
> > > > > (of course a committer needs to verify this nonetheless).
> > > > >
> > > > > But apart from that, there's a lot of questions in there that no
> one
> > > > seems
> > > > > to care about, and e.g. the question of how a change can be
> verified
> > > > seems
> > > > > fairly useless to me: if tests have been changed, that can
> trivially
> > be
> > > > > seen in the PR. The CI runs on top of that anyway as well. So I
> never
> > > > > really understood why I need to manually list all the tests I have
> > > > touched
> > > > > here (or maybe I misunderstood this question the entire time?).
> > > > >
> > > > > If the template is supposed to be useful for the committer rather
> > than
> > > > the
> > > > > author, it would have to be mandatory to fill it out, which
> de-facto
> > it
> > > > > isn't.
> > > > >
> > > > > Also, even if we keep all the same information, I would still love
> to
> > > see
> > > > > it converted into checkboxes. I know it's a small detail, but it's
> > much
> > > > > less annoying than the current template. Something like
> > > > >
> > > > > ```
> > > > > - [ ] This pull requests changes the public API (i.e., any class
> > > > annotated
> > > > > with `@Public(Evolving)`)
> > > > > - [ ] This pull request adds, removes, or updates dependencies
> > > > > - [ ] I have updated the documentation to reflect the changes made
> in
> > > > this
> > > > > pull request
> > > > > ```
> > > > >
> > > > > On Tue, Nov 16, 2021 at 10:28 AM Fabian Paul <fp...@apache.org>
> > wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > Maybe I am the devil's advocate but I see the stability of master
> > and
> > > > > > the definition of done as disjunct properties. I think it is
> more a
> > > > > > question of prioritization that test instabilities are treated as
> > > > > > critical tickets and have to be addressed before continuing any
> > other
> > > > > > work. It will always happen that we merge code that is not 100%
> > > > > > stable; that is probably the nature of software development. I
> > agree
> > > > > > when it comes to documentation that PRs are only mergeable if the
> > > > > > documentation has also been updated.
> > > > > >
> > > > > > On the other hand I am a silent fan of the current PR template
> > > because
> > > > > > it also provides a summary of the PR to make it easier for
> > committers
> > > > > > to determine the impacts. It also reminds the contributors of our
> > > > > > principles i.e. how do you verify the change should probably not
> be
> > > > > > answered with "test were not possible".
> > > > > >
> > > > > > I agree with @Martijn Visser that we can improve the CI i.e.
> > > > > > performance regression test, execute s3 test but these things
> > should
> > > > > > be addressed in another discussion.
> > > > > >
> > > > > > So I would prefer to keep the current PR template.
> > > > > >
> > > > > > Best,
> > > > > > Fabian
> > > > > >
> > > > > > On Tue, Nov 16, 2021 at 10:17 AM Martijn Visser <
> > > mart...@ververica.com
> > > > >
> > > > > > wrote:
> > > > > > >
> > > > > > > Hi all,
> > > > > > >
> > > > > > > Thanks for bringing this up for this discussion, because I
> think
> > > > it's an
> > > > > > > important aspect.
> > > > > > >
> > > > > > > From my perspective, a 'definition of done' serves two
> purposes:
> > > > > > > 1. It informs the contributor on what's expected when making a
> > > > > > contribution
> > > > > > > in the form of a PR
> > > > > > > 2. It instructs the committer on what to check before
> > > > accepting/merging
> > > > > > a PR
> > > > > > >
> > > > > > > I would use a Github template primarily to deal with the first
> > > > purpose. I
> > > > > > > think that should be short and easily understandable,
> preferably
> > > > with as
> > > > > > > many automated checks as possible.
> > > > > > >
> > > > > > > I would propose something like this to condense information.
> > > > > > >
> > > > > > > 1. It is following the code contribution process, including
> code
> > > > style
> > > > > > and
> > > > > > > quality guide
> > > > https://flink.apache.org/contributing/contribute-code.html
> > > > > > > 2. It is covered by tests and all tests have passed
> > > > > > > 3. If it has user facing changes the documentation has been
> > updated
> > > > > > > according to the documentation style guide
> > > > > > >
> > > > > > > These 3 DoD can probably be broken down into multiple
> automation
> > > > tests:
> > > > > > >
> > > > > > > * Run a spotless check
> > > > > > > * Run a license check
> > > > > > > * Compile application
> > > > > > > * Run tests
> > > > > > > * Run E2E tests
> > > > > > > * Build documentation
> > > > > > > * Check if JIRA has been mentioned and exists in the PR title
> and
> > > > commit
> > > > > > > message
> > > > > > > etc.
> > > > > > >
> > > > > > > Best regards,
> > > > > > >
> > > > > > > Martijn
> > > > > > >
> > > > > > > On Tue, 16 Nov 2021 at 09:08, Francesco Guardiani <
> > > > > > france...@ververica.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > +1 with Ingo proposal, the goal of the template should be to
> > help
> > > > > > developer
> > > > > > > > to do a self check of his/her PR quality, not to define
> whether
> > > > > > something
> > > > > > > > is done or not. It's up to the committer to check that the
> > > > "definition
> > > > > > of
> > > > > > > > done" is fulfilled.
> > > > > > > >
> > > > > > > > > The Definition of Done as suggested:
> > > > > > > >
> > > > > > > > This checklist makes sense to me, although it seems to me we
> > > > already
> > > > > > have
> > > > > > > > these bullet points defined here:
> > > > > > > > https://flink.apache.org/contributing/contribute-code.html
> > > > > > > >
> > > > > > > > On Tue, Nov 16, 2021 at 8:16 AM Ingo Bürk <
> i...@ververica.com>
> > > > wrote:
> > > > > > > >
> > > > > > > > > Hi Joe,
> > > > > > > > >
> > > > > > > > > thank you for starting this discussion. Having a common
> > > > agreement on
> > > > > > what
> > > > > > > > > to expect from a PR for it to be merged is very much a
> > > worthwhile
> > > > > > goal.
> > > > > > > > >
> > > > > > > > > I'm slightly worried about the addition to the PR template.
> > We
> > > > > > shouldn't
> > > > > > > > > make opening PRs even more difficult (unless it adds
> > sufficient
> > > > > > benefit).
> > > > > > > > >
> > > > > > > > > There are two main benefits to have from using templates:
> > > > requiring
> > > > > > > > > information from authors to automate certain feedback, and
> > > > serving
> > > > > > as a
> > > > > > > > > self-control checklist for contributors.
> > > > > > > > >
> > > > > > > > > As it stands, a large number of PRs don't fill out the
> > > template,
> > > > and
> > > > > > I
> > > > > > > > > haven't yet seen anyone not merge a PR over that, so
> de-facto
> > > we
> > > > are
> > > > > > not
> > > > > > > > > using it for the former.
> > > > > > > > >
> > > > > > > > > For the latter purpose of contributors having a checklist
> for
> > > > > > > > themselves, I
> > > > > > > > > think the current template is too long already and contains
> > the
> > > > wrong
> > > > > > > > > content. Being short here is key if we want anyone to read
> > it,
> > > > and
> > > > > > > > > personally I would cut it down significantly to a
> description
> > > > and a
> > > > > > > > couple
> > > > > > > > > of checkboxes.
> > > > > > > > >
> > > > > > > > > This isn't exactly the scope of your proposal, but
> > personally I
> > > > > > wouldn't
> > > > > > > > > like to add even more questions that need to be filled out,
> > > > > > especially
> > > > > > > > > since they don't actually need to be filled out. It just
> > > creates
> > > > an
> > > > > > > > > annoying burden for contributors and is ignored by those
> who
> > > > might
> > > > > > > > benefit
> > > > > > > > > most from reading it anyway.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Ingo
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Mon, Nov 15, 2021, 22:36 Johannes Moser <
> > j...@ververica.com>
> > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Dear Flink Community,
> > > > > > > > > >
> > > > > > > > > > We as the release managers of the 1.15 release are
> > suggesting
> > > > to
> > > > > > > > > introduce
> > > > > > > > > > a “Definition of Done".
> > > > > > > > > >
> > > > > > > > > > Let me elaborate a bit on the reasons:
> > > > > > > > > > * During the release process for 1.14 the stability of
> > master
> > > > was
> > > > > > > > > > sometimes in a state that made contributing to Apache
> > Flink a
> > > > bad
> > > > > > > > > > experience.
> > > > > > > > > > * Some of the changes that have been contributed seem to
> be
> > > > > > unusable by
> > > > > > > > > > users because of defects.
> > > > > > > > > > * Documentation is neglected which also leads to users
> > unable
> > > > to
> > > > > > make
> > > > > > > > use
> > > > > > > > > > of changes. One of the reasons is, because documentation
> is
> > > > often
> > > > > > > > pushed
> > > > > > > > > to
> > > > > > > > > > a later state.
> > > > > > > > > >
> > > > > > > > > > With this definition of done awareness and sensibility
> for
> > > > these
> > > > > > aspect
> > > > > > > > > > should be increased. Both, for the ones who are
> committing
> > > and
> > > > for
> > > > > > the
> > > > > > > > > ones
> > > > > > > > > > that are reviewing.
> > > > > > > > > > We focus on code quality, testing and documentation. A
> > shared
> > > > > > > > > > understanding is created.
> > > > > > > > > >
> > > > > > > > > > The Definition of Done as suggested:
> > > > > > > > > >
> > > > > > > > > > -
> > > > > > > > > > A PR is done and can be merged, when:
> > > > > > > > > >
> > > > > > > > > > 1. It is following the code contribution process
> > > > > > > > > > 2. It is implemented according to the code style and
> > quality
> > > > guide.
> > > > > > > > > > 3. If it has user facing changes the documentation has
> been
> > > > updated
> > > > > > > > > > according to the documentation style guide.
> > > > > > > > > > 4. It is covered by tests.
> > > > > > > > > > 5. All tests passed.
> > > > > > > > > > -
> > > > > > > > > >
> > > > > > > > > > There are two PRs to illustrate the changes.
> > > > > > > > > > https://github.com/apache/flink-web/pull/481 <
> > > > > > > > > > https://github.com/apache/flink-web/pull/481>
> > > > > > > > > > https://github.com/apache/flink/pull/17801 <
> > > > > > > > > > https://github.com/apache/flink/pull/17801>
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > It isn’t the goal to make it harder to get changes into
> > > Apache
> > > > > > Flink.
> > > > > > > > It
> > > > > > > > > > is rather the opposite of making contributing and using
> > > Apache
> > > > > > Flink a
> > > > > > > > > > better experience.
> > > > > > > > > > By creating awareness a push towards quality and
> usability
> > > > should
> > > > > > > > happen.
> > > > > > > > > >
> > > > > > > > > > I’m happy to hear your feedback.
> > > > > > > > > >
> > > > > > > > > > Best,
> > > > > > > > > > Joe
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > > >
> > >
> >
>

Reply via email to