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