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

> 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>:
>
>> @Chiwan, sure. Will do that. Thanks for pointing it out :-)
>>
>> 2015-09-28 18:00 GMT+02:00 Chiwan Park <chiwanp...@apache.org>:
>>
>>> @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> 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>:
>>> >
>>> >> 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>
>>> 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>:
>>> >>>
>>> >>>> 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>
>>> >>>> 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>
>>> >> 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
>>> >>>>>>> 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
>>> >>>
>>> >>>> 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
>>> >>>
>>> >>>>>>> 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