Let me attempt to summarise the discussion. The workflow for an AIP should be:

1. Create a draft AIP
2. Open a [DISCUSS] thread to get feedback on idea/goal/outlines
3. Allow  suitable time for input on this
4. Change state of AIP to "in-development"
5. Open a PR, making clear it relates to an AIP and needs discussing on list 
before merging.
6. Call a 72 hour vote on the PR
7. Merge, mark AIP as accepted.

On timings: I think allowing a week for stage 3 gives enough people a chance to 
see and respond - 72hours can be a bit tight for those of us with too many 
emails ;)

As for what is/isn't in need of an AIP: I think this is always going to be a 
bit hazy: Dropping support for Python 2 is not a big _code_ change but does 
have big impact, Drew's OpenAPI3 AIP possibly didn't need an AIP as it's a 
small impact change, but it doesn't hurt to have one as it's formalising the 
public API a bit more (and this calling a vote makes more people aware of the 
change). I'm not sure how to summarise that though.

-ash

> On 24 Feb 2019, at 22:54, Tao Feng <fengta...@gmail.com> wrote:
> 
> Based on my observation of Kafka KIP,   KIP usually could be very
> comprehensive which is almost like a tech spec including: 1. motivation; 2.
> what new public interface it tries to propose; 3. what are the rejected
> alternatives with what reason; 4. what could be the failure scenarios etc.
> And it seems most of the KIP is back with a single pr to help better
> understanding for the discussion.  As Kevin mentioned, current AIP(or the
> one I read) only include a high level idea of what the author tries to
> propose. It lacks of edge case discussion which will only get caught in the
> pr discussion. Hence I am +1 on AIP with a pr.
> 
> In terms of how long of the process, I think there is a 72 hour lazy
> consensus rule in Apache world(?). My understanding is that the author
> could initiate the vote thread if there are no concerns within 72 hours of
> the discuss thread.  In terms of how to decide the fundamental or not, I
> think the change needs an AIP if the change could not be included in a
> minor release. But this is open for discussion.
> 
> Best,
> -Tao
> 
> 
> On Sun, Feb 24, 2019 at 2:00 AM Deng Xiaodong <xd.den...@gmail.com> wrote:
> 
>> Great discussions!
>> 
>> Two minor points from me:
>> - For the workflow Ash summarised: may I remind that we may want to decide
>> how long the vote on an AIP should be open as well (3, 5,or 7 days?). This
>> can be decided later when the workflow is formalised.
>> 
>> - For the process description Fokko proposed: how shall we decide if a
>> change is “fundamental” or not? Like Fokko mentioned, one of Kafka’s
>> criteria is whether the change proposal is changing a public method. But
>> this should be a very minor concern as the committers can decide if AIP is
>> required in a flexible way later.
>> 
>> 
>> XD
>> 
>>> On 24 Feb 2019, at 5:30 PM, Kevin Yang <yrql...@gmail.com> wrote:
>>> 
>>> +1 for having AIPs backed by PRs.
>>> 
>>> About having multiple PR for an AIP. I feels like it might cause overturn
>>> on an accepted AIP. Say idea in AIP and phase 1 PR all look good but in
>>> phase 2 we encountered blockers and have to employ creative solutions
>> that
>>> is against the AIP. I think if an AIP is large enough so PRs must be
>>> splitted into phases, we might want to just split the AIP? Again use the
>>> example of AIP-12. We have a fairly large PR
>>> <https://github.com/apache/airflow/pull/4396> but it is far way from
>>> covering what's being proposed in the AIP. It would be surprising for me
>> if
>>> AIP-12 is accepted because the idea is good and the PR claims to back it
>> is
>>> good.
>>> 
>>> My 2 cents.
>>> 
>>> Cheers,
>>> Kevin Y
>>> 
>>> 
>>> On Sun, Feb 24, 2019 at 1:14 AM Driesprong, Fokko <fo...@driesprong.frl>
>>> wrote:
>>> 
>>>> An AIP should be a couple of PR's. I think splitting up major code
>> changes
>>>> into multiple PR's is a good thing to maintain progress and you don't
>> need
>>>> to resolve the conflicts all the time.
>>>> 
>>>> We could also look at different Apache projects. For example, for Kafka
>> you
>>>> need to open a KIP if you're changing a public method. I think this is
>>>> easier (to automate) for JVM based languages. I think we need to open a
>>>> Wiki to describe the process (or maybe on the Github template itself),
>>>> which states:
>>>> 
>>>> - Only (python)docs changes, no ticket is required.
>>>> - Simple code changes, create a Jira ticket.
>>>> - Fundamental changes, open an AIP.
>>>> 
>>>> I like to have a PR with the AIP because conceptually everything always
>>>> looks nice, but when you enter the trenches and start coding, you will
>>>> always hit some edge cases which needs a creative solution. It would be
>>>> nice to also discuss the edge cases before merging the actual code. If
>> the
>>>> PR is really big, the AIP could also have a couple of phases which each
>> end
>>>> up in a different PR.
>>>> 
>>>> Cheers, Fokko
>>>> 
>>>> 
>>>> Op zo 24 feb. 2019 om 09:41 schreef Ash Berlin-Taylor <a...@apache.org>:
>>>> 
>>>>> My thinking on AIPs that have a PR is that a vote on the AIP is "is
>> this
>>>>> feature/design goal a good idea" but discussion about the code or
>> merging
>>>>> the pr can happen on GitHub as usual.
>>>>> 
>>>>> For example AIP-12 is an excellent Idea but there are a few questions
>> to
>>>>> answer about the design. (The author of the proposal also has an open
>>>> PR).
>>>>> 
>>>>> A bit of a thin distinction perhaps, but in the general case I was
>>>>> thinking not a discussion on the PR.
>>>>> 
>>>>> Having written all that down I can see a workflow something like this:
>>>>> 
>>>>> - start AIP
>>>>> - get loose consensus on list
>>>>> - open PR
>>>>> - call vote on AIP + that specific PR.
>>>>> 
>>>>> (That falls down if we want to open multiple PRs to complete an AIP)
>>>>> 
>>>>> -ash
>>>>> 
>>>>> On 22 February 2019 19:28:15 GMT, Tao Feng <fengta...@gmail.com>
>> wrote:
>>>>>> I think AIP is a proposal which is back by a PR. Hence it should
>>>>>> consider a
>>>>>> major code change(normal code change shouldn't need a AIP).
>>>>>> 
>>>>>> 
>>>>>> On Fri, Feb 22, 2019 at 2:54 AM Ash Berlin-Taylor <a...@apache.org>
>>>>>> wrote:
>>>>>> 
>>>>>>> There was a post about this AIP on 1 Febuary (but no replies other
>>>>>> than
>>>>>>> me), and AIPs are not code changes so the point about veto doesn't
>>>>>> apply
>>>>>>> here I don't think?.
>>>>>>> 
>>>>>>> But yes, I think the rough idea of there should be apparent consensus
>>>>>>> before a vote is called makes sense. I  was using "Lazy consensus" in
>>>>>>> calling my vote as no one else spoke up on the discussion thread ;)
>>>>>>> 
>>>>>>> -ash
>>>>>>> 
>>>>>>> 
>>>>>>>> On 21 Feb 2019, at 20:22, Tao Feng <fengta...@gmail.com> wrote:
>>>>>>>> 
>>>>>>>> Please correct me if I am wrong. I think normally it starts with a
>>>>>>>> [DISCUSS] email thread for all the technical details discussion. If
>>>>>>>> everyone aligns, we could move to the vote thread. Here are some
>>>>>>> guidelines
>>>>>>>> found on the apache website(
>>>>>>> https://www.apache.org/foundation/voting.html)
>>>>>>>> . A few points captured:
>>>>>>>> 
>>>>>>>> ```
>>>>>>>> A code-modification proposal may be stopped dead in its tracks by a
>>>>>> -1
>>>>>>> vote
>>>>>>>> by a qualified voter. This constitutes a veto, and it cannot be
>>>>>> overruled
>>>>>>>> nor overridden by anyone. Vetos stand until and unless withdrawn by
>>>>>> their
>>>>>>>> casters.
>>>>>>>> ```
>>>>>>>> I think we should make sure everyone is aligned in the discuss
>>>>>> thread
>>>>>>>> before we move to vote thread. WDYT.
>>>>>>>> 
>>>>>>>> On Thu, Feb 21, 2019 at 9:26 AM Ash Berlin-Taylor <a...@apache.org>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> I'm about to send a vote email for the first AIP that I (hope) is
>>>>>> going
>>>>>>> to
>>>>>>>>> be a simple and straight forward one to accept.
>>>>>>>>> 
>>>>>>>>> Since we haven't defined the process of how/when we vote on AIPs
>>>>>> I'm
>>>>>>>>> making it up as we go along :)
>>>>>>>>> 
>>>>>>>>> Some points:
>>>>>>>>> 
>>>>>>>>> - A failed vote on an AIP is not the same as rejecting the AIP, it
>>>>>> could
>>>>>>>>> just need more refinement.
>>>>>>>>> - a proposal requires three positive votes and no negative ones in
>>>>>> order
>>>>>>>>> to pass
>>>>>>>>> - I've picked a some-what random time of 1 week for AIP votes
>>>>>> (compared
>>>>>>> to
>>>>>>>>> the 3 days for release votes)
>>>>>>>>> - members of the community are encouraged to cast votes.
>>>>>>>>> 
>>>>>>>>> If no one objects to these "rules" I'll write them up in the wiki
>>>>>> along
>>>>>>>>> with a template email to use for AIP votes.
>>>>>>>>> 
>>>>>>>>> -ash
>>>>>>> 
>>>>>>> 
>>>>> 
>>>> 
>> 
>> 

Reply via email to