Resending with correct links :p Hey everyone,
JB, I fully agree with you. For clarity and consistency, we should point to the docs. The starting point for the roles can be as simple as this <https://github.com/apache/iceberg/pull/10804>. For the release manager, I clarified the how-to-release page <https://github.com/apache/iceberg/pull/10806>, which includes feedback on a recent PR <https://github.com/apache/iceberg/pull/10787>. Let me know what you think. Kind regards, Fokko Op ma 29 jul 2024 om 12:27 schreef Fokko Driesprong <fo...@apache.org>: > Hey everyone, > > JB, I fully agree with you. For clarity and consistency, we should point > to the docs. > The starting point for the roles can be as simple as this > <https://github.com/apache/iceberg/pull/10804>. For the release manager, > I clarified the how-to-release page > <https://github.com/apache/iceberg/pull/10787>, which includes feedback > on a recent PR <https://github.com/apache/iceberg/pull/10787>. > > Let me know what you think. > > Kind regards, > Fokko > > Op do 25 jul 2024 om 19:56 schreef Micah Kornfield <emkornfi...@gmail.com > >: > >> Hi J.B. and Fokko, >> >> I like the idea of the state diagram, but it feels to me that there are a >>> lot of states in there. Maybe we can take the Airflow AIP states as a >>> start >>> <https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals> >>> ? >> >> I'll take a closer look but based on the description this seems like a >> good place to start. >> >> >>> I think it would also be great to make a clear problem statement. I >>> think the intention is very valuable but I don't see exactly what >>> problem we are trying to solve here. >> >> >> I think we are trying to aim/solve for the following goals/problems: >> 1. To some extent there has been an unfortunate loss of trust in the >> community. Providing clarity on how day to day business gets done helps >> assure people with concerns that there are reasonable processes in place >> that don't favor any particular corporate interest. >> 2. As the Iceberg community grows what used to be a set of norms are not >> necessarily well socialized among new members, having a little more >> documentation on expectations on what it takes to get contributions >> accepted in the project helps set expectations and empowers committers to >> move things forward, hopefully increasing velocity. >> 3. For larger changes, making it clearer on how to get a change through >> and providing some set of norms that hopefully allows features to avoid >> scope creep/analysis paralysis so the project can continue to be improved >> without undo friction >> >> Thanks for the feedback. >> >> Micah >> >> On Thu, Jul 25, 2024 at 5:01 AM Jean-Baptiste Onofré <j...@nanthrax.net> >> wrote: >> >>> Hi, >>> >>> I think 1, 2 and 4 are directly up to the project. I shared what other >>> ASF projects are doing (I'm thinking about Apache Beam, or Apache >>> Camel Karaf), it can help to see what we can do (updating .asf.yml for >>> instance). >>> >>> Imho, 3 & 5 should be aligned with the foundation guidelines. I don't >>> see strong reasons to deviate here. >>> >>> I think it would also be great to make a clear problem statement. I >>> think the intention is very valuable but I don't see exactly what >>> problem we are trying to solve here. >>> >>> Regards >>> JB >>> >>> On Tue, Jul 23, 2024 at 7:58 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: >>> >>>>>>>> >>> >>>>>>>> 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. >>> >>>>>>>> >>> >>>>>>>> No term limit >>> >>>>>>>> 1 year >>> >>>>>>>> 2 year >>> >>>>>>>> >>> >>>>>>>> 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. >>> >>>>>>>> >>> >>>>>>>> 3 days (72 hours) >>> >>>>>>>> 7 days >>> >>>>>>>> >>> >>>>>>>> Should we keep the section on roles or just reference the >>> Apache documentation. I'd suggest that we reference the Apache >>> documentation. >>> >>>>>>>> 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. >>> >>>>>>>> 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. >>> >>>>>>>> Requirements for each topic (each could be consensus, lazy >>> consensus, lazy majority, lazy 2/3's) >>> >>>>>>>> >>> >>>>>>>> Add committer >>> >>>>>>>> Remove committer >>> >>>>>>>> Add PMC >>> >>>>>>>> Remove PMC >>> >>>>>>>> Accept design proposal >>> >>>>>>>> Add subproject >>> >>>>>>>> Remove subproject >>> >>>>>>>> Release (can't be lazy consensus) >>> >>>>>>>> Modifying bylaws >>> >>>>>>>> >>> >>>>>>>> Thoughts? Missing questions? >>> >>>>>>>> >>> >>>>>>>> .. Owen >>> >>>> >>> >>>> >>> >>>> >>> >>>> -- >>> >>>> Ryan Blue >>> >>>> Databricks >>> >>