Thanks again for leading this effort, Fabian

- Henry

On Thursday, October 8, 2015, Fabian Hueske <fhue...@gmail.com> wrote:

> Hi everybody,
>
> I merged our new contribution guidelines a few minutes ago.
>
> I'd like to emphasize that these rules do not have any effect, if nobody
> follows them.
> So please follow our contribution rules and make others aware of them as
> well.
>
> Specifically
> - pay attention that all PRs are backed by a JIRA and ask to create a JIRA
> if that is not the case
> - early discuss whether a feature request is valid (before code is
> contributed) to avoid frustrating late rejections of PRs.
> - request, provide, and discuss design docs for sensible contributions to
> avoid major redesigns / rejections of PRs.
>
> Thank you,
> Fabian
>
> 2015-10-07 10:16 GMT+02:00 Fabian Hueske <fhue...@gmail.com <javascript:;>
> >:
>
> > Thanks for the feedback everybody.
> > I updated the PR and would like to merge it later today if there are no
> > more comments.
> >
> > Cheers, Fabian
> >
> >
> > 2015-10-05 14:09 GMT+02:00 Fabian Hueske <fhue...@gmail.com
> <javascript:;>>:
> >
> >> Hi,
> >>
> >> I opened a PR with the discussed changes [1].
> >> Please review, give feedback, and suggest changes.
> >>
> >> Cheers, Fabian
> >>
> >> [1] https://github.com/apache/flink-web/pull/11
> >>
> >>
> >> 2015-09-28 18:02 GMT+02:00 Fabian Hueske <fhue...@gmail.com
> <javascript:;>>:
> >>
> >>> @Chiwan, sure. Will do that. Thanks for pointing it out :-)
> >>>
> >>> 2015-09-28 18:00 GMT+02:00 Chiwan Park <chiwanp...@apache.org
> <javascript:;>>:
> >>>
> >>>> @Fabian, Could you cover FLINK-2712 in your pull request? I think that
> >>>> it would be better than split pull request.
> >>>>
> >>>> Regards,
> >>>> Chiwan Park
> >>>>
> >>>> > On Sep 28, 2015, at 4:51 PM, Fabian Hueske <fhue...@gmail.com
> <javascript:;>> wrote:
> >>>> >
> >>>> > Thanks everybody for the discussion.
> >>>> > I'll prepare a pull request to update the "How to contribute" and
> >>>> "Coding
> >>>> > Guidelines".
> >>>> >
> >>>> > Thanks,
> >>>> > Fabian
> >>>> >
> >>>> > 2015-09-26 9:06 GMT+02:00 Maximilian Michels <m...@apache.org
> <javascript:;>>:
> >>>> >
> >>>> >> Hi Fabian,
> >>>> >>
> >>>> >> This is a very important topic. Thanks for starting the discussion.
> >>>> >>
> >>>> >> 1) JIRA discussion
> >>>> >>
> >>>> >> Absolutely. No new feature should be introduced without a
> discussion.
> >>>> >> Frankly, I see the problem that sometimes discussions only come up
> >>>> >> when the pull request has been opened. However, this can be
> overcome
> >>>> >> by the design document.
> >>>> >>
> >>>> >> 2) Design document
> >>>> >>
> >>>> >> +1 for the document. It increases transparency but also helps the
> >>>> >> contributor to think his idea through before starting to code. The
> >>>> >> document could also be written directly in JIRA. That way, it is
> more
> >>>> >> accessible. JIRA offers mark up; even images can be attached and
> >>>> >> displayed in the JIRA description.
> >>>> >>
> >>>> >> I'd like to propose another section "Limitations" for the design
> >>>> >> document. Breaking API changes should also be listed on a special
> >>>> Wiki
> >>>> >> page.
> >>>> >>
> >>>> >> 3) Coding style
> >>>> >>
> >>>> >> In addition to updating the document, do we want to enforce coding
> >>>> >> styles also by adding new Maven Checkstyle rules? IMHO strict rules
> >>>> >> could cause more annoyances than they actually contribute to the
> >>>> >> readability of the code. Perhaps this should be discussed in a
> >>>> >> separate thread.
> >>>> >>
> >>>> >> +1 for collecting common problems and design patterns to include
> them
> >>>> >> in the document. I was thinking, that we should also cover some of
> >>>> the
> >>>> >> features of tools and dependencies we heavily use, e.g. Travis,
> >>>> >> Mockito, Guava, Log4j, FlinkMiniCluster, Unit testing vs IT cases,
> >>>> >> etc.
> >>>> >>
> >>>> >> 4 ) Restructuring the how to contribute guide
> >>>> >>
> >>>> >> Good idea to have a meta document that explains how contributing
> >>>> works
> >>>> >> in general, and another document for technical things.
> >>>> >>
> >>>> >>
> >>>> >> Cheers,
> >>>> >> Max
> >>>> >>
> >>>> >>
> >>>> >> On Thu, Sep 24, 2015 at 2:53 PM, Fabian Hueske <fhue...@gmail.com
> <javascript:;>>
> >>>> wrote:
> >>>> >>>
> >>>> >>> Thanks everybody for feedback and comments.
> >>>> >>>
> >>>> >>> Regarding 1) and 2):
> >>>> >>>
> >>>> >>> I like the idea of keeping the discussion of new features and
> >>>> >> improvements
> >>>> >>> in JIRA as Kostas proposed.
> >>>> >>> Our coding guidelines [1] already request a JIRA issue for each
> pull
> >>>> >>> request.
> >>>> >>>
> >>>> >>> How about we highlight this requirement more prominently and
> follow
> >>>> this
> >>>> >>> rule more strict from now on.
> >>>> >>> JIRA issues for new features and improvements should clearly
> >>>> specify the
> >>>> >>> scope and requirements for the new feature / improvement.
> >>>> >>> The level of detail is up to the reporter of the issue, but the
> >>>> community
> >>>> >>> can request more detail or change the scope and requirements by
> >>>> >> discussion.
> >>>> >>> When a JIRA issue for a new feature or improvement is opened, the
> >>>> >> community
> >>>> >>> can start a discussion whether the feature is desirable for Flink
> >>>> or not.
> >>>> >>> Any contributor (including the reporter) can also attach a
> >>>> >>> "design-doc-requested" label to the issue. A design document can
> be
> >>>> >>> proposed by anybody, including the reporter or assignee of the
> JIRA
> >>>> >> issue.
> >>>> >>> However, the issue cannot be resolved and a corresponding PR not
> be
> >>>> >> merged
> >>>> >>> before a design document has been accepted by lazy consensus.
> >>>> Hence, an
> >>>> >>> assignee should propose a design doc before starting to code to
> >>>> avoid
> >>>> >> major
> >>>> >>> redesigns of the implementation.
> >>>> >>>
> >>>> >>> This way it is up to the community when to start a discussion
> about
> >>>> >> whether
> >>>> >>> a feature request is accepted or to request a design document. We
> >>>> can
> >>>> >> make
> >>>> >>> design documents mandatory for changes that touch the public API.
> >>>> >>>
> >>>> >>> Regarding 3):
> >>>> >>>
> >>>> >>> I agree with Vasia, that we should collect suggestions for common
> >>>> >> patterns
> >>>> >>> and also continuously update the coding guidelines.
> >>>> >>> @Henry, I had best practices (exception handling, tests, etc.) in
> >>>> mind.
> >>>> >>> Syntactic code style is important as well, but we should have a
> >>>> separate
> >>>> >>> discussion about that, IMO.
> >>>> >>>
> >>>> >>> Proposal for a design document template:
> >>>> >>>
> >>>> >>> - Overview of general approach
> >>>> >>> - API changes (changed interfaces, new / deprecated configuration
> >>>> >>> parameters, changed behavior)
> >>>> >>> - Main components and classes to touch
> >>>> >>>
> >>>> >>> Cheers,
> >>>> >>> Fabian
> >>>> >>>
> >>>> >>> [1] http://flink.apache.org/coding-guidelines.html
> >>>> >>> <http://flink.apache.org/coding-guidelines.html>
> >>>> >>>
> >>>> >>> 2015-09-24 10:52 GMT+02:00 Chiwan Park <chiwanp...@apache.org
> <javascript:;>>:
> >>>> >>>
> >>>> >>>> Thanks Fabian for starting the discussion.
> >>>> >>>>
> >>>> >>>> +1 for overall approach.
> >>>> >>>>
> >>>> >>>> About (1), expressing that consensus must be required for new
> >>>> feature
> >>>> >> in
> >>>> >>>> “How to contribute” page is very nice. Some pull requests were
> sent
> >>>> >> without
> >>>> >>>> consensus. The contributors had to rewrote their pull requests.
> >>>> >>>>
> >>>> >>>> Agree with (2), (3) and (4).
> >>>> >>>>
> >>>> >>>> Regards,
> >>>> >>>> Chiwan Park
> >>>> >>>>
> >>>> >>>>> On Sep 24, 2015, at 2:23 AM, Henry Saputra <
> >>>> henry.sapu...@gmail.com <javascript:;>>
> >>>> >>>> wrote:
> >>>> >>>>>
> >>>> >>>>> Thanks again, Fabian for starting the discussions.
> >>>> >>>>>
> >>>> >>>>> For (1) and (2) I think it is good idea and will help people to
> >>>> >>>>> understand and follow the author thought process.
> >>>> >>>>> Following up with Stephan's reply, some new features solutions
> >>>> could
> >>>> >>>>> be explained thoroughly in the PR descriptions but some requires
> >>>> >>>>> additional reviews of the proposed design.
> >>>> >>>>> I like the idea of using tag in JIRA whether new features should
> >>>> or
> >>>> >>>>> should not being accompanied by design document.
> >>>> >>>>>
> >>>> >>>>> Agree with (3) and (4).
> >>>> >>>>> As for (3) are you thinking about more of style of code syntax
> via
> >>>> >>>>> checkstyle updates, or best practices in term of no mutable
> state
> >>>> if
> >>>> >>>>> possible, throw precise Exception if possible for interfaces,
> >>>> etc. ?
> >>>> >>>>>
> >>>> >>>>> - Henry
> >>>> >>>>>
> >>>> >>>>>
> >>>> >>>>>
> >>>> >>>>>
> >>>> >>>>> On Wed, Sep 23, 2015 at 9:31 AM, Stephan Ewen <se...@apache.org
> <javascript:;>>
> >>>> >> wrote:
> >>>> >>>>>> Thanks, Fabian for driving this!
> >>>> >>>>>>
> >>>> >>>>>> I agree with your points.
> >>>> >>>>>>
> >>>> >>>>>> Concerning Vasia's comment to not raise the bar too high:
> >>>> >>>>>> That is true, the requirements should be reasonable. We can
> >>>> >> definitely
> >>>> >>>> tag
> >>>> >>>>>> issues as "simple" which means they do not require a design
> >>>> >> document.
> >>>> >>>> That
> >>>> >>>>>> should be more for new features and needs not be very detailed.
> >>>> >>>>>>
> >>>> >>>>>> We could also make the inverse, meaning we explicitly tag
> certain
> >>>> >>>> issues as
> >>>> >>>>>> "requires design document".
> >>>> >>>>>>
> >>>> >>>>>> Greetings,
> >>>> >>>>>> Stephan
> >>>> >>>>>>
> >>>> >>>>>>
> >>>> >>>>>>
> >>>> >>>>>>
> >>>> >>>>>> On Wed, Sep 23, 2015 at 5:05 PM, Vasiliki Kalavri <
> >>>> >>>> vasilikikala...@gmail.com <javascript:;>
> >>>> >>>>>>> wrote:
> >>>> >>>>>>
> >>>> >>>>>>> Hi,
> >>>> >>>>>>>
> >>>> >>>>>>> I agree with you Fabian. Clarifying these issues in the "How
> to
> >>>> >>>> Contribute"
> >>>> >>>>>>> guide will save lots of time both to reviewers and
> contributors.
> >>>> >> It is
> >>>> >>>> a
> >>>> >>>>>>> really disappointing situation when someone spends time
> >>>> >> implementing
> >>>> >>>>>>> something and their PR ends up being rejected because either
> the
> >>>> >>>> feature
> >>>> >>>>>>> was not needed or the implementation details were never agreed
> >>>> on.
> >>>> >>>>>>>
> >>>> >>>>>>> That said, I think we should also make sure that we don't
> raise
> >>>> the
> >>>> >>>> bar too
> >>>> >>>>>>> high for simple contributions.
> >>>> >>>>>>>
> >>>> >>>>>>> Regarding (1) and (2), I think we should clarify what kind of
> >>>> >>>>>>> additions/changes require this process to be followed. e.g. do
> >>>> we
> >>>> >> need
> >>>> >>>> to
> >>>> >>>>>>> discuss additions for which JIRAs already exist? Ideas
> described
> >>>> >> in the
> >>>> >>>>>>> roadmaps? Adding a new algorithm to Gelly/Flink-ML?
> >>>> >>>>>>>
> >>>> >>>>>>> Regarding (3), maybe we can all suggest some examples/patterns
> >>>> that
> >>>> >>>> we've
> >>>> >>>>>>> seen when reviewing PRs and then choose the most common (or
> >>>> all).
> >>>> >>>>>>>
> >>>> >>>>>>> (4) sounds good to me.
> >>>> >>>>>>>
> >>>> >>>>>>> Cheers,
> >>>> >>>>>>> Vasia.
> >>>> >>>>>>>
> >>>> >>>>>>> On 23 September 2015 at 15:08, Kostas Tzoumas <
> >>>> ktzou...@apache.org <javascript:;>
> >>>> >>>
> >>>> >>>> wrote:
> >>>> >>>>>>>
> >>>> >>>>>>>> Big +1.
> >>>> >>>>>>>>
> >>>> >>>>>>>> For (1), a discussion in JIRA would also be an option IMO
> >>>> >>>>>>>>
> >>>> >>>>>>>> For (2), let us come up with few examples on what
> constitutes a
> >>>> >>>> feature
> >>>> >>>>>>>> that needs a design doc, and what should be in the doc (IMO
> >>>> >>>>>>>> architecture/general approach, components touched, interfaces
> >>>> >> changed)
> >>>> >>>>>>>>
> >>>> >>>>>>>>
> >>>> >>>>>>>>
> >>>> >>>>>>>> On Wed, Sep 23, 2015 at 2:24 PM, Fabian Hueske <
> >>>> fhue...@gmail.com <javascript:;>
> >>>> >>>
> >>>> >>>>>>> wrote:
> >>>> >>>>>>>>
> >>>> >>>>>>>>> Hi everybody,
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> I guess we all have noticed that the Flink community is
> >>>> quickly
> >>>> >>>> growing
> >>>> >>>>>>>> and
> >>>> >>>>>>>>> more and more contributions are coming in. Recently, a few
> >>>> >>>>>>> contributions
> >>>> >>>>>>>>> proposed new features without being discussed on the mailing
> >>>> >> list.
> >>>> >>>> Some
> >>>> >>>>>>>> of
> >>>> >>>>>>>>> these contributions were not accepted in the end. In other
> >>>> cases,
> >>>> >>>> pull
> >>>> >>>>>>>>> requests had to be heavily reworked because the approach
> taken
> >>>> >> was
> >>>> >>>> not
> >>>> >>>>>>>> the
> >>>> >>>>>>>>> best one. These are situations which should be avoided
> because
> >>>> >> both
> >>>> >>>> the
> >>>> >>>>>>>>> contributor as well as the person who reviewed the
> >>>> contribution
> >>>> >>>>>>> invested
> >>>> >>>>>>>> a
> >>>> >>>>>>>>> lot of time for nothing.
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> I had a look at our “How to contribute” and “Coding
> guideline”
> >>>> >> pages
> >>>> >>>>>>> and
> >>>> >>>>>>>>> think, we can improve them. I see basically two issues:
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> 1. The documents do not explain how to propose and discuss
> new
> >>>> >>>>>>> features
> >>>> >>>>>>>>> and improvements.
> >>>> >>>>>>>>> 2. The documents are quite technical and the structure could
> >>>> be
> >>>> >>>>>>>> improved,
> >>>> >>>>>>>>> IMO.
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> I would like to improve these pages and propose the
> following
> >>>> >>>>>>> additions:
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> 1. Request contributors and committers to start discussions
> on
> >>>> >> the
> >>>> >>>>>>>>> mailing list for new features. This discussion should help
> to
> >>>> >> figure
> >>>> >>>>>>> out
> >>>> >>>>>>>>> whether such a new feature is a good fit for Flink and give
> >>>> first
> >>>> >>>>>>>> pointers
> >>>> >>>>>>>>> for a design to implement it.
> >>>> >>>>>>>>> 2. Require contributors and committers to write design
> >>>> >> documents for
> >>>> >>>>>>>> all
> >>>> >>>>>>>>> new features and major improvements. These documents should
> be
> >>>> >>>> attached
> >>>> >>>>>>>> to
> >>>> >>>>>>>>> a JIRA issue and follow a template which needs to be
> defined.
> >>>> >>>>>>>>> 3. Extend the “Coding Style Guides” and add patterns that
> are
> >>>> >>>>>>> commonly
> >>>> >>>>>>>>> remarked in pull requests.
> >>>> >>>>>>>>> 4. Restructure the current pages into three pages: a general
> >>>> >> guide
> >>>> >>>>>>> for
> >>>> >>>>>>>>> contributions and two guides for how to contribute to code
> and
> >>>> >>>> website
> >>>> >>>>>>>> with
> >>>> >>>>>>>>> all technical issues (repository, IDE setup, build system,
> >>>> etc.)
> >>>> >>>>>>>>>
> >>>> >>>>>>>>> Looking forward for your comments,
> >>>> >>>>>>>>> Fabian
> >>>> >>>>>>>>>
> >>>> >>>>>>>>
> >>>> >>>>>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>
> >
>

Reply via email to