Micah has a great list there for me. I'm similarly not as interested in the
bureaucracy of the project and more interested in actually discussing how
we operate from a technical perspective as the community grows.

On Tue, Jul 23, 2024 at 1:01 AM Micah Kornfield <emkornfi...@gmail.com>
wrote:

> My 2 cents on this topic. I think we are getting bogged down in relatively
> minor details/bureaucratic points. This is a reiteration of a previous
> recommendation on the topic, but in the interest of making progress here,
> I'd propose let's break this conversation down and focus on incremental
> definitions/proposals.
>
> I've added a potential breakdown below. This is roughly ordered from
> codifying day to day business, and extends to longer term concerns.  I
> would aim for minimalism on each of these and add additional guidance when
> we need it.  It is important to keep in mind that most decisions made on a
> day to day basis are fairly easily reversible and more process/formalism
> can always be added if some part of the process has bugs in it.
>
> 1.  Requirements to merge a PR (1 committer approval + X amount of time to
> allow others to review?)
> 2.  Requirements major projects/features including spec changes
> 3.  Define roles/responsibilities and provide guidance on how members can
> grow into those roles.  (Cover release manager, comitter, PMC member,
> community member, with links as appropriate).
> 4.  Create guidelines on starting new revision to the specification (i.e.
> when will the table V3 spec be considered closed?).
> 5.  People issues (if the community thinks this is still necessary).
>
> Thanks,
> Micah
>
> On Mon, Jul 22, 2024 at 10:05 AM Jack Ye <yezhao...@gmail.com> wrote:
>
>> Just to follow up on the other topics, here are my comments, mainly to
>> reconcile with what have been discussed in different threads, which could
>> help formulating these multiple-choice questions:
>>
>> > What should the minimum voting period be?
>>
>> Do we decide a minimum voting period for all topics, or do we decide a
>> different period for each topic? So far it seems like the ASF convention
>> has different minimum periods defined, like 3 days for release [1], 7 days
>> for new committers/PMC members [2].
>>
>> > I'd like to include a couple sentences about the different hats at
>> Apache and that votes should be for the benefit of the project and not our
>> employers.
>> > I'd like to propose that we include text to formally include censor and
>> potential removal for disclosing sensitive information from the private
>> list.
>>
>> Personally I am definitely +1 for this, but going back to the topic of
>> Iceberg vs ASF bylaws/guidelines, I feel ideally this should also be a part
>> of ASF general bylaws/guidelines that Iceberg simply just references.
>>
>> > Requirements for each topic
>>
>> I think this is also missing code modification and the improvement
>> proposal votes. My impression so far after discussions in the initial
>> bylaws doc [3] is that ASF definition of "code modification" is closer to a
>> full design process and uses consensus approval. But in reality "merging
>> PR" is a much more lightweight "vote" that typically requires just 1
>> committer approval of the PR. On the other hand, the Iceberg improvement
>> proposal process is currently described to use the code modification
>> consensus approval vote [4], but there are other options like 2/3 majority
>> and majority vote that were proposed.
>>
>> > consensus, lazy consensus, lazy majority, lazy 2/3's
>>
>> In the initial bylaws doc [3] it was pointed out that the definition of
>> "lazy consensus" is different in different documents. In general the
>> definition is "no -1", but there is also the definition [5] of "at least
>> 1 +1, no -1". I ended up giving it a different name of "minimum consensus",
>> and actually this has been the model used for merging pull requests. We
>> might want to clarify that part first before voting for these options.
>>
>> [1] https://www.apache.org/legal/release-policy.html#release-approval
>> [2] https://community.apache.org/newcommitter.html#discussion
>> [3]
>> https://docs.google.com/document/d/1S3igb5NqSlYE3dq_qRsP3X2gwhe54fx-Sxq5hqyOe6I/edit
>> [4] https://iceberg.apache.org/contribute/#how-are-proposals-adopted
>> [5] https://orc.apache.org/develop/bylaws/
>>
>> -Jack
>>
>> On Fri, Jul 19, 2024 at 2:29 PM Jack Ye <yezhao...@gmail.com> wrote:
>>
>>> > specifically the discussion of the standard roles
>>>
>>> Yes, there are also other places with different definitions. For example
>>> the default project guideline [1] has additional description of the PMC
>>> member and chair responsibilities. There are a few other places like ASF
>>> glossary [2] where these terms are defined, I cannot recall on the top of
>>> my head, but I can try to dig those up later.
>>>
>>> > putting together a committer requirements/guidelines doc
>>>
>>> +1. For some context, the committer guideline discussion came from both
>>> some initial feedback on devlist, as well as comments in the roles and
>>> responsibilities section.
>>>
>>> Because I initially used the definition of Hadoop bylaws [3] for
>>> committers, which writes: "The project’s Committers are responsible for the
>>> project’s technical management." There were then multiple people pointing
>>> out that committers are not necessarily technical. If we look into the
>>> current definition in the link Owen provided: "A committer is a developer
>>> who has write access to the code repository and has a signed CLA on file.
>>> They have an apache.org mail address. Not needing to depend on other
>>> people to make patches to the code or documentation, they are actually
>>> making short-term decisions for the project." And in ASF Glossarsy: "An
>>> individual who has the privilege to directly commit changes to an Apache
>>> codebase (commit access)."
>>>
>>> Indeed it does not have a requirement for committers to be technical,
>>> but it is arguably still centered around the right to commit code and merge
>>> patches. And that sparked all the discussions of what exactly a committer
>>> means, what are the criteria, do we limit committer rights to commit to
>>> just sub-project, what about people that do not contribute code, etc. I
>>> don't know if there could be a better definition though, maybe we could
>>> discuss that in a separate thread that is visible to more Apache members
>>> and people in other projects.
>>>
>>> I later raised the thread
>>> https://lists.apache.org/thread/4fykr8316cw9lhvgq168tx5yj9zy7gc3 where
>>> you can find more details about the discussions in the thread as well as in
>>> the linked Google doc for committer guideline. Topics like minimum time
>>> requirement and recency requirements were discussed there. Personally, I
>>> included all those aspects in the draft because my main goal is to have an
>>> open discussion about these topics so that we can potentially reach some
>>> consensus, and eventually form a clear guideline. It would be nice if we
>>> can do that as a part of this process and also moderated in the same way.
>>>
>>> -Jack
>>>
>>> [1]
>>> https://cwiki.apache.org/confluence/display/INCUBATOR/Default+Project+Guidelines
>>> [2] https://www.apache.org/foundation/glossary
>>> [3] https://hadoop.apache.org/bylaws.html
>>>
>>>
>>> On Fri, Jul 19, 2024 at 11:54 AM Ryan Blue <b...@databricks.com.invalid>
>>> wrote:
>>>
>>>> Another thing that has come up is putting together a committer
>>>> requirements/guidelines doc. I think it would be great to have a
>>>> discussion about how we want to do that. Specifically, I'm against adding
>>>> requirements for new committers (such as time-based minimums or recency
>>>> requirements) that exclude people from consideration. I think it would be
>>>> helpful to clarify the path to becoming a committer, though. To me, it's
>>>> about building trust and that trust is recognized by a PMC vote.
>>>>
>>>> Ryan
>>>>
>>>> On Fri, Jul 19, 2024 at 11:00 AM Owen O'Malley <owen.omal...@gmail.com>
>>>> wrote:
>>>>
>>>>> I meant specifically the discussion of the standard roles (eg. users,
>>>>> committers, pmc, pmc chair) that are well covered in
>>>>> https://www.apache.org/foundation/how-it-works/#roles
>>>>>
>>>>> .. Owen
>>>>>
>>>>> On Fri, Jul 19, 2024 at 10:43 AM Jack Ye <yezhao...@gmail.com> wrote:
>>>>>
>>>>>> Thank you Owen for moving this forward, we heard you were sick, hope
>>>>>> you are fully recovered now!
>>>>>>
>>>>>> One point regarding "referring to the Apache documentation": I am
>>>>>> totally for that, but during the initial investigation, I found out that
>>>>>> the Apache documentations are scattered around, and also have conflicting
>>>>>> information.
>>>>>>
>>>>>> For example, regarding a "vote for committer or PMC member":
>>>>>> - this new committer doc [1] writes that "A positive result is
>>>>>> achieved by Consensus Approval: at least 3 +1 votes and no vetoes."
>>>>>> - the Apache voting process doc [2] writes that "Votes on procedural
>>>>>> issues follow the common format of majority rule unless otherwise 
>>>>>> stated.",
>>>>>> and when consulting a few Apache members, most of them consider voting 
>>>>>> for
>>>>>> committer or PMC member a procedural issue.
>>>>>>
>>>>>> Similar situations were found for other topics like description of
>>>>>> roles and responsibilities, code modification, etc.
>>>>>>
>>>>>> I think it is a great chance for ASF in general to consolidate these
>>>>>> information, especially for matters that have common guidelines in ASF 
>>>>>> that
>>>>>> should be adhered to by all projects. With that, we can figure out what 
>>>>>> to
>>>>>> put in the Iceberg specific bylaws, either to directly refer to ASF
>>>>>> official information, or to add additional information and guidelines.
>>>>>>
>>>>>> Regarding sub-projects, the main reason I proposed it at the
>>>>>> beginning was to allow a proper definition of release manager
>>>>>> responsibility, since each sub-project is released independently. It was
>>>>>> not intended to be tied to committer responsibilities.
>>>>>>
>>>>>> Best,
>>>>>> Jack Ye
>>>>>>
>>>>>> [1] https://community.apache.org/newcommitter.html
>>>>>> [2] https://www.apache.org/foundation/voting
>>>>>>
>>>>>> On Fri, Jul 19, 2024 at 10:22 AM Owen O'Malley <
>>>>>> owen.omal...@gmail.com> wrote:
>>>>>>
>>>>>>> Everyone is welcome to vote. The Iceberg PMC will have the only
>>>>>>> binding votes.
>>>>>>>
>>>>>>> .. Owen
>>>>>>>
>>>>>>> On Jul 19, 2024, at 10:19, Wing Yew Poon <wyp...@cloudera.com.invalid>
>>>>>>> wrote:
>>>>>>>
>>>>>>> 
>>>>>>> Hi Owen,
>>>>>>> Thanks for doing this.
>>>>>>> Once you have the questions and choices, who gets to vote on them?
>>>>>>> - Wing Yew
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jul 19, 2024 at 10:07 AM Owen O'Malley <
>>>>>>> owen.omal...@gmail.com> wrote:
>>>>>>>
>>>>>>>> All,
>>>>>>>>    Sorry for the long pause on bylaws discussion. It was a result
>>>>>>>> of wanting to avoid the long US holiday week (July 4th) and my
>>>>>>>> procrastination, which was furthered by a side conversation that asked 
>>>>>>>> me
>>>>>>>> to consider how to move forward in an Apache way.
>>>>>>>>   I'd like to thank Jack for moving this to this point. One concern
>>>>>>>> that I had was there were lots of discussions and decisions that were 
>>>>>>>> being
>>>>>>>> made off of our email lists, which isn't the way that Apache should 
>>>>>>>> work.
>>>>>>>>   For finishing this off, I'd like to come up with a set of
>>>>>>>> questions that should be answered by multiple choice questions and 
>>>>>>>> then use
>>>>>>>> single transferable vote (STV) to resolve them. STV just means that 
>>>>>>>> each
>>>>>>>> person lists their choices in a ranked order with a formal way to 
>>>>>>>> resolve
>>>>>>>> how the votes work.
>>>>>>>>   The questions that I have heard so far are:
>>>>>>>>
>>>>>>>>    1. Should the PMC chair be term-limited and if so, what is the
>>>>>>>>    period? *In my experience, this isn't necessary in most
>>>>>>>>    projects and is often ignored. In Hadoop, Chris Douglas was a great 
>>>>>>>> chair
>>>>>>>>    and held it for 5 years in spite of the 1 year limit.*
>>>>>>>>    1. No term limit
>>>>>>>>       2. 1 year
>>>>>>>>       3. 2 year
>>>>>>>>    2. What should the minimum voting period be?* I'd suggest 3
>>>>>>>>    days is far better as long as it isn't abused by holding important 
>>>>>>>> votes
>>>>>>>>    over holiday weekends.*
>>>>>>>>    1. 3 days (72 hours)
>>>>>>>>       2. 7 days
>>>>>>>>    3. Should we keep the section on roles or just reference the Apache
>>>>>>>>    documentation
>>>>>>>>    <https://www.apache.org/foundation/how-it-works/#roles>. *I'd
>>>>>>>>    suggest that we reference the Apache documentation.*
>>>>>>>>    4. I'd like to include a couple sentences about the different
>>>>>>>>    hats at Apache and that votes should be for the benefit of the 
>>>>>>>> project and
>>>>>>>>    not our employers.
>>>>>>>>    5. I'd like to propose that we include text to formally include
>>>>>>>>    censor and potential removal for disclosing sensitive information 
>>>>>>>> from the
>>>>>>>>    private list.
>>>>>>>>    6. I'd like to propose branch committers. It has helped Hadoop
>>>>>>>>    a lot to enable people to work on development branches for large 
>>>>>>>> features
>>>>>>>>    before they are given general committership. It is better to have 
>>>>>>>> the
>>>>>>>>    branch work done at Apache and be visible than having large 
>>>>>>>> branches come
>>>>>>>>    in late in the project.
>>>>>>>>    7. Requirements for each topic (each could be consensus, lazy
>>>>>>>>    consensus, lazy majority, lazy 2/3's)
>>>>>>>>    1. Add committer
>>>>>>>>       2. Remove committer
>>>>>>>>       3. Add PMC
>>>>>>>>       4. Remove PMC
>>>>>>>>       5. Accept design proposal
>>>>>>>>       6. Add subproject
>>>>>>>>       7. Remove subproject
>>>>>>>>       8. Release (can't be lazy consensus)
>>>>>>>>       9. Modifying bylaws
>>>>>>>>
>>>>>>>> Thoughts? Missing questions?
>>>>>>>>
>>>>>>>> .. Owen
>>>>>>>>
>>>>>>>
>>>>
>>>> --
>>>> Ryan Blue
>>>> Databricks
>>>>
>>>

Reply via email to