Pegasus Enhancement Proposal (PEP)

PEP #: 336

Title: OpenPegasus Community Review and Approval Process

Version: 1.3

Created: 15 September 2008

Authors: Denise Eckstein

Status:  Approved

Version History:

Version Date Author Change Description
1.0 15 Sept 2008 Denise Eckstein Initial Submission
1.1 18 Sept 2008 Denise Eckstein
  • Changed voting process from Architecture Team ballot to e-mail.
  • Significantly changed voting rules.
  • Added a couple of FAQs.
  • 1.2 04 Oct 2008 Denise Eckstein
  • Reorganized to reduce the number of terms that are used before being defined.
  • Added "Project Management Committee (PMC)" section.
  • Added table summarizing role characteristics.
  • Updated Voting Approval section to clarify lazy voting.
  • Added Initial Acceptance and Final Approval Duration columns to the "Level of Approval" table.
  • Added FAQ 6.
  • Updated "Process Steps" section.
  • 1.3 07 Oct 2008 Denise Eckstein
  • Allow emeritus members to retain write access.
  • Changed "Program Management" to "Project Management".
  • Added table numbers
  • Changed approval level for "Grant committer rights" and "Invite a developer to join the PMC" to lazy consensus.
  • Added a note that emeritus status will not be granted to an individual whose rights or membership have been revoked.
  • Added reference to PEP 337, OpenPegasus Binding Vote Processes.
  • Changed minimum duration dates.
  • Changed termination sentence in PMC section.
  • Removed the automatic condition to change an active member's status to emeritus.
  • Added a statement allowing votes to close early if all individuals with binding voter rights have voted.
  • Added clarification statement to Tallying Votes section.
  • Approved - Architecture Team Ballot 158
  •  


    Abstract:  The purpose of this PEP is to define an offline review and approval process for enhancements, controversial bug fixes and Concept and Functional PEPs.  This process has been specifically designed for a geographically dispersed community.  In addition, it serves as a transition step towards moving the OpenPegasus Community to a meritocracy modeled after the Apache Software Foundation (ASF) meritocracy process, How the ASF works.


    Definition of the Problem

    PEP 321 - The Patch Approver Process, http://www.openpegasus.org/pp/uploads/40/16208/PEP321_PatchApprovalProcess.htm,  defines a low-cost, fast-cycle process for approving non-enhancement, uncontroversial patches.  The purpose of this PEP is to define an offline review and approval process for enhancements, controversial bug fixes and Concept and Functional PEPs.

    Requirements

    The following set of requirements have been defined for this process.
    1. Increase community visibility and involvement in Architecture Team design discussions.
    2. Allow full participation in the process by a geographically distributed community.
    3. Increase the quantity and quality of patch and enhancement proposals.
    4. Reduce the number of, or potentially eliminate, Architecture Team meetings.
    5. Grow the number of OpenPegasus experts.

    Proposed Solution

    Significant portions of this proposal are based on policies defined by various Apache Projects, http://www.apache.org/.

    Organizational Structure

    Project Management Committee (PMC)

    Community Roles

    The following roles are defined for members of the OpenPegasus Community:

    The following table summarizes key aspects of the OpenPegasus Community roles.

    The current list of OpenPegasus PMC members and committers can be found at http://www.openpegasus.org/Contributors.

    Voting Rules

    All members of the OpenPegasus Community are encouraged to express their opinion by voting.  And although only the votes of individuals who have earned merit count (i.e., are binding),  non-binding votes provide invaluable input to those with binding rights.  The following three tables describe (1) valid voting values, (2) the types of approval used by the OpenPegasus Community and (2)  the level of approval required for various actions. 

    Voting Values

    A vote can be one of the following three values:

    Approval Types

    For certain actions, the OpenPegasus Community processes allow voting by "lazy consensus" or "lazy approval".  With lazy voting, "silence" is assumed to mean consent.  An action under a lazy vote is allowed to proceed after satisfying an initial set of conditions but before final approval.   During the period between initial acceptance and final approval the action is still subject to veto. 

    Level of Approvals

    The following table describes the level of approval required for various action.  The "Initial Acceptance Min Vote Duration" column defines the minimum amount of time a lazy vote must remain open before receiving initial acceptance approval.  The "Final Approval Min Vote Duration" column defines the minimum amount of time a lazy vote must be open before receiving final approval.  Both times start when the ballot is opened.  The vote duration times for a particular ballot may be extended by the ballot sponsor or by request from the Community.  The "Voter Distribution List" column defines the appropriate e-mail list to send the vote announcement. For additional details, please refer to the "Process Steps" section below.

    Note: A vote may close before the minimum vote duration time,  if all individuals with binding voter rights have voted.

    In the "Voter Distribution List" column,  DEVEL refers to the pegasus-architecture@openpegasus.org distribution list, PMC refers to the pegasus-pmc@openpegasus.org distribution list.

    Process Steps

    This section describes the voting process steps.


    Frequently Asked Questions

    1. Do I have to use this new process?

    2. Does this loosen the requirement to test patches before submitting?

    3. Is there a statute of limitations on voicing an veto?
    4. What should I do if a committer is not addressing my veto?
    5. As a committer, what should I do if I feel someone is misusing their veto power?
    6. During the initial acceptance period of a lazy vote I voted "Yes [+1]".  However, after further discussion and consideration, I would like change my vote.  Is this possible?

    Copyright (c) 2004 EMC Corporation; Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation
    Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; EMC Corporation; Symantec Corporation; The Open Group.

    Permission is hereby granted, free of charge, to any person obtaining a copy  of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    Template last modified: March 26th 2006 by Martin Kirk
    Template version: 1.11