In such small PRs, authors likely won't be aware that they need to create a
proposal in the first place. The first reviewer just adds the "Design
Review" tag. It's also absolutely not about considering designs and gauging
the proposal, it's just verifying that a configuration / parameter / HTTP
endpoint name is reasonable and aligned with the rest of Druid. So I think
that a separate proposal issue for such PRs is unnecessary bureaucracy.

On Tue, 15 Jan 2019 at 07:45, Jihoon Son <ghoon...@gmail.com> wrote:

> Roman,
>
> > Jihoon in
>
> https://lists.apache.org/thread.html/e007fbf362c2a870a2d88d04431789289807e00fd91d087559a01d1f@%3Cdev.druid.apache.org%3E
> and later Gian in this thread suggested that _every_ piece of work that
> should be labelled as "Design Review" according to the current rules should
> be accompanied by an issue. I don't agree with this, there are some PRs as
> small as a few dozens of lines of code, that add some configuration
> parameter and therefore should be labelled "Design Review". I don't thing a
> separate proposal issue is needed for them, and even for a little larger
> PRs too.
>
> What I'm concerned with is how people feel if their design is not accepted
> even though they wrote code. Of course, as Clint said, sometimes code helps
> better understanding of the proposal. But, I believe this is the case when
> the proposal is quite complicated and not easy to understand without code.
> Also the authors should be aware of that they might rewrite the entire code
> if the design should be changed.
>
> If writing code is simple, I don't see why the authors don't wait until the
> review for their proposal is finished.
>
> Jihoon
>
> On Fri, Jan 11, 2019 at 9:51 AM Fangjin Yang <fang...@imply.io> wrote:
>
> > I agree with Gian, as an Apache committer, your responsibility is for the
> > betterment of the project. I agree it is in the best interest of the
> > project to stop thinking about what orgs people belong to. We are all a
> > part of the Apache software foundation, regardless of what our roles and
> > titles are outside of it.
> >
> > On Fri, Jan 11, 2019 at 2:22 AM Roman Leventov <leventov...@gmail.com>
> > wrote:
> >
> > > It's not that people from one org could abuse the project and push some
> > > change, but that they have similar perspective (bubble effect) and some
> > > important aspects of a large feature could escape their attention.
> > >
> > > I suggest it to be not a rigid rule, but a recommendation for authors
> of
> > > large proposals to try to attract reviewers from other orgs.
> > >
> > > On Fri, 11 Jan 2019 at 02:51, Julian Hyde <jh...@apache.org> wrote:
> > >
> > > > I agree with Gian.
> > > >
> > > > As an Apache committer, you only have one affiliation: you are
> working
> > in
> > > > the best interests of the project.
> > > >
> > > > Obviously, in the real world there are other pressures. But we do our
> > > best
> > > > to compensate for them.
> > > >
> > > > Also, as a a community we try to design our process so as to avoid
> > undue
> > > > influences. For instance, when I advocate for logging cases early, I
> am
> > > > trying to mitigate the effect of product managers and VPs of
> > engineering,
> > > > who like to have their say in meeting rooms rather than on public
> > mailing
> > > > lists. That’s just one example; if we see other influences at play,
> > let’s
> > > > evolve our process to try to level the playing field.
> > > >
> > > > Julian
> > > >
> > > >
> > > > > On Jan 10, 2019, at 10:40 AM, Gian Merlino <g...@apache.org>
> wrote:
> > > > >
> > > > >>> What do community members think about also making a requirement
> > that
> > > > >>> "Design Review" PRs and proposals are reviewed by at least two
> > people
> > > > > with
> > > > >>> different affiliation?
> > > > >> This seems pretty reasonable to me. I haven't found anything in
> > Apache
> > > > >> voting procedure docs (
> > https://www.apache.org/foundation/voting.html)
> > > > that
> > > > >> seems to explicitly forbid something like this yet at least.
> > > > >
> > > > > On the other hand, my understanding of the Apache Way would mean
> that
> > > > this
> > > > > kind of rule doesn't make sense. In particular from
> > > > > https://www.apache.org/foundation/how-it-works.html: "We firmly
> > > believe
> > > > in
> > > > > hats. Your role at the ASF is one assigned to you personally, and
> is
> > > > > bestowed on you by your peers. It is not tied to your job or
> current
> > > > > employer or company." That sentiment seems incompatible with making
> > > > > explicit rules about organizational diversity in voting. I have
> also
> > > > heard
> > > > > a few people say things like: people are supposed to represent
> > > > themselves,
> > > > > not their employers.
> > > > >
> > > > > Obviously, though, people's actions and opinions are influenced by
> > > their
> > > > > employer. IMO, a better way to approach a potential problem there
> is
> > > that
> > > > > if people from a particular organization end up behaving abusively,
> > > then
> > > > > PMC members from other organizations (or in extreme situations the
> > > Apache
> > > > > board itself) should tell them to knock it off. And then do more
> > > serious
> > > > > things if the inappropriate behavior continues. This kind
> > > > >
> > > > > The other thing you brought up, promoting more shared ownership and
> > > > > awareness, I am hopeful that separating proposals from PRs will
> help
> > > with
> > > > > that. One reason is that it takes much less time to understand a
> well
> > > > > written proposal than it takes to understand a PR. Code is very
> clear
> > > but
> > > > > it is also very verbose and takes a while to read and understand.
> So
> > in
> > > > > theory changing how we operate, in this way, should promote more
> > > > > understanding of more people across the code base.
> > > > >
> > > > > On Thu, Jan 10, 2019 at 1:34 AM Clint Wylie <clint.wy...@imply.io>
> > > > wrote:
> > > > >
> > > > >>>
> > > > >>> What do community members think about also making a requirement
> > that
> > > > >>> "Design Review" PRs and proposals are reviewed by at least two
> > people
> > > > >> with
> > > > >>> different affiliation?
> > > > >>
> > > > >>
> > > > >> This seems pretty reasonable to me. I haven't found anything in
> > Apache
> > > > >> voting procedure docs (
> > https://www.apache.org/foundation/voting.html)
> > > > that
> > > > >> seems to explicitly forbid something like this yet at least.
> > > > >>
> > > > >> On Wed, Jan 9, 2019 at 8:52 PM Roman Leventov <
> > leventov...@gmail.com>
> > > > >> wrote:
> > > > >>
> > > > >>> What do community members think about also making a requirement
> > that
> > > > >>> "Design Review" PRs and proposals are reviewed by at least two
> > people
> > > > >> with
> > > > >>> different affiliation? IMO it's a good idea, because it ensures
> > that
> > > > >>> different interests are taken into account. Also it pushes people
> > to
> > > > >> engage
> > > > >>> with work done in other parts of Druid, improving shared code
> > owning
> > > > and
> > > > >>> awareness.
> > > > >>>
> > > > >>> Or it's against the Apache Way because it's assumed that there
> are
> > no
> > > > >>> company boundaries within the community?
> > > > >>>
> > > > >>> On Thu, 10 Jan 2019 at 11:45, Roman Leventov <
> > leventov...@gmail.com>
> > > > >>> wrote:
> > > > >>>
> > > > >>>> I see two important reasons why it makes sense to file an issue
> > and
> > > > >>>> probably announce it in the mailing list, before writing a lot
> of
> > > > code,
> > > > >>>> despite not having a clear picture of what it will be and any
> > > > >> performance
> > > > >>>> data:
> > > > >>>> 1) somebody could already work on this problem privately in
> > > parallel,
> > > > >> it
> > > > >>>> allows to avoid clash in people's works
> > > > >>>> 2) some people could quickly think about the problem field and
> > share
> > > > >>>> high-level ideas that could wildly change the direction in which
> > the
> > > > >>> author
> > > > >>>> (the person who is going to write code) will move in his work
> from
> > > > >> early
> > > > >>> on.
> > > > >>>>
> > > > >>>> Jihoon in
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> https://lists.apache.org/thread.html/e007fbf362c2a870a2d88d04431789289807e00fd91d087559a01d1f@%3Cdev.druid.apache.org%3E
> > > > >>> and
> > > > >>>> later Gian in this thread suggested that _every_ piece of work
> > that
> > > > >>> should
> > > > >>>> be labelled as "Design Review" according to the current rules
> > should
> > > > be
> > > > >>>> accompanied by an issue. I don't agree with this, there are some
> > PRs
> > > > as
> > > > >>>> small as a few dozens of lines of code, that add some
> > configuration
> > > > >>>> parameter and therefore should be labelled "Design Review". I
> > don't
> > > > >>> thing a
> > > > >>>> separate proposal issue is needed for them, and even for a
> little
> > > > >> larger
> > > > >>>> PRs too.
> > > > >>>>
> > > > >>>> For the same reason, I also don't see the point of renaming
> > "Design
> > > > >>>> Review" into "Proposal", as well as separating "Design Review"
> > into
> > > > >>>> "Proposal" and something like "API Review". I think a single
> > "Design
> > > > >>>> Review" tag handles it well.
> > > > >>>>
> > > > >>>> Gian mentioned an idea that PRs that follow a "Design Review"
> > > proposal
> > > > >>>> issue shouldn't be "Design Review" themselves. I don't agree
> with
> > > > >> this, I
> > > > >>>> think that actual code and performance data are important inputs
> > > that
> > > > >>>> should be re-evaluated at least by two people. I even think that
> > > it's
> > > > >>> very
> > > > >>>> desirable that at least two people read _each line of production
> > > code_
> > > > >> in
> > > > >>>> large PRs, although it's not what was done historically in
> Druid,
> > > > >> because
> > > > >>>> large bodies of newly added code, with whole new classes and
> > > > subsystems
> > > > >>>> added, are also coincidentally tested worse than already
> existing
> > > > >> classes
> > > > >>>> and subsystems, including in production. It seems to me that
> those
> > > > huge
> > > > >>>> code influxes is a major source of bugs, that could later take
> > years
> > > > to
> > > > >>>> squeeze out from the codebase.
> > > > >>>>
> > > > >>>> On Wed, 9 Jan 2019 at 08:24, Clint Wylie <clint.wy...@imply.io>
> > > > wrote:
> > > > >>>>
> > > > >>>>> Apologies for the delayed response.
> > > > >>>>>
> > > > >>>>> On Thu, Jan 3, 2019 at 12:48 PM Slim Bouguerra <
> > > > >>> slim.bougue...@gmail.com>
> > > > >>>>> wrote:
> > > > >>>>>
> > > > >>>>>> I am wondering here what is the case where code first is
> better?
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>> I don't think it's wrong to share ideas as early as possible,
> and
> > > > >> after
> > > > >>>>> this discussion I think I am in favor of it too. I just meant
> > that
> > > I
> > > > >>> don't
> > > > >>>>> think it's always necessarily the most productive discussion
> > until
> > > > >> code
> > > > >>>>> exists sometimes, with the types of thing I am thinking of are
> > > almost
> > > > >>>>> entirely limited to cases where things might sound good to
> anyone
> > > on
> > > > >>> paper
> > > > >>>>> but in reality need a large amount of experiments conducted and
> > > > >>>>> observations collected to determine that something is actually
> > > worth
> > > > >>>>> doing,
> > > > >>>>> which I imagine is mainly things like reworking internals for
> > > > >>> performance
> > > > >>>>> improvements.
> > > > >>>>>
> > > > >>>>> In the case of my combined proposal PR, I needed to prove that
> > the
> > > > >>> thing I
> > > > >>>>> was working on was a good idea... and it wasn't directly. But I
> > > came
> > > > >> up
> > > > >>>>> with another idea during the course of experiment turned into
> > > > >> something
> > > > >>>>> compelling, so an initial proposal would have looked quite a
> lot
> > > > >>> different
> > > > >>>>> than what I ended up with. Once I had proven to myself that it
> > was
> > > a
> > > > >>> good
> > > > >>>>> idea, then I was comfortable sharing with the wider community.
> > I'm
> > > > not
> > > > >>>>> certain how this would play out in an always proposal first
> > model,
> > > > >> maybe
> > > > >>>>> the first proposal exists, I personally reject it after
> updating
> > > with
> > > > >>>>> experiment results show it's a bad idea, continue experimenting
> > and
> > > > >>> raise
> > > > >>>>> a
> > > > >>>>> new one after the experiments start looking promising?
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>> Let's not be naive this is very rare that a contributor will
> > > accept
> > > > >>> that
> > > > >>>>>> his work is to be thrown, usually devs takes coding as
> personal
> > > > >>> creation
> > > > >>>>>> and they get attached to it.
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>> I agree, just because a handful of the committers have this
> > > attitude,
> > > > >> it
> > > > >>>>> isn't fair to expect the wider community to also, that's why I
> am
> > > in
> > > > >>> favor
> > > > >>>>> of formalizing the process.
> > > > >>>>>
> > > > >>>>> Can you please explain what is overbearing ? what can be
> changed
> > to
> > > > >> make
> > > > >>>>> it
> > > > >>>>>> easy ?
> > > > >>>>>> Most of the points are kind of the actual questions that you
> > want
> > > to
> > > > >>>>>> address before hand anyway isn't ?
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>> Sorry for the confusion, I said it's "not overbearing", I think
> > > it's
> > > > >>> fine.
> > > > >>>>>
> > > > >>>>> What are the complaints ?
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> Is this and other previous threads not a complaint about
> opening
> > a
> > > > >> large
> > > > >>>>> PR
> > > > >>>>> without a proposal? :) I just mean that formalizing the
> process,
> > > even
> > > > >>> if a
> > > > >>>>> proposal has a reference PR opened with it near concurrently,
> > could
> > > > >>>>> prevent
> > > > >>>>> these discussions from happening in the future because ground
> > rules
> > > > >> have
> > > > >>>>> been set and we are all on the same page I guess.
> > > > >>>>>
> > > > >>>>> I think we should also probably consider renaming the "design
> > > review"
> > > > >>>>> label
> > > > >>>>> to "proposal" or something to make it more clear that a PR is
> > > > >> associated
> > > > >>>>> with a proposal. It might also be worth considering using
> github
> > > > >>> projects
> > > > >>>>> for particularly large things that involve multiple follow up
> > PRs,
> > > > >> but I
> > > > >>>>> haven't used them in much depth to know if they add anything.
> > > > >>>>>
> > > > >>>>> It seems like we are all converging on agreement to do a github
> > > issue
> > > > >>>>> proposal for larger changes (I would vote for announcing them
> on
> > > the
> > > > >> dev
> > > > >>>>> list too for more visibility), so that design review is
> separated
> > > > from
> > > > >>>>> code
> > > > >>>>> review. I guess my main concern was not wanting to discourage
> > > > >>>>> experimentation by walling it off behind mandatory discussions,
> > but
> > > > >> the
> > > > >>>>> more I think about it,  it doesn't technically change much
> about
> > > this
> > > > >>>>> process, it just requires a more formal proposal to accompany
> any
> > > > >>>>> experiments that are shared as a PR.
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> On Tue, Jan 8, 2019 at 12:28 PM Gian Merlino <g...@apache.org>
> > > > wrote:
> > > > >>>>>
> > > > >>>>>> I think for us, choosing to use GitHub issues as discussion
> > > threads
> > > > >>> for
> > > > >>>>>> potential 'major' contributions would be a good idea,
> especially
> > > if
> > > > >> we
> > > > >>>>>> encourage people to start them before PRs show up. Definitely
> > > agree
> > > > >>> that
> > > > >>>>>> all contributors should go through the same process -- I
> > couldn't
> > > > >> see
> > > > >>> it
> > > > >>>>>> working well any other way.
> > > > >>>>>>
> > > > >>>>>> On Mon, Jan 7, 2019 at 12:23 PM Julian Hyde <jh...@apache.org
> >
> > > > >> wrote:
> > > > >>>>>>
> > > > >>>>>>> Statically, yes, GitHub PRs are the same as GitHub cases. But
> > > > >>>>>> dynamically,
> > > > >>>>>>> they are different, because you can only log a PR when you
> have
> > > > >>>>> finished
> > > > >>>>>>> work.
> > > > >>>>>>>
> > > > >>>>>>> A lot of other Apache projects use JIRA, so there is a clear
> > > > >>>>> distinction
> > > > >>>>>>> between cases and contributions. JIRA cases, especially when
> > > > >> logged
> > > > >>>>> early
> > > > >>>>>>> in the lifecycle of a contribution, become long-running
> > > > >> conversation
> > > > >>>>>>> threads with a lot of community participation. If the Druid
> > chose
> > > > >> to
> > > > >>>>> do
> > > > >>>>>> so,
> > > > >>>>>>> GitHub cases could be the same.
> > > > >>>>>>>
> > > > >>>>>>> Be careful that you do not treat “potential contributors” (by
> > > > >> which
> > > > >>> I
> > > > >>>>>>> presume you mean non-committers) differently from committers
> > and
> > > > >> PMC
> > > > >>>>>>> members. Anyone starting a major piece of work should follow
> > the
> > > > >>> same
> > > > >>>>>>> process. (Experienced committers probably have a somewhat
> > better
> > > > >>> idea
> > > > >>>>>> what
> > > > >>>>>>> work will turn out to be “major”, so they get a little more
> > > > >> leeway.)
> > > > >>>>>>>
> > > > >>>>>>> Julian
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>> On Jan 7, 2019, at 12:10 PM, Gian Merlino <g...@apache.org>
> > > > >>> wrote:
> > > > >>>>>>>>
> > > > >>>>>>>> I don't think there's a need to raise issues for every
> > change: a
> > > > >>>>> small
> > > > >>>>>>> bug
> > > > >>>>>>>> fix or doc fix should just go straight to PR. (GitHub PRs
> show
> > > > >> up
> > > > >>> as
> > > > >>>>>>> issues
> > > > >>>>>>>> in the issue-search UI/API, so it's not like this means the
> > > > >> patch
> > > > >>>>> has
> > > > >>>>>> no
> > > > >>>>>>>> corresponding issue -- in a sense the PR _is_ the issue.)
> > > > >>>>>>>>
> > > > >>>>>>>> I do think it makes sense to encourage potential
> contributors
> > to
> > > > >>>>> write
> > > > >>>>>> to
> > > > >>>>>>>> the dev list or raise an issue if they aren't sure if
> > something
> > > > >>>>> would
> > > > >>>>>>> need
> > > > >>>>>>>> to go through a more heavy weight process.
> > > > >>>>>>>>
> > > > >>>>>>>> Fwiw we do have a set of 'design review' criteria already
> (we
> > > > >> had
> > > > >>> a
> > > > >>>>>>>> discussion about this a couple years ago) at:
> > > > >>>>>>>> http://druid.io/community/#getting-your-changes-accepted.
> So
> > we
> > > > >>>>>>> wouldn't be
> > > > >>>>>>>> starting from zero on defining that. We set it up back when
> we
> > > > >>> were
> > > > >>>>>>> trying
> > > > >>>>>>>> to _streamline_ our process -- we used to require two
> > non-author
> > > > >>> +1s
> > > > >>>>>> for
> > > > >>>>>>>> _every_ change, even minor ones. The introduction of design
> > > > >> review
> > > > >>>>>>> criteria
> > > > >>>>>>>> was meant to classify which PRs need that level of review
> and
> > > > >>> which
> > > > >>>>>> ones
> > > > >>>>>>>> are minor and can be merged with less review. I do think it
> > > > >> helped
> > > > >>>>> with
> > > > >>>>>>>> getting minor PRs merged more quickly. The list of criteria
> > is,
> > > > >>>>>>>>
> > > > >>>>>>>> - Major architectural changes or API changes
> > > > >>>>>>>> - HTTP requests and responses (e. g. a new HTTP endpoint)
> > > > >>>>>>>> - Interfaces for extensions
> > > > >>>>>>>> - Server configuration (e. g. altering the behavior of a
> > config
> > > > >>>>>> property)
> > > > >>>>>>>> - Emitted metrics
> > > > >>>>>>>> - Other major changes, judged by the discretion of Druid
> > > > >>> committers
> > > > >>>>>>>>
> > > > >>>>>>>> Some of it is subjective, but it has been in place for a
> > while,
> > > > >> so
> > > > >>>>> it's
> > > > >>>>>>> at
> > > > >>>>>>>> least something we are relatively familiar with.
> > > > >>>>>>>>
> > > > >>>>>>>> On Mon, Jan 7, 2019 at 11:32 AM Julian Hyde <
> jh...@apache.org
> > >
> > > > >>>>> wrote:
> > > > >>>>>>>>
> > > > >>>>>>>>> Small contributions don’t need any design review, whereas
> > large
> > > > >>>>>>>>> contributions need significant review. I don’t think we
> > should
> > > > >>>>> require
> > > > >>>>>>> an
> > > > >>>>>>>>> additional step for those (many) small contributions. But
> who
> > > > >>>>> decides
> > > > >>>>>>>>> whether a contribution fits into the small or large
> category?
> > > > >>>>>>>>>
> > > > >>>>>>>>> I think the solution is for authors to log a case (or send
> an
> > > > >>>>> email to
> > > > >>>>>>>>> dev) before they start work on any contribution. Then
> > > > >> committers
> > > > >>>>> can
> > > > >>>>>>>>> request a more heavy-weight process if they think it is
> > needed.
> > > > >>>>>>>>>
> > > > >>>>>>>>> Julian
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>>> On Jan 7, 2019, at 11:24 AM, Gian Merlino <
> g...@apache.org>
> > > > >>>>> wrote:
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> It sounds like splitting design from code review is a
> common
> > > > >>> theme
> > > > >>>>>> in a
> > > > >>>>>>>>> few
> > > > >>>>>>>>>> of the posts here. How does everyone feel about making a
> > point
> > > > >>> of
> > > > >>>>>>>>>> encouraging design reviews to be done as issues, separate
> > from
> > > > >>> the
> > > > >>>>>> pull
> > > > >>>>>>>>>> request, with the expectations that (1) the design review
> > > > >> issue
> > > > >>>>>>>>>> ("proposal") should generally appear somewhat _before_ the
> > > > >> pull
> > > > >>>>>>> request;
> > > > >>>>>>>>>> (2) pull requests should _not_ have design review happen
> on
> > > > >>> them,
> > > > >>>>>>> meaning
> > > > >>>>>>>>>> there should no longer be PRs with design review tags, and
> > we
> > > > >>>>> should
> > > > >>>>>>> move
> > > > >>>>>>>>>> the design review approval process to the issue rather
> than
> > > > >> the
> > > > >>>>> PR.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> For (1), even if we encourage design review discussions to
> > > > >> start
> > > > >>>>>>> before a
> > > > >>>>>>>>>> pull request appears, I don't see an issue with them
> running
> > > > >>>>>>> concurrently
> > > > >>>>>>>>>> for a while at some point.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> On Thu, Jan 3, 2019 at 5:35 PM Jonathan Wei <
> > > > >> jon...@apache.org>
> > > > >>>>>> wrote:
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>> Thanks for raising these concerns!
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> My initial thoughts:
> > > > >>>>>>>>>>> - I agree that separation of design review and code-level
> > > > >>> review
> > > > >>>>> for
> > > > >>>>>>>>> major
> > > > >>>>>>>>>>> changes would be more efficient
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> - I agree that a clear, more formalized process for
> > handling
> > > > >>>>> major
> > > > >>>>>>>>> changes
> > > > >>>>>>>>>>> would be helpful for contributors:
> > > > >>>>>>>>>>> - Define what is considered a major change
> > > > >>>>>>>>>>> - Define a standard proposal structure, KIP-style
> proposal
> > > > >>> format
> > > > >>>>>>>>> sounds
> > > > >>>>>>>>>>> good to me
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> - I think it's too rigid to have a policy of "no code at
> > all
> > > > >>> with
> > > > >>>>>> the
> > > > >>>>>>>>>>> initial proposal"
> > > > >>>>>>>>>>> - Code samples can be useful references for understanding
> > > > >>> aspects
> > > > >>>>>> of a
> > > > >>>>>>>>>>> design
> > > > >>>>>>>>>>> - In some cases it's necessary to run experiments to
> fully
> > > > >>>>>> understand
> > > > >>>>>>> a
> > > > >>>>>>>>>>> problem and determine an appropriate design, or to
> > determine
> > > > >>>>> whether
> > > > >>>>>>>>>>> something is even worth doing before committing to the
> work
> > > > >> of
> > > > >>>>>>> fleshing
> > > > >>>>>>>>> out
> > > > >>>>>>>>>>> a proposal, prototype code is a natural outcome of that
> and
> > > > >> I'm
> > > > >>>>> not
> > > > >>>>>>>>> against
> > > > >>>>>>>>>>> someone providing such code for reference
> > > > >>>>>>>>>>> - I tend to view design/code as things that are often
> > > > >> developed
> > > > >>>>>>>>>>> simultaneously in an intertwined way
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>> Let's not be naive this is very rare that a contributor
> > will
> > > > >>>>> accept
> > > > >>>>>>>>> that
> > > > >>>>>>>>>>> his work is to be thrown, usually devs takes coding as
> > > > >> personal
> > > > >>>>>>> creation
> > > > >>>>>>>>>>> and they get attached to it.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> If we have a clear review process that emphasizes the
> need
> > > > >> for
> > > > >>>>> early
> > > > >>>>>>>>>>> consensus building, with separate design and code review,
> > > > >> then
> > > > >>> I
> > > > >>>>>> feel
> > > > >>>>>>>>> we've
> > > > >>>>>>>>>>> done enough and don't need a hard rule against having
> some
> > > > >> code
> > > > >>>>>> linked
> > > > >>>>>>>>> with
> > > > >>>>>>>>>>> the initial proposal. If a potential contributor then
> still
> > > > >>>>> wants to
> > > > >>>>>>> go
> > > > >>>>>>>>>>> ahead and write a lot of code that may be rejected or
> > change
> > > > >>>>>>>>> significantly,
> > > > >>>>>>>>>>> the risks were made clear.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>> Once code is written hard to think abstract.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> I can see the validity of the concern, but I personally
> > don't
> > > > >>>>> see it
> > > > >>>>>>> as
> > > > >>>>>>>>> a
> > > > >>>>>>>>>>> huge risk. My impression from the Druid PR reviews I've
> > seen
> > > > >> is
> > > > >>>>> that
> > > > >>>>>>> our
> > > > >>>>>>>>>>> reviewers are able to keep abstract design vs.
> > implementation
> > > > >>>>>> details
> > > > >>>>>>>>>>> separate and consider alternate designs when reviewing.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> To summarize I think it's probably enough to have a
> policy
> > > > >>> along
> > > > >>>>> the
> > > > >>>>>>>>> lines
> > > > >>>>>>>>>>> of:
> > > > >>>>>>>>>>> - Create more formalized guidelines for proposals and
> what
> > > > >>>>> changes
> > > > >>>>>>>>> require
> > > > >>>>>>>>>>> proposals
> > > > >>>>>>>>>>> - Separate design and code review for major changes, with
> > > > >>> design
> > > > >>>>>>> review
> > > > >>>>>>>>>>> first, code-level review after reaching consensus on the
> > > > >>> design.
> > > > >>>>>>>>>>> - Code before the design review is completed is just for
> > > > >>>>> reference,
> > > > >>>>>>> not
> > > > >>>>>>>>>>> regarded as a candidate for review/merging.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> - Jon
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> On Thu, Jan 3, 2019 at 12:48 PM Slim Bouguerra <
> > > > >>>>>>>>> slim.bougue...@gmail.com>
> > > > >>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>> On Thu, Jan 3, 2019 at 12:16 PM Clint Wylie <
> > > > >>>>> clint.wy...@imply.io>
> > > > >>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>> I am definitely biased in this matter as an owner of
> > > > >> another
> > > > >>>>> large
> > > > >>>>>>> PR
> > > > >>>>>>>>>>>> that
> > > > >>>>>>>>>>>>> wasn't preceded by a direct proposal or dev list
> > > > >> discussion,
> > > > >>>>> and
> > > > >>>>>> in
> > > > >>>>>>>>>>>> general
> > > > >>>>>>>>>>>>> I agree that proposal first is usually better, but I
> > think
> > > > >> in
> > > > >>>>> some
> > > > >>>>>>>>>>> rarer
> > > > >>>>>>>>>>>>> cases approaching a problem code first *is* the most
> > > > >>>>> appropriate
> > > > >>>>>> way
> > > > >>>>>>>>> to
> > > > >>>>>>>>>>>>> have a discussion.
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> I am wondering here what is the case where code first is
> > > > >>> better?
> > > > >>>>>>>>>>>> In general when you are writing code you have an idea
> > about
> > > > >>> what
> > > > >>>>>> you
> > > > >>>>>>>>> want
> > > > >>>>>>>>>>>> to change, why you want to change and why you want to
> > change
> > > > >>> it.
> > > > >>>>>>>>>>>> I do not see what is wrong with sharing this primitive
> > ideas
> > > > >>> and
> > > > >>>>>>>>> thoughts
> > > > >>>>>>>>>>>> as an abstract proposal (at least to avoid overlapping)
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> I see nothing wrong with it so long as the author
> > > > >>>>>>>>>>>>> accepts that the PR is treated as a combined proposal
> and
> > > > >>>>> proof of
> > > > >>>>>>>>>>>> concept,
> > > > >>>>>>>>>>>>> and fair game to be radically changed via discussion or
> > > > >> even
> > > > >>>>>>> rejected,
> > > > >>>>>>>>>>>>> which sounds like Gian's attitude on the matter and is
> > mine
> > > > >>> as
> > > > >>>>>> well
> > > > >>>>>>>>>>> with
> > > > >>>>>>>>>>>> my
> > > > >>>>>>>>>>>>> compression stuff.
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> Let's not be naive this is very rare that a contributor
> > will
> > > > >>>>> accept
> > > > >>>>>>>>> that
> > > > >>>>>>>>>>>> his work is to be thrown, usually devs takes coding as
> > > > >>> personal
> > > > >>>>>>>>> creation
> > > > >>>>>>>>>>>> and they get attached to it.
> > > > >>>>>>>>>>>> To my point you can take a look on some old issue in the
> > > > >> Druid
> > > > >>>>>> forum
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> https://github.com/apache/incubator-druid/pull/3755#issuecomment-265667690
> > > > >>>>>>>>>>>> and am sure other communities have similar problems.
> > > > >>>>>>>>>>>> So leaving the door open to some side cases is not a
> good
> > > > >> idea
> > > > >>>>> in
> > > > >>>>>> my
> > > > >>>>>>>>>>>> opinion and will lead to similar issue in the future.
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> This seems to me especially likely to happen in cases
> > > > >>>>>>>>>>>>> where an approach still needs proven to be a viable
> idea
> > > > >> *to
> > > > >>>>> the
> > > > >>>>>>>>>>> author*,
> > > > >>>>>>>>>>>>> so that a much more productive discussion can be had in
> > the
> > > > >>>>> first
> > > > >>>>>>>>>>> place.
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>> I think there is a trade off, I don't think we want to
> > > > >>>>> discourage
> > > > >>>>>>>>>>>>> experimentation by walling it off behind mandatory
> > > > >>> discussions
> > > > >>>>>>> before
> > > > >>>>>>>>>>> it
> > > > >>>>>>>>>>>>> can even start, but I do think formalizing the process
> > for
> > > > >>>>> large
> > > > >>>>>>>>>>> changes
> > > > >>>>>>>>>>>> is
> > > > >>>>>>>>>>>>> a good thing, especially since we probably can't expect
> > the
> > > > >>>>> wider
> > > > >>>>>>>>>>>> community
> > > > >>>>>>>>>>>>> to have the same attitude towards a large PR getting
> > > > >>> discarded
> > > > >>>>> as
> > > > >>>>>> a
> > > > >>>>>>>>>>>>> committer might. I think the Kafka approach is
> > reasonable,
> > > > >> a
> > > > >>>>> bit
> > > > >>>>>>> more
> > > > >>>>>>>>>>>>> formal than our design review process but not
> > overbearing.
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> Can you please explain what is overbearing ? what can be
> > > > >>>>> changed to
> > > > >>>>>>>>> make
> > > > >>>>>>>>>>> it
> > > > >>>>>>>>>>>> easy ?
> > > > >>>>>>>>>>>> Most of the points are kind of the actual questions that
> > you
> > > > >>>>> want
> > > > >>>>>> to
> > > > >>>>>>>>>>>> address before hand anyway isn't ?
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>> Going code first
> > > > >>>>>>>>>>>>> should be in general discouraged, but when it does
> > happen,
> > > > >> it
> > > > >>>>>> seems
> > > > >>>>>>>>>>> like
> > > > >>>>>>>>>>>>> opening DIP/an issue/starting a mailing list thread or
> > > > >>>>> whatever we
> > > > >>>>>>> go
> > > > >>>>>>>>>>>> with
> > > > >>>>>>>>>>>>> to have a more high level design discussion alongside
> the
> > > > >>>>>> reference
> > > > >>>>>>> PR
> > > > >>>>>>>>>>>>> could alleviate some of these complaints?
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> What are the complaints ?
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>> +1 for "DIP" heh, I think making
> > > > >>>>>>>>>>>>> them in the form of github issues is probably
> > appropriate,
> > > > >>>>> with a
> > > > >>>>>>> dev
> > > > >>>>>>>>>>>> list
> > > > >>>>>>>>>>>>> thread to announce them perhaps?
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> I think  github issue with [Proposal] header like
> > > > >>>>>>>>>>>> https://github.com/apache/incubator-druid/issues/4349
> is
> > > > >> good
> > > > >>>>> to
> > > > >>>>>> me,
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> Thanks!
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>> On Thu, Jan 3, 2019 at 10:28 AM Slim Bouguerra <
> > > > >>>>> bs...@apache.org>
> > > > >>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> Thanks everyone for interacting with this thread.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> The fact that i, Roman, Jihoon  and others in the past
> > (FJ
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> https://groups.google.com/forum/#!msg/druid-user/gkUEsAYIfBA/6B2GJdLkAgAJ
> > > > >>>>> )
> > > > >>>>>>>>>>>>>> raised this point indicates that PRs without a
> proposal
> > > > >> are
> > > > >>>>>> indeed
> > > > >>>>>>> an
> > > > >>>>>>>>>>>>> issue
> > > > >>>>>>>>>>>>>> and we need to solve it.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> Something Similar to KIP maybe called DIPs is fine
> with
> > > > >> me.
> > > > >>>>>>>>>>>>>> What i strive to see is the following:
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> [Step 1] formalize what is the kind of work that
> needs a
> > > > >>>>> formal
> > > > >>>>>>>>>>>>> Proposal, I
> > > > >>>>>>>>>>>>>> think Roman and Jihoon has already covered that pretty
> > > > >> well.
> > > > >>>>> am
> > > > >>>>>> +1
> > > > >>>>>>> on
> > > > >>>>>>>>>>>>> that.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> https://lists.apache.org/thread.html/9b30d893bdb6bb633cf6a9a700183ffb5b98f115330531a55328ac77@%3Cdev.druid.apache.org%3E
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> I am strongly in favor of the separation of Proposal
> > > > >> Review
> > > > >>>>> and
> > > > >>>>>>>>>>> (later)
> > > > >>>>>>>>>>>>>> Code review PRs. My  main reasons:
> > > > >>>>>>>>>>>>>> Most importantly code reviewing will introduce lot of
> > > > >> noise
> > > > >>>>> and
> > > > >>>>>>> will
> > > > >>>>>>>>>>>>>> ultimately make  the GitHub page unreadable.
> > > > >>>>>>>>>>>>>> Avoid overlapping of work.
> > > > >>>>>>>>>>>>>> Once code is written hard to think abstract.
> > > > >>>>>>>>>>>>>> Separate page for Design review later can always be
> used
> > > > >> it
> > > > >>>>> as a
> > > > >>>>>>>>>>> Design
> > > > >>>>>>>>>>>>>> document that is readable and code free-ish.
> > > > >>>>>>>>>>>>>> As i said the goal of this first round is to see if
> the
> > > > >>>>> community
> > > > >>>>>>>>>>> agree
> > > > >>>>>>>>>>>>>> about such change, then make the process of design
> more
> > > > >>>>> inclusive
> > > > >>>>>>>>>>> thus
> > > > >>>>>>>>>>>>>> other contributors can submit a counter proposals.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> [Step 2] IF everybody agree about that point Step 2 is
> > to
> > > > >>>>> define
> > > > >>>>>>>>>>> which
> > > > >>>>>>>>>>>>>> medium is used to Publish a primitive form of a CODE
> > FREE
> > > > >>>>>> Abstract
> > > > >>>>>>>>>>>>> Proposal
> > > > >>>>>>>>>>>>>> containing at least the following bullet points.
> > > > >>>>>>>>>>>>>> - The problem description and motivation
> > > > >>>>>>>>>>>>>> - Overview of the proposed change
> > > > >>>>>>>>>>>>>> - Operational impact (compatibility/ plans to
> upgrades)
> > > > >>> public
> > > > >>>>>> API
> > > > >>>>>>>>>>>>> changes,
> > > > >>>>>>>>>>>>>> configuration changes, algorithm, and so on
> > > > >>>>>>>>>>>>>> - Expected benefits and drawbacks
> > > > >>>>>>>>>>>>>> - Rationale and alternatives
> > > > >>>>>>>>>>>>>> - Estimate Time to Deliver if possible.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> The way i think this can be is a Github issue where
> > member
> > > > >>> of
> > > > >>>>> the
> > > > >>>>>>>>>>>>> community
> > > > >>>>>>>>>>>>>> will interact via comments and the author will be
> > updating
> > > > >>> the
> > > > >>>>>>>>>>>>> description
> > > > >>>>>>>>>>>>>> in the light of comments provided by the community.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> During and near the end of the design discussions the
> > > > >>> author/s
> > > > >>>>>> can
> > > > >>>>>>>>>>>> start
> > > > >>>>>>>>>>>>>> writing POCs to help guide the review process this
> > > > >> naturally
> > > > >>>>> will
> > > > >>>>>>> be
> > > > >>>>>>>>>>> a
> > > > >>>>>>>>>>>>> Pull
> > > > >>>>>>>>>>>>>> request with actual code.
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> *Now the most important thing is that we need to agree
> > > > >> that
> > > > >>>>> any
> > > > >>>>>>> work
> > > > >>>>>>>>>>>> that
> > > > >>>>>>>>>>>>>> does not align with this formal process will be
> ignored
> > > > >> and
> > > > >>>>> the
> > > > >>>>>>>>>>> author
> > > > >>>>>>>>>>>>> will
> > > > >>>>>>>>>>>>>> be asked to start with a DIP*
> > > > >>>>>>>>>>>>>> *That is what i meant with  “If it didn’t happen on
> the
> > > > >>>>> mailing
> > > > >>>>>>> list,
> > > > >>>>>>>>>>>> it
> > > > >>>>>>>>>>>>>> didn’t happen.”*
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> Thanks and happy coding!
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>> On Wed, Jan 2, 2019 at 6:47 PM Gian Merlino <
> > > > >>> g...@apache.org>
> > > > >>>>>>> wrote:
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>> One of the advantages I see with a more formal
> process
> > is
> > > > >>>>> (like
> > > > >>>>>>>>>>> Kafka
> > > > >>>>>>>>>>>>>> KIPs)
> > > > >>>>>>>>>>>>>>> is that it levels the playing field a bit and sets
> some
> > > > >>>>> ground
> > > > >>>>>>>>>>> rules
> > > > >>>>>>>>>>>>> for
> > > > >>>>>>>>>>>>>>> working together. In a way it can help encourage
> > > > >>>>> contributions
> > > > >>>>>> by
> > > > >>>>>>>>>>>>> making
> > > > >>>>>>>>>>>>>> it
> > > > >>>>>>>>>>>>>>> clear what is expected of potential contributors.
> > > > >>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>> We have a design review process today that is not as
> > > > >> formal
> > > > >>>>> as
> > > > >>>>>>>>>>> KIPs,
> > > > >>>>>>>>>>>>> but
> > > > >>>>>>>>>>>>>> is
> > > > >>>>>>>>>>>>>>> somewhat heavier than the one you describe. Maybe we
> > > > >> could
> > > > >>>>> tweak
> > > > >>>>>>>>>>> our
> > > > >>>>>>>>>>>>>>> current one by starting to do design reviews
> separately
> > > > >>> from
> > > > >>>>>> PRs.
> > > > >>>>>>>>>>>> i.e.,
> > > > >>>>>>>>>>>>>> for
> > > > >>>>>>>>>>>>>>> anything that meets our 'design review' criteria, do
> > that
> > > > >>> on
> > > > >>>>> the
> > > > >>>>>>>>>>> dev
> > > > >>>>>>>>>>>>> list
> > > > >>>>>>>>>>>>>>> or in a separate issue, and keep the PR focused on
> > > > >>> code-level
> > > > >>>>>>>>>>> stuff.
> > > > >>>>>>>>>>>>> That
> > > > >>>>>>>>>>>>>>> way we don't end up trying to do both at once. And it
> > > > >> makes
> > > > >>>>> it
> > > > >>>>>>>>>>> easier
> > > > >>>>>>>>>>>>> to
> > > > >>>>>>>>>>>>>>> start talking about design before the code is ready,
> > > > >> which
> > > > >>>>> would
> > > > >>>>>>> be
> > > > >>>>>>>>>>>>>> better.
> > > > >>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>> On Wed, Jan 2, 2019 at 6:10 PM Julian Hyde <
> > > > >>> jh...@apache.org
> > > > >>>>>>
> > > > >>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>> It’s really hard to say no to a contribution when
> > > > >> someone
> > > > >>>>> has
> > > > >>>>>> put
> > > > >>>>>>>>>>>> in
> > > > >>>>>>>>>>>>> a
> > > > >>>>>>>>>>>>>>>> significant amount of work.
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>> The following approach is simple and works really
> > well:
> > > > >>>>> Before
> > > > >>>>>>>>>>> you
> > > > >>>>>>>>>>>>>> start
> > > > >>>>>>>>>>>>>>>> work, log a case, describing the problem. When you
> > have
> > > > >>> some
> > > > >>>>>>>>>>> ideas
> > > > >>>>>>>>>>>>>> about
> > > > >>>>>>>>>>>>>>>> design, add those to the case. When you have a code
> > > > >>> branch,
> > > > >>>>> add
> > > > >>>>>>>>>>> its
> > > > >>>>>>>>>>>>> URL
> > > > >>>>>>>>>>>>>>> to
> > > > >>>>>>>>>>>>>>>> the case. And so forth. At any point in the
> > proceedings,
> > > > >>>>> people
> > > > >>>>>>>>>>> can
> > > > >>>>>>>>>>>>>> chime
> > > > >>>>>>>>>>>>>>>> in with their opinions.
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>> In my opinion, a formal “design review” process is
> not
> > > > >>>>>> necessary.
> > > > >>>>>>>>>>>>> Just
> > > > >>>>>>>>>>>>>>>> build consensus iteratively, by starting the
> > > > >> conversation
> > > > >>>>> early
> > > > >>>>>>>>>>> in
> > > > >>>>>>>>>>>>> the
> > > > >>>>>>>>>>>>>>>> process.
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>> Julian
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> On Jan 2, 2019, at 12:37 PM, Gian Merlino <
> > > > >>> g...@apache.org
> > > > >>>>>>
> > > > >>>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> In this particular case: please consider the PR as
> a
> > > > >>>>> proposal.
> > > > >>>>>>>>>>>>> Don't
> > > > >>>>>>>>>>>>>>> feel
> > > > >>>>>>>>>>>>>>>>> like just because there is code there that takes a
> > > > >>> certain
> > > > >>>>>>>>>>>>> approach,
> > > > >>>>>>>>>>>>>>> that
> > > > >>>>>>>>>>>>>>>>> the approach is somehow sacred. I had to implement
> > > > >>>>> something
> > > > >>>>>> to
> > > > >>>>>>>>>>>>>>>> crystallize
> > > > >>>>>>>>>>>>>>>>> my own thinking about how the problem could be
> > > > >>> approached.
> > > > >>>>> I
> > > > >>>>>>>>>>>> won't
> > > > >>>>>>>>>>>>> be
> > > > >>>>>>>>>>>>>>>>> disappointed if, as a community, we decide a
> > different
> > > > >>>>>>>>>>> direction
> > > > >>>>>>>>>>>> is
> > > > >>>>>>>>>>>>>>>> better
> > > > >>>>>>>>>>>>>>>>> and the code all gets thrown away. That's one of
> the
> > > > >>>>> reasons
> > > > >>>>>>>>>>>> that I
> > > > >>>>>>>>>>>>>>>> removed
> > > > >>>>>>>>>>>>>>>>> the 0.14.0 milestone that was added to the patch.
> (I
> > > > >>> don't
> > > > >>>>>> want
> > > > >>>>>>>>>>>> to
> > > > >>>>>>>>>>>>>> rush
> > > > >>>>>>>>>>>>>>>> it,
> > > > >>>>>>>>>>>>>>>>> nor do I think that's a good idea.)
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> In general: Sounds like we could do with some more
> > > > >>>>>>>>>>> formalization
> > > > >>>>>>>>>>>>>> around
> > > > >>>>>>>>>>>>>>>>> what a proposal looks like, which sorts of changes
> > need
> > > > >>>>> one,
> > > > >>>>>>>>>>> and
> > > > >>>>>>>>>>>>> when
> > > > >>>>>>>>>>>>>>> in
> > > > >>>>>>>>>>>>>>>>> the dev cycle it is appropriate. FWIW I think
> Kafka's
> > > > >>>>> process
> > > > >>>>>>>>>>> is
> > > > >>>>>>>>>>>>> more
> > > > >>>>>>>>>>>>>>> or
> > > > >>>>>>>>>>>>>>>>> less fine, and would be okay with adopting it for
> > Druid
> > > > >>> if
> > > > >>>>>>>>>>> people
> > > > >>>>>>>>>>>>>> like
> > > > >>>>>>>>>>>>>>>> it.
> > > > >>>>>>>>>>>>>>>>> Right now our standards for what requires a "design
> > > > >>> review"
> > > > >>>>>> are
> > > > >>>>>>>>>>>>> very
> > > > >>>>>>>>>>>>>>>>> similar to the Kafka community standards for what
> > > > >>> requires
> > > > >>>>> a
> > > > >>>>>>>>>>> KIP,
> > > > >>>>>>>>>>>>> so
> > > > >>>>>>>>>>>>>> we
> > > > >>>>>>>>>>>>>>>>> have some familiarity with those concepts. However
> we
> > > > >>> don't
> > > > >>>>>>>>>>>>> separate
> > > > >>>>>>>>>>>>>> PR
> > > > >>>>>>>>>>>>>>>>> review and proposal discussion as strictly as they
> > do,
> > > > >>>>> which
> > > > >>>>>>>>>>>> seems
> > > > >>>>>>>>>>>>> to
> > > > >>>>>>>>>>>>>>> be
> > > > >>>>>>>>>>>>>>>>> the foundation for the feeling of exclusion that is
> > > > >> being
> > > > >>>>> felt
> > > > >>>>>>>>>>>>> here.
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> Separately: I just redid the description on
> > > > >>>>>>>>>>>>>>>>>
> https://github.com/apache/incubator-druid/pull/6794
> > to
> > > > >>> be
> > > > >>>>>> more
> > > > >>>>>>>>>>>>>>>> proposal-y.
> > > > >>>>>>>>>>>>>>>>> I followed the KIP style:
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals
> > > > >>>>>>>>>>>>>>>> .
> > > > >>>>>>>>>>>>>>>>> Please refresh the page and see if it looks more
> > > > >> useful.
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> Gian
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>> On Wed, Jan 2, 2019 at 10:52 AM Julian Hyde <
> > > > >>>>> jh...@apache.org
> > > > >>>>>>>
> > > > >>>>>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>> Slim,
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>> I agree with your points that offline development
> is
> > > > >> bad
> > > > >>>>> for
> > > > >>>>>>>>>>>>>>> community.
> > > > >>>>>>>>>>>>>>>>>> But I don’t think you need much mentor help. You
> > have
> > > > >>>>> raised
> > > > >>>>>>>>>>>> valid
> > > > >>>>>>>>>>>>>>>> issues
> > > > >>>>>>>>>>>>>>>>>> and the Druid community needs to decide what its
> > > > >>>>> development
> > > > >>>>>>>>>>>>>> practices
> > > > >>>>>>>>>>>>>>>>>> should be.
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>> Julian
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> On Jan 2, 2019, at 10:29 AM, Slim Bouguerra <
> > > > >>>>>>>>>>> bs...@apache.org>
> > > > >>>>>>>>>>>>>>> wrote:
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> Hello everyone and hope you all have very good
> > > > >>> holidays.
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> First, this email is not directed on the author
> or
> > > > >> the
> > > > >>> PR
> > > > >>>>>>>>>>>>>>>>>>>
> > https://github.com/apache/incubator-druid/pull/6794
> > > > >>> it
> > > > >>>>>>>>>>> self,
> > > > >>>>>>>>>>>>> but
> > > > >>>>>>>>>>>>>> i
> > > > >>>>>>>>>>>>>>>> see
> > > > >>>>>>>>>>>>>>>>>>> this PR as a perfect example.
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> One of the foundation of Apache Way or what i
> would
> > > > >>>>> simply
> > > > >>>>>>>>>>> call
> > > > >>>>>>>>>>>>>> open
> > > > >>>>>>>>>>>>>>>>>> source
> > > > >>>>>>>>>>>>>>>>>>> community driven development is that "Technical
> > > > >>> decisions
> > > > >>>>>> are
> > > > >>>>>>>>>>>>>>>> discussed,
> > > > >>>>>>>>>>>>>>>>>>> decided, and archived publicly.
> > > > >>>>>>>>>>>>>>>>>>> developpement"
> > > > >>>>>>>>>>>>>>>>>>> Which means that big technical  changes such as
> the
> > > > >> one
> > > > >>>>>>>>>>> brought
> > > > >>>>>>>>>>>>> by
> > > > >>>>>>>>>>>>>>>> #/6794
> > > > >>>>>>>>>>>>>>>>>>> should have started as a proposal and round of
> > > > >>>>> discussions
> > > > >>>>>>>>>>>> about
> > > > >>>>>>>>>>>>>> the
> > > > >>>>>>>>>>>>>>>>>> major
> > > > >>>>>>>>>>>>>>>>>>> changes designs not as 11K line of code.
> > > > >>>>>>>>>>>>>>>>>>> I believe such openness will promote a lot of
> good
> > > > >>>>> benefits
> > > > >>>>>>>>>>>> such
> > > > >>>>>>>>>>>>>> as:
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> - ensures community health and growth.
> > > > >>>>>>>>>>>>>>>>>>> - ensures everyone can participate not only the
> > > > >> authors
> > > > >>>>> and
> > > > >>>>>>>>>>> his
> > > > >>>>>>>>>>>>>>>>>> co-workers.
> > > > >>>>>>>>>>>>>>>>>>> - ensures that the project is driven by the
> > community
> > > > >>> and
> > > > >>>>>>>>>>> not a
> > > > >>>>>>>>>>>>>> given
> > > > >>>>>>>>>>>>>>>>>>> company or an individual.
> > > > >>>>>>>>>>>>>>>>>>> - ensures that there is consensus (not saying
> 100%
> > > > >>>>>>>>>>> agreement;)
> > > > >>>>>>>>>>>>>>> however
> > > > >>>>>>>>>>>>>>>> it
> > > > >>>>>>>>>>>>>>>>>>> means that all individuals will accept the
> current
> > > > >>>>> progress
> > > > >>>>>>>>>>> on
> > > > >>>>>>>>>>>>> the
> > > > >>>>>>>>>>>>>>>>>> project
> > > > >>>>>>>>>>>>>>>>>>> until some better proposal is put forth.
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> Personally such BIG offline PR makes me feel
> > excluded
> > > > >>> and
> > > > >>>>>>>>>>>> doesn't
> > > > >>>>>>>>>>>>>>> give
> > > > >>>>>>>>>>>>>>>>>> me a
> > > > >>>>>>>>>>>>>>>>>>> sense that i belong to  a community at all.
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> To prevent such off list development i think as a
> > > > >> Druid
> > > > >>>>>>>>>>>> Community
> > > > >>>>>>>>>>>>>> we
> > > > >>>>>>>>>>>>>>>> need
> > > > >>>>>>>>>>>>>>>>>>> to stick to the apache way “If it didn’t happen
> on
> > > > >> the
> > > > >>>>>>>>>>> mailing
> > > > >>>>>>>>>>>>>> list,
> > > > >>>>>>>>>>>>>>> it
> > > > >>>>>>>>>>>>>>>>>>> didn’t happen.”
> > > > >>>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>> I would appreciate if some of the Apache mentor
> > help
> > > > >>> with
> > > > >>>>>>>>>>> this.
> > > > >>>>>>>>>>>>>>>>>>> Thanks
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>
> > > > >>>
> > ---------------------------------------------------------------------
> > > > >>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
> > > > >>> dev-unsubscr...@druid.apache.org
> > > > >>>>>>>>>>>>>>>>>> For additional commands, e-mail:
> > > > >>>>> dev-h...@druid.apache.org
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>
> > > > >>
> > ---------------------------------------------------------------------
> > > > >>>>>>>>>>>>>>>> To unsubscribe, e-mail:
> > > > >> dev-unsubscr...@druid.apache.org
> > > > >>>>>>>>>>>>>>>> For additional commands, e-mail:
> > > > >>> dev-h...@druid.apache.org
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>>
> > > > >>>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> --
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> B-Slim
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>
> > > > >>>
> > > >
> > _______/\/\/\_______/\/\/\_______/\/\/\_______/\/\/\_______/\/\/\_______
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>
> > > ---------------------------------------------------------------------
> > > > >>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
> > > > >>>>>>>>> For additional commands, e-mail: dev-h...@druid.apache.org
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>
> > ---------------------------------------------------------------------
> > > > >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
> > > > >>>>>>> For additional commands, e-mail: dev-h...@druid.apache.org
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
> > > > For additional commands, e-mail: dev-h...@druid.apache.org
> > > >
> > > >
> > >
> >
>

Reply via email to