Any more discussion on this? If don't hear back I'll put this up for
the vote on Monday

FYI, there is a mistake in the text on the wiki: (I edited the page to address)

"Decisions regarding the project are made by votes on the primary project
development mailing list u...@zookeeper.apache.org."

The primary project mailing list is the dev@ list.

Regards,

Patrick

On Wed, Jan 12, 2011 at 5:26 PM, Mahadev Konar <maha...@yahoo-inc.com> wrote:
> I agree with Pat on this one. Ben, we do send out notices saying that we are
> cleaning up patches and if folks want to add to the release or think some
> jira should be there to voice there concern. I am not sure whats the
> significance of adding it to the bylaws? We can definitely add it to how to
> release section. What do you think?
>
> Thanks
> mahadev
>
>
> On 1/12/11 3:40 PM, "Patrick Hunt" <ph...@apache.org> wrote:
>
>> Why don't we see if it becomes a problem and then add it to our
>> process rather than codifying in the bylaws. That work?
>>
>> Patrick
>>
>> On Wed, Jan 12, 2011 at 3:36 PM, Benjamin Reed <br...@yahoo-inc.com> wrote:
>>> i've added it to the cwiki:
>>> https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeperBylawsProposal
>>>
>>> i don't mean the pre-annouce time to stretch things out. it's really to make
>>> sure the status updates go out. as we get more committers we need to make
>>> sure that there is a heads up that something is coming so that if someone
>>> will be on vacation or something like that we can take it into account.
>>>
>>> the idea is that we would say: hey next month we will be having a vote that
>>> way interested parties can watch out for it rather than going on vacation,
>>> coming back, and finding out that a blocker was overridden and a flawed
>>> release has gone out.
>>>
>>> ben
>>>
>>> On 01/12/2011 09:21 AM, Patrick Hunt wrote:
>>>>
>>>> Hi Ben, thanks for getting this rolling. Your committer suggestion
>>>> sounds fine to me. WRT to pre announcing, we are already giving
>>>> multiple days for a vote, also in the lead up to a release it should
>>>> be pretty obvious that one is imminent (we usually send out status
>>>> updates and such, plus the activity is pretty clear on the lists,
>>>> jira, svn, etc...). Adding more "pre announce time" will stretch out
>>>> the timeframes (and process) even longer, I'd rather we keep it as is
>>>> unless ppl think this is a big issue.
>>>>
>>>> Would you mind creating a proposal page on the cwiki similar to what Pig
>>>> did?
>>>> http://markmail.org/message/lvchbhoojpbwuxyx
>>>>
>>>> Regards,
>>>>
>>>> Patrick
>>>>
>>>> On Tue, Jan 4, 2011 at 9:17 AM, Benjamin Reed<br...@yahoo-inc.com>  wrote:
>>>>>
>>>>> I really like the Pig bylaws. I would suggest using it as a starting
>>>>> point
>>>>> for ZooKeeper. One thing I would like to modify is the Committer section.
>>>>> Pig's bylaws state that the committer becomes emeritus if they haven't
>>>>> contributed in any form for 6 months. I would tighten that up and say if
>>>>> they haven't been actively involved in reviewing or committing. (They are
>>>>> after all committers.) I have made this change to the text.
>>>>>
>>>>> The other change that I would like, and did not add, is for some of the
>>>>> votes to have a requirement to pre-announce. Specifically for PMC,
>>>>> committer, and release it would be nice to give a week or two notice that
>>>>> a
>>>>> vote will be coming up, just so that interested parties don't miss it.
>>>>>
>>>>> ben
>>>>>
>>>>> here is the text:
>>>>>
>>>>> Introduction
>>>>> This document defines the bylaws under which the Apache ZooKeeper project
>>>>> operates. It defines the roles and responsibilities of the project, who
>>>>> may
>>>>> vote, how voting works, how conflicts are resolved, etc.
>>>>>
>>>>> ZooKeeper is a project of the Apache Software Foundation The foundation
>>>>> holds the copyright on Apache code including the code in the ZooKeeper
>>>>> codebase. The foundation FAQ explains the operation and background of the
>>>>> foundation.
>>>>>
>>>>> ZooKeeper is typical of Apache projects in that it operates under a set
>>>>> of
>>>>> principles, known collectively as the Apache Way. If you are new to
>>>>> Apache
>>>>> development, please refer to the Incubator project for more information
>>>>> on
>>>>> how Apache projects operate.
>>>>>
>>>>> Roles and Responsibilities
>>>>> Apache projects define a set of roles with associated rights and
>>>>> responsibilities. These roles govern what tasks an individual may perform
>>>>> within the project. The roles are defined in the following sections.
>>>>>
>>>>> Users
>>>>> The most important participants in the project are people who use our
>>>>> software. The majority of our contributors start out as users and guide
>>>>> their development efforts from the user's perspective.
>>>>>
>>>>> Users contribute to the Apache projects by providing feedback to
>>>>> contributors in the form of bug reports and feature suggestions. As well,
>>>>> users participate in the Apache community by helping other users on
>>>>> mailing
>>>>> lists and user support forums.
>>>>>
>>>>> Contributors
>>>>> All of the volunteers who are contributing time, code, documentation, or
>>>>> resources to the ZooKeeper Project. A contributor that makes sustained,
>>>>> welcome contributions to the project may be invited to become a
>>>>> committer,
>>>>> though the exact timing of such invitations depends on many factors.
>>>>>
>>>>> Committers
>>>>> The project's committers are responsible for the project's technical
>>>>> management. Committers have access to a specified set of subproject's
>>>>> subversion repositories. Committers on subprojects may cast binding votes
>>>>> on
>>>>> any technical discussion regarding that subproject.
>>>>>
>>>>> Committer access is by invitation only and must be approved by lazy
>>>>> consensus of the active PMC members. A Committer is considered emeritus
>>>>> by
>>>>> his or her own declaration or by not reviewing patches or commiting
>>>>> patches
>>>>> to the project for over six months. An emeritus committer may request
>>>>> reinstatement of commit access from the PMC which must be approved by
>>>>> lazy
>>>>> consensus of the active PMC members.
>>>>>
>>>>> Commit access can be revoked by a unanimous vote of all the active PMC
>>>>> members (except the committer in question if he or she is also a PMC
>>>>> member).
>>>>>
>>>>> All Apache committers are required to have a signed Contributor License
>>>>> Agreement (CLA) on file with the Apache Software Foundation. There is a
>>>>> Committer FAQ which provides more details on the requirements for
>>>>> committers.
>>>>>
>>>>> A committer who makes a sustained contribution to the project may be
>>>>> invited
>>>>> to become a member of the PMC. The form of contribution is not limited to
>>>>> code. It can also include code review, helping out users on the mailing
>>>>> lists, documentation, etc.
>>>>>
>>>>> Project Management Committee
>>>>> The PMC is responsible to the board and the ASF for the management and
>>>>> oversight of the Apache ZooKeeper codebase. The responsibilities of the
>>>>> PMC
>>>>> include
>>>>>
>>>>> Deciding what is distributed as products of the Apache ZooKeeper project.
>>>>> In
>>>>> particular all releases must be approved by the PMC.
>>>>> Maintaining the project's shared resources, including the codebase
>>>>> repository, mailing lists, websites.
>>>>> Speaking on behalf of the project.
>>>>> Resolving license disputes regarding products of the project.
>>>>> Nominating new PMC members and committers.
>>>>> Maintaining these bylaws and other guidelines of the project.
>>>>> Membership of the PMC is by invitation only and must be approved by a
>>>>> lazy
>>>>> consensus of active PMC members. A PMC member is considered emeritus by
>>>>> his
>>>>> or her own declaration or by not contributing in any form to the project
>>>>> for
>>>>> over six months. An emeritus member may request reinstatement to the PMC,
>>>>> which must be approved by a lazy consensus of active PMC members.
>>>>>
>>>>> Membership of the PMC can be revoked by an unanimous vote of all the
>>>>> active
>>>>> PMC members other than the member in question.
>>>>>
>>>>> The chair of the PMC is appointed by the ASF board. The chair is an
>>>>> office
>>>>> holder of the Apache Software Foundation (Vice President, Apache
>>>>> ZooKeeper)
>>>>> and has primary responsibility to the board for the management of the
>>>>> projects within the scope of the ZooKeeper PMC. The chair reports to the
>>>>> board quarterly on developments within the ZooKeeper project.
>>>>>
>>>>> When the current chair of the PMC resigns, the PMC votes to recommend a
>>>>> new
>>>>> chair using lazy consensus, but the decision must be ratified by the
>>>>> Apache
>>>>> board.
>>>>>
>>>>> Decision Making
>>>>> Within the ZooKeeper project, different types of decisions require
>>>>> different
>>>>> forms of approval. For example, the previous section describes several
>>>>> decisions which require 'lazy consensus' approval. This section defines
>>>>> how
>>>>> voting is performed, the types of approvals, and which types of decision
>>>>> require which type of approval.
>>>>>
>>>>> Voting
>>>>> Decisions regarding the project are made by votes on the primary project
>>>>> development mailing list u...@zookeeper.apache.org. Where necessary, PMC
>>>>> voting may take place on the private ZooKeeper PMC mailing list
>>>>> priv...@zookeeper.apache.org. Votes are clearly indicated by subject line
>>>>> starting with [VOTE]. Votes may contain multiple items for approval and
>>>>> these should be clearly separated. Voting is carried out by replying to
>>>>> the
>>>>> vote mail. Voting may take four flavors.
>>>>>
>>>>> Vote    Meaning
>>>>> +1    'Yes,' 'Agree,' or 'the action should be performed.' In general,
>>>>> this
>>>>> vote also indicates a willingness on the behalf of the voter in 'making
>>>>> it
>>>>> happen'.
>>>>> +0    This vote indicates a willingness for the action under
>>>>> consideration
>>>>> to go ahead. The voter, however will not be able to help.
>>>>> -0    This vote indicates that the voter does not, in general, agree with
>>>>> the proposed action but is not concerned enough to prevent the action
>>>>> going
>>>>> ahead.
>>>>> -1    This is a negative vote. On issues where consensus is required,
>>>>> this
>>>>> vote counts as a veto. All vetoes must contain an explanation of why the
>>>>> veto is appropriate. Vetoes with no explanation are void. It may also be
>>>>> appropriate for a -1 vote to include an alternative course of action.
>>>>> All participants in the ZooKeeper project are encouraged to show their
>>>>> agreement with or against a particular action by voting. For technical
>>>>> decisions, only the votes of active committers are binding. Non binding
>>>>> votes are still useful for those with binding votes to understand the
>>>>> perception of an action in the wider ZooKeeper community. For PMC
>>>>> decisions,
>>>>> only the votes of PMC members are binding.
>>>>>
>>>>> Voting can also be applied to changes already made to the ZooKeeper
>>>>> codebase. These typically take the form of a veto (-1) in reply to the
>>>>> commit message sent when the commit is made. Note that this should be a
>>>>> rare
>>>>> occurrence. All efforts should be made to discuss issues when they are
>>>>> still
>>>>> patches before the code is committed.
>>>>>
>>>>> Approvals
>>>>> These are the types of approvals that can be sought. Different actions
>>>>> require different types of approvals.
>>>>>
>>>>> Approval Type    Definition
>>>>> Consensus        For this to pass, all voters with binding votes must
>>>>> vote
>>>>> and there can be no binding vetoes (-1). Consensus votes are rarely
>>>>> required
>>>>> due to the impracticality of getting all eligible voters to cast a vote.
>>>>> Lazy Consensus    Lazy consensus requires 3 binding +1 votes and no
>>>>> binding
>>>>> vetoes.
>>>>> Lazy Majority    A lazy majority vote requires 3 binding +1 votes and
>>>>> more
>>>>> binding +1 votes that -1 votes.
>>>>> Lazy Approval    An action with lazy approval is implicitly allowed
>>>>> unless a
>>>>> -1 vote is received, at which time, depending on the type of action,
>>>>> either
>>>>> lazy majority or lazy consensus approval must be obtained.
>>>>> 2/3 Majority    Some actions require a 2/3 majority of active committers
>>>>> or
>>>>> PMC members to pass. Such actions typically affect the foundation of the
>>>>> project (e.g. adopting a new codebase to replace an existing product).
>>>>> The
>>>>> higher threshold is designed to ensure such changes are strongly
>>>>> supported.
>>>>> To pass this vote requires at least 2/3 of binding vote holders to vote
>>>>> +1.
>>>>>
>>>>> Vetoes
>>>>> A valid, binding veto cannot be overruled. If a veto is cast, it must be
>>>>> accompanied by a valid reason explaining the reasons for the veto. The
>>>>> validity of a veto, if challenged, can be confirmed by anyone who has a
>>>>> binding vote. This does not necessarily signify agreement with the veto -
>>>>> merely that the veto is valid.
>>>>>
>>>>> If you disagree with a valid veto, you must lobby the person casting the
>>>>> veto to withdraw his or her veto. If a veto is not withdrawn, the action
>>>>> that has been vetoed must be reversed in a timely manner.
>>>>>
>>>>> Actions
>>>>> This section describes the various actions which are undertaken within
>>>>> the
>>>>> project, the corresponding approval required for that action and those
>>>>> who
>>>>> have binding votes over the action. It also specifies the minimum length
>>>>> of
>>>>> time that a vote must remain open, measured in business days. In general
>>>>> votes should not be called at times when it is known that interested
>>>>> members
>>>>> of the project will be unavailable.
>>>>>
>>>>> Action    Description    Approval    Binding Votes    Minimum Length
>>>>> Code Change    A change made to a codebase of the project and committed
>>>>> by a
>>>>> committer. This includes source code, documentation, website content,
>>>>> etc.
>>>>>  Lazy approval (not counting the vote of the contributor), moving to lazy
>>>>> majority if a -1 is received    Active committers    1
>>>>> Release Plan    Defines the timetable and actions for a release. The plan
>>>>> also nominates a Release Manager.    Lazy majority    Active committers
>>>>>  3
>>>>> Product Release    When a release of one of the project's products is
>>>>> ready,
>>>>> a vote is required to accept the release as an official release of the
>>>>> project.    Lazy Majority    Active PMC members    3
>>>>> Adoption of New Codebase    When the codebase for an existing, released
>>>>> product is to be replaced with an alternative codebase. If such a vote
>>>>> fails
>>>>> to gain approval, the existing code base will continue. This also covers
>>>>> the
>>>>> creation of new sub-projects within the project.    2/3 majority
>>>>>  Active
>>>>> PMC members    6
>>>>> New Committer or reinstatement   When a new committer is proposed for the
>>>>> project.    Lazy consensus    Active PMC members    3
>>>>> New PMC Member or reinstatement    When a committer is proposed for the
>>>>> PMC.
>>>>>    Lazy consensus    Active PMC members    3
>>>>> Committer Removal    When removal of commit privileges is sought. Note:
>>>>> Such
>>>>> actions will also be referred to the ASF board by the PMC chair.
>>>>>  Consensus    Active PMC members (excluding the committer in question if
>>>>> a
>>>>> member of the PMC).    6
>>>>> PMC Member Removal    When removal of a PMC member is sought. Note: Such
>>>>> actions will also be referred to the ASF board by the PMC chair.
>>>>>  Consensus    Active PMC members (excluding the member in question).    6
>>>>> Modifying Bylaws    Modifying this document.    2/3 majority    Active
>>>>> PMC
>>>>> members    6
>>>>>
>>>>>
>>>
>>>
>>
>
>

Reply via email to